Changeset 985 in 3DVCSoftware


Ignore:
Timestamp:
14 Jul 2014, 04:02:17 (10 years ago)
Author:
qualcomm
Message:

Integration of JCT3V-I0129

Location:
branches/HTM-11.2-dev2-Qualcomm
Files:
2 added
3 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-11.2-dev2-Qualcomm/source/Lib/TLibCommon/TComPrediction.cpp

    r976 r985  
    13081308  pcCU->clipMv(cMv);
    13091309  TComPicYuv* pcPicYuvRef = pcCU->getSlice()->getRefPic( eRefPicList, iRefIdx )->getPicYuvRec();
     1310#if QC_I0129_ARP_FIX
     1311  xPredInterLumaBlk  ( pcCU, pcPicYuvRef, uiPartAddr, &cMv, iWidth, iHeight, rpcYuvPred, bi || ( dW > 0 ), true );
     1312  xPredInterChromaBlk( pcCU, pcPicYuvRef, uiPartAddr, &cMv, iWidth, iHeight, rpcYuvPred, bi || ( dW > 0 ), true );
     1313#else
    13101314  xPredInterLumaBlk  ( pcCU, pcPicYuvRef, uiPartAddr, &cMv, iWidth, iHeight, rpcYuvPred, bi, true );
    13111315  xPredInterChromaBlk( pcCU, pcPicYuvRef, uiPartAddr, &cMv, iWidth, iHeight, rpcYuvPred, bi, true );
    1312 
     1316#endif
    13131317  if( dW > 0 )
    13141318  {
     
    13261330   
    13271331    pcPicYuvRef = pcPicYuvBaseCol->getPicYuvRec();
     1332#if QC_I0129_ARP_FIX
     1333    xPredInterLumaBlk  ( pcCU, pcPicYuvRef, uiPartAddr, &cNBDV, iWidth, iHeight, pYuvB0, true, true );
     1334    xPredInterChromaBlk( pcCU, pcPicYuvRef, uiPartAddr, &cNBDV, iWidth, iHeight, pYuvB0, true, true );
     1335#else
    13281336    xPredInterLumaBlk  ( pcCU, pcPicYuvRef, uiPartAddr, &cNBDV, iWidth, iHeight, pYuvB0, bi, true );
    13291337    xPredInterChromaBlk( pcCU, pcPicYuvRef, uiPartAddr, &cNBDV, iWidth, iHeight, pYuvB0, bi, true );
     1338#endif
    13301339#else
    13311340    pcPicYuvRef = pcPicYuvBaseCol->getPicYuvRec();
     
    13351344   
    13361345    pcPicYuvRef = pcPicYuvBaseRef->getPicYuvRec();
     1346#if QC_I0129_ARP_FIX
     1347    xPredInterLumaBlk  ( pcCU, pcPicYuvRef, uiPartAddr, &cMVwithDisparity, iWidth, iHeight, pYuvB1, true, true );
     1348    xPredInterChromaBlk( pcCU, pcPicYuvRef, uiPartAddr, &cMVwithDisparity, iWidth, iHeight, pYuvB1, true, true );
     1349#else
    13371350    xPredInterLumaBlk  ( pcCU, pcPicYuvRef, uiPartAddr, &cMVwithDisparity, iWidth, iHeight, pYuvB1, bi, true );
    13381351    xPredInterChromaBlk( pcCU, pcPicYuvRef, uiPartAddr, &cMVwithDisparity, iWidth, iHeight, pYuvB1, bi, true );
    1339 
     1352#endif
    13401353    pYuvB0->subtractARP( pYuvB0 , pYuvB1 , uiPartAddr , iWidth , iHeight );
    13411354
     
    14211434    pcPicYuvCurrTRef =  pcCU->getSlice()->getRefPic  (eRefPicList,  pcCU->getSlice()->getFirstTRefIdx(eRefPicList));     
    14221435  }
    1423 
     1436#if QC_I0129_ARP_FIX
     1437  xPredInterLumaBlk  ( pcCU, pcYuvBaseCol, uiPartAddr, &cTempDMv, iWidth, iHeight, rpcYuvPred, bi || ( dW > 0 && bTMVAvai ),        bTMVAvai);
     1438  xPredInterChromaBlk( pcCU, pcYuvBaseCol, uiPartAddr, &cTempDMv, iWidth, iHeight, rpcYuvPred, bi || ( dW > 0 && bTMVAvai ),        bTMVAvai);
     1439#else
    14241440  xPredInterLumaBlk  ( pcCU, pcYuvBaseCol, uiPartAddr, &cTempDMv, iWidth, iHeight, rpcYuvPred, bi,        bTMVAvai);
    14251441  xPredInterChromaBlk( pcCU, pcYuvBaseCol, uiPartAddr, &cTempDMv, iWidth, iHeight, rpcYuvPred, bi,        bTMVAvai);
    1426 
     1442#endif
    14271443  if( dW > 0 && bTMVAvai )
    14281444  {
     
    14351451    pcCU->clipMv(cBaseTMV);
    14361452    pcCU->clipMv(cTempMv);
    1437 
     1453#if QC_I0129_ARP_FIX
     1454    xPredInterLumaBlk  ( pcCU, pcYuvCurrTref, uiPartAddr, &cBaseTMV, iWidth, iHeight, pYuvCurrTRef, true,   true);
     1455    xPredInterChromaBlk( pcCU, pcYuvCurrTref, uiPartAddr, &cBaseTMV, iWidth, iHeight, pYuvCurrTRef, true,   true);
     1456    xPredInterLumaBlk  ( pcCU, pcYuvBaseTref, uiPartAddr, &cTempMv,  iWidth, iHeight, pYuvBaseTRef, true,   true);
     1457    xPredInterChromaBlk( pcCU, pcYuvBaseTref, uiPartAddr, &cTempMv,  iWidth, iHeight, pYuvBaseTRef, true,   true);
     1458#else
    14381459    xPredInterLumaBlk  ( pcCU, pcYuvCurrTref, uiPartAddr, &cBaseTMV, iWidth, iHeight, pYuvCurrTRef, bi,   true);
    14391460    xPredInterChromaBlk( pcCU, pcYuvCurrTref, uiPartAddr, &cBaseTMV, iWidth, iHeight, pYuvCurrTRef, bi,   true);
    14401461    xPredInterLumaBlk  ( pcCU, pcYuvBaseTref, uiPartAddr, &cTempMv,  iWidth, iHeight, pYuvBaseTRef, bi,   true);
    14411462    xPredInterChromaBlk( pcCU, pcYuvBaseTref, uiPartAddr, &cTempMv,  iWidth, iHeight, pYuvBaseTRef, bi,   true);
    1442 
     1463#endif
    14431464    pYuvCurrTRef->subtractARP( pYuvCurrTRef , pYuvBaseTRef , uiPartAddr , iWidth , iHeight ); 
    14441465    if(dW == 2)
  • branches/HTM-11.2-dev2-Qualcomm/source/Lib/TLibCommon/TComYuv.cpp

    r872 r985  
    689689  UInt iSrc1Stride = pcYuvSrc1->getStride();
    690690  UInt iDstStride  = getStride();
     691#if QC_I0129_ARP_FIX
     692  Int iIFshift = IF_INTERNAL_PREC - g_bitDepthY;
     693  Int iOffSet  = ( 1 << ( iIFshift - 1 ) ) + IF_INTERNAL_OFFS;
     694#endif
    691695  for ( y = uiHeight-1; y >= 0; y-- )
    692696  {
     
    696700      if( bClip )
    697701      {
     702#if QC_I0129_ARP_FIX
     703        pDst[x] = ClipY( ( pDst[x] + iOffSet ) >> iIFshift );
     704#else
    698705        pDst[x] = ClipY( pDst[x] );
     706#endif
    699707      }
    700708    }
     
    719727  UInt  iSrc1Stride = pcYuvSrc1->getCStride();
    720728  UInt  iDstStride  = getCStride();
     729#if QC_I0129_ARP_FIX
     730  Int iIFshift = IF_INTERNAL_PREC - g_bitDepthC;
     731  Int iOffSet  = ( 1 << ( iIFshift - 1 ) ) + IF_INTERNAL_OFFS;
     732#endif
    721733  for ( y = uiHeight-1; y >= 0; y-- )
    722734  {
     
    727739      if( bClip )
    728740      {
     741#if QC_I0129_ARP_FIX
     742        pDstU[x] = ClipC( ( pDstU[x] + iOffSet ) >> iIFshift );
     743        pDstV[x] = ClipC( ( pDstV[x] + iOffSet ) >> iIFshift );
     744#else
    729745        pDstU[x] = ClipC( pDstU[x] );
    730746        pDstV[x] = ClipC( pDstV[x] );
     747#endif
    731748      }
    732749    }
  • branches/HTM-11.2-dev2-Qualcomm/source/Lib/TLibCommon/TypeDef.h

    r976 r985  
    283283#if H_3D_ARP
    284284#define H_3D_ARP_WFNR                     3
     285#define QC_I0129_ARP_FIX                  1
    285286#endif
    286287
     
    381382
    382383// OTHERS
    383 //#define H_MV_HLS_8_HSB_Q0041_03  0 // #3  (HS     /Q0041/hybrid scalability) The proposed text was endorsed, with non-editorial open issues considered as follows
    384 :// #define H_MV_HLS_7_OTHER_P0187_1          0 // (OTHER/P0187/NoOutputOfPriorPicsFlag) #1 Inference of NoOutputOfPriorPicsFlag and proposes to take into account colour format and bit depth for the inference in addition to spatial resolution
     384//#define H_MV_HLS_8_HSB_Q0041_03  0 // #3  (HS     /Q0041/hybrid scalability) The proposed text was endorsed, with non-editorial open issues considered as follows ?// #define H_MV_HLS_7_OTHER_P0187_1          0 // (OTHER/P0187/NoOutputOfPriorPicsFlag) #1 Inference of NoOutputOfPriorPicsFlag and proposes to take into account colour format and bit depth for the inference in addition to spatial resolution
    385385//#define H_MV_HLS_8_MIS_Q0078_24  0 // #24 (MISC   /Q0078/scan and pic type) , Items 3 b,c and 4, clarifying which pictures in an output layer sets are applied the values of general_progressive_source_flag, general_interlaced_source_flag, general_non_packed_constraint_flag and general_frame_only_constraint_flag.
    386386//#define H_MV_HLS_7_HRD_P0138_6   0 //     (HRD/P0138/HRD parameters for bitstreams excluding) #6 Decision: Adopt (as revised in updated contribution, with the specification of a flag in the BP SEI (HRD/P0192/sub-DPB) #12 Establish sub-DPBs based on the representation format indicated at the VPS level. It was suggested that the expressed shared capacity limit would need to be less than or equal to the sum of the individual capacity limits. Decision: Adopt as modified. Further study is encouraged on profile/level constraint selections.
Note: See TracChangeset for help on using the changeset viewer.