Ignore:
Timestamp:
13 Jul 2013, 15:51:26 (12 years ago)
Author:
tech
Message:

Update to HM 11.0.

Location:
branches/HTM-DEV-0.3-dev2/source/Lib/TLibCommon
Files:
15 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-DEV-0.3-dev2/source/Lib/TLibCommon/CommonDef.h

    r479 r537  
    115115#define MAX_NUM_REF_PICS            16          ///< max. number of pictures used for reference
    116116#define MAX_NUM_REF                 16          ///< max. number of entries in picture reference list
    117 #if !L0034_COMBINED_LIST_CLEANUP
    118 #define MAX_NUM_REF_LC              MAX_NUM_REF_PICS  // TODO: remove this macro definition (leftover from combined list concept)
    119 #endif
    120117
    121118#define MAX_UINT                    0xFFFFFFFFU ///< max. value of unsigned 32-bit integer
  • branches/HTM-DEV-0.3-dev2/source/Lib/TLibCommon/NAL.h

    r446 r537  
    9494        || m_nalUnitType == NAL_UNIT_CODED_SLICE_RASL_R;
    9595  }
    96 #if L0045_NON_NESTED_SEI_RESTRICTIONS
    9796  Bool isSei()
    9897  {
     
    105104    return ( (UInt)m_nalUnitType < 32 );
    106105  }
    107 #endif
    108106};
    109107
  • branches/HTM-DEV-0.3-dev2/source/Lib/TLibCommon/SEI.cpp

    r446 r537  
    3939#include "SEI.h"
    4040
    41 #if J0149_TONE_MAPPING_SEI
    4241//Table D-7 Meaning of camera iso sensitivity indicator and exposure index rating indicator
    4342Int  Table_exp_indicator[32] = {0, 10, 12, 16, 20, 25, 32, 40, 50, 64, 80, 100, 125, 160, 200, 250, 320, 400, 500, 640, 800, 1000, 1250, 1600, 2000, 2500, 3200, 4000, 5000, 6400, 8000, -1};
    44 #endif
    4543
    4644SEIMessages getSeisByType(SEIMessages &seiList, SEI::PayloadType seiType)
  • branches/HTM-DEV-0.3-dev2/source/Lib/TLibCommon/SEI.h

    r446 r537  
    124124
    125125  SEIActiveParameterSets()
    126 #if !L0047_APS_FLAGS
    127     :numSpsIdsMinus1(0)
    128 #else
    129126    : activeVPSId            (0)
    130127    , m_fullRandomAccessFlag (false)
    131128    , m_noParamSetUpdateFlag (false)
    132129    , numSpsIdsMinus1        (0)
    133 #endif
    134130  {}
    135131  virtual ~SEIActiveParameterSets() {}
    136132
    137133  Int activeVPSId;
    138 #if L0047_APS_FLAGS
    139134  Bool m_fullRandomAccessFlag;
    140135  Bool m_noParamSetUpdateFlag;
    141 #endif
    142136  Int numSpsIdsMinus1;
    143137  std::vector<Int> activeSeqParamSetId;
     
    150144
    151145  SEIBufferingPeriod()
    152 #if L0044_CPB_DPB_DELAY_OFFSET
    153146  : m_bpSeqParameterSetId (0)
    154147  , m_rapCpbParamsPresentFlag (false)
     
    161154    ::memset(m_initialAltCpbRemovalDelayOffset, 0, sizeof(m_initialAltCpbRemovalDelayOffset));
    162155  }
    163 #else
    164   {}
    165 #endif
    166156  virtual ~SEIBufferingPeriod() {}
    167157
    168158  UInt m_bpSeqParameterSetId;
    169159  Bool m_rapCpbParamsPresentFlag;
    170 #if L0044_CPB_DPB_DELAY_OFFSET
    171160  Bool m_cpbDelayOffset;
    172161  Bool m_dpbDelayOffset;
    173 #endif
    174162  UInt m_initialCpbRemovalDelay         [MAX_CPB_CNT][2];
    175163  UInt m_initialCpbRemovalDelayOffset   [MAX_CPB_CNT][2];
    176164  UInt m_initialAltCpbRemovalDelay      [MAX_CPB_CNT][2];
    177165  UInt m_initialAltCpbRemovalDelayOffset[MAX_CPB_CNT][2];
    178 #if L0328_SPLICING
    179166  Bool m_concatenationFlag;
    180167  UInt m_auCpbRemovalDelayDelta;
    181 #endif
    182168};
    183169class SEIPictureTiming : public SEI
     
    188174  SEIPictureTiming()
    189175  : m_picStruct               (0)
    190 #if L0046_RENAME_PROG_SRC_IDC
    191176  , m_sourceScanType          (0)
    192 #else
    193   , m_progressiveSourceIdc    (0)
    194 #endif
    195177  , m_duplicateFlag           (false)
    196 #if L0044_DU_DPB_OUTPUT_DELAY_HRD
    197178  , m_picDpbOutputDuDelay     (0)
    198 #endif
    199179  , m_numNalusInDuMinus1      (NULL)
    200180  , m_duCpbRemovalDelayMinus1 (NULL)
     
    213193
    214194  UInt  m_picStruct;
    215 #if L0046_RENAME_PROG_SRC_IDC
    216195  UInt  m_sourceScanType;
    217 #else
    218   UInt  m_progressiveSourceIdc;
    219 #endif
    220196  Bool  m_duplicateFlag;
    221197
    222198  UInt  m_auCpbRemovalDelay;
    223199  UInt  m_picDpbOutputDelay;
    224 #if L0044_DU_DPB_OUTPUT_DELAY_HRD
    225200  UInt  m_picDpbOutputDuDelay;
    226 #endif
    227201  UInt  m_numDecodingUnitsMinus1;
    228202  Bool  m_duCommonCpbRemovalDelayFlag;
     
    240214    : m_decodingUnitIdx(0)
    241215    , m_duSptCpbRemovalDelay(0)
    242 #if L0044_DU_DPB_OUTPUT_DELAY_HRD
    243216    , m_dpbOutputDuDelayPresentFlag(false)
    244217    , m_picSptDpbOutputDuDelay(0)
    245 #endif
    246218  {}
    247219  virtual ~SEIDecodingUnitInfo() {}
    248220  Int m_decodingUnitIdx;
    249221  Int m_duSptCpbRemovalDelay;
    250 #if L0044_DU_DPB_OUTPUT_DELAY_HRD
    251222  Bool m_dpbOutputDuDelayPresentFlag;
    252223  Int m_picSptDpbOutputDuDelay;
    253 #endif
    254224};
    255225
     
    290260  Int  m_frame1GridPositionY;
    291261  Int  m_arrangementReservedByte;
    292 #if L0045_PERSISTENCE_FLAGS
    293262  Bool m_arrangementPersistenceFlag;
    294 #else
    295   Int  m_arrangementRepetetionPeriod;
    296 #endif
    297263  Bool m_upsampledAspectRatio;
    298264};
     
    305271  SEIDisplayOrientation()
    306272    : cancelFlag(true)
    307 #if L0045_PERSISTENCE_FLAGS
    308273    , persistenceFlag(0)
    309 #else
    310     , repetitionPeriod(1)
    311 #endif
    312274    , extensionFlag(false)
    313275    {}
     
    319281
    320282  UInt anticlockwiseRotation;
    321 #if L0045_PERSISTENCE_FLAGS
    322283  Bool persistenceFlag;
    323 #else
    324   UInt repetitionPeriod;
    325 #endif
    326284  Bool extensionFlag;
    327285};
     
    355313};
    356314
    357 #if L0208_SOP_DESCRIPTION_SEI
    358315class SEISOPDescription : public SEI
    359316{
     
    372329  Int m_sopDescPocDelta[MAX_NUM_PICS_IN_SOP];
    373330};
    374 #endif
    375 
    376 #if J0149_TONE_MAPPING_SEI
     331
    377332class SEIToneMappingInfo : public SEI
    378333{
     
    407362  Int    m_extendedWhiteLevelLumaCodeValue;
    408363};
    409 #endif
    410364
    411365typedef std::list<SEI*> SEIMessages;
     
    420374Void deleteSEIs (SEIMessages &seiList);
    421375
    422 #if K0180_SCALABLE_NESTING_SEI
    423376class SEIScalableNesting : public SEI
    424377{
     
    450403  SEIMessages m_nestedSEIs;
    451404};
    452 #endif
    453405
    454406//! \}
  • branches/HTM-DEV-0.3-dev2/source/Lib/TLibCommon/TComBitStream.h

    r446 r537  
    193193  }
    194194
     195  Void        peekPreviousByte( UInt &byte )
     196  {
     197    assert(m_fifo_idx > 0);
     198    byte = (*m_fifo)[m_fifo_idx - 1];
     199  }
     200 
    195201  Void        readOutTrailingBits ();
    196202  UChar getHeldBits  ()          { return m_held_bits;          }
  • branches/HTM-DEV-0.3-dev2/source/Lib/TLibCommon/TComDataCU.cpp

    r534 r537  
    136136#endif
    137137#endif
    138 
    139138  m_bDecSubCu          = false;
    140139  m_sliceStartCU        = 0;
     
    143142  m_pDvInfo              = NULL;
    144143#endif
    145 
    146144#if H_3D_VSP
    147145  m_piVSPFlag            = NULL;
    148146#endif
    149 
    150147#if H_3D_ARP
    151148  m_puhARPW              = NULL;
    152149#endif
    153 
    154150#if H_3D_IC
    155151  m_pbICFlag             = NULL;
     
    783779  }
    784780
    785   UInt uiTmp = uhWidth*uhHeight;
    786 
    787781  if(getPic()->getPicSym()->getInverseCUOrderMap(getAddr())*m_pcPic->getNumPartInCU()+m_uiAbsIdxInLCU >= getSlice()->getSliceSegmentCurStartCUAddr())
    788782  {
    789783    m_acCUMvField[0].clearMvField();
    790784    m_acCUMvField[1].clearMvField();
    791     uiTmp = uhWidth*uhHeight;
     785    UInt uiTmp = uhWidth*uhHeight;
    792786   
    793787    memset( m_pcTrCoeffY,    0, uiTmp * sizeof( *m_pcTrCoeffY    ) );
     
    10561050  m_uiCUPelY           = pcCU->getCUPelY() + g_auiRasterToPelY[ g_auiZscanToRaster[uiAbsPartIdx] ];
    10571051 
    1058   UInt uiWidth         = g_uiMaxCUWidth  >> uiDepth;
    1059   UInt uiHeight        = g_uiMaxCUHeight >> uiDepth;
    1060  
    10611052  m_skipFlag=pcCU->getSkipFlag()          + uiPart;
    10621053
     
    11391130  m_apcCUColocated[1] = pcCU->getCUColocated(REF_PIC_LIST_1);
    11401131 
    1141   UInt uiTmp = uiWidth*uiHeight;
    11421132  UInt uiMaxCuWidth=pcCU->getSlice()->getSPS()->getMaxCUWidth();
    11431133  UInt uiMaxCuHeight=pcCU->getSlice()->getSPS()->getMaxCUHeight();
     
    11511141  m_pcIPCMSampleY = pcCU->getPCMSampleY() + uiCoffOffset;
    11521142
    1153   uiTmp >>= 2;
    11541143  uiCoffOffset >>=2;
    11551144  m_pcTrCoeffCb=pcCU->getCoeffCb() + uiCoffOffset;
     
    13521341  memcpy( m_sliceStartCU        + uiOffset, pcCU->m_sliceStartCU,        sizeof( UInt ) * uiNumPartition  );
    13531342  memcpy( m_sliceSegmentStartCU + uiOffset, pcCU->m_sliceSegmentStartCU, sizeof( UInt ) * uiNumPartition  );
    1354 
    13551343#if H_3D_ARP
    13561344  memcpy( m_puhARPW             + uiOffset, pcCU->getARPW(),              iSizeInUchar );
     
    14301418#endif
    14311419#endif
    1432 
    14331420  memcpy( rpcCU->getDepth()  + m_uiAbsIdxInLCU, m_puhDepth,  iSizeInUchar );
    14341421  memcpy( rpcCU->getWidth()  + m_uiAbsIdxInLCU, m_puhWidth,  iSizeInUchar );
     
    14651452  memcpy( rpcCU->m_sliceStartCU        + m_uiAbsIdxInLCU, m_sliceStartCU,        sizeof( UInt ) * m_uiNumPartition  );
    14661453  memcpy( rpcCU->m_sliceSegmentStartCU + m_uiAbsIdxInLCU, m_sliceSegmentStartCU, sizeof( UInt ) * m_uiNumPartition  );
    1467 
    14681454#if H_3D_ARP
    14691455  memcpy( rpcCU->getARPW()             + m_uiAbsIdxInLCU, m_puhARPW,             iSizeInUchar );
     
    15391525#endif
    15401526#endif
    1541 
    15421527  memcpy( rpcCU->getDepth()  + uiPartOffset, m_puhDepth,  iSizeInUchar );
    15431528  memcpy( rpcCU->getWidth()  + uiPartOffset, m_puhWidth,  iSizeInUchar );
     
    15751560  memcpy( rpcCU->m_sliceStartCU        + uiPartOffset, m_sliceStartCU,        sizeof( UInt ) * uiQNumPart  );
    15761561  memcpy( rpcCU->m_sliceSegmentStartCU + uiPartOffset, m_sliceSegmentStartCU, sizeof( UInt ) * uiQNumPart  );
    1577 
    15781562#if H_3D_ARP
    15791563  memcpy( rpcCU->getARPW()             + uiPartOffset, m_puhARPW,             iSizeInUchar );
     
    20272011    return getSlice()->getSliceQp();
    20282012  }
    2029   else
    2030   if ( iLastValidPartIdx >= 0 )
     2013  else if ( iLastValidPartIdx >= 0 )
    20312014  {
    20322015    return getQP( iLastValidPartIdx );
     
    22552238}
    22562239#endif
    2257 
    22582240UInt TComDataCU::getCtxInterDir( UInt uiAbsPartIdx )
    22592241{
     
    24922474}
    24932475#endif
    2494 
    24952476Void TComDataCU::setMergeFlagSubParts ( Bool bMergeFlag, UInt uiAbsPartIdx, UInt uiPartIdx, UInt uiDepth )
    24962477{
     
    25092490}
    25102491#endif
    2511 
    25122492Void TComDataCU::setChromIntraDirSubParts( UInt uiDir, UInt uiAbsPartIdx, UInt uiDepth )
    25132493{
     
    30303010
    30313011#endif
    3032 
    30333012/** Constructs a list of merging candidates
    30343013 * \param uiAbsPartIdx
     
    31393118          pcTextureCU->getMvField( pcTextureCU, uiPartIdxCenter, REF_PIC_LIST_1, pcMvFieldNeighbours[(iCount<<1)+1] );
    31403119          TComMv cMvPred = pcMvFieldNeighbours[(iCount<<1)+1].getMv();
    3141 
    31423120#if H_3D_IC
    31433121          const TComMv cAdd( 1 << ( 2 - 1 ), 1 << ( 2 - 1 ) );
     
    35683546    //>> MTK colocated-RightBottom
    35693547    UInt uiPartIdxRB;
    3570     Int uiLCUIdx = getAddr();
    35713548
    35723549    deriveRightBottomIdx( uiPUIdx, uiPartIdxRB ); 
     
    35773554    TComMv cColMv;
    35783555    Int iRefIdx;
     3556    Int uiLCUIdx = -1;
    35793557
    35803558    if      ( ( m_pcPic->getCU(m_uiCUAddr)->getCUPelX() + g_auiRasterToPelX[uiAbsPartIdxTmp] + m_pcPic->getMinCUWidth() ) >= m_pcSlice->getSPS()->getPicWidthInLumaSamples() )  // image boundary check
    35813559    {
    3582       uiLCUIdx = -1;
    35833560    }
    35843561    else if ( ( m_pcPic->getCU(m_uiCUAddr)->getCUPelY() + g_auiRasterToPelY[uiAbsPartIdxTmp] + m_pcPic->getMinCUHeight() ) >= m_pcSlice->getSPS()->getPicHeightInLumaSamples() )
    35853562    {
    3586       uiLCUIdx = -1;
    35873563    }
    35883564    else
     
    35973573      {
    35983574        uiAbsPartAddr = g_auiRasterToZscan[ (uiAbsPartIdxTmp + uiNumPartInCUWidth + 1) % m_pcPic->getNumPartInCU() ];
    3599         uiLCUIdx = -1 ;
    36003575      }
    36013576      else if ( uiAbsPartIdxTmp / uiNumPartInCUWidth < m_pcPic->getNumPartInHeight() - 1 ) // is not at the last row of LCU But is last column of LCU
     
    36073582      {
    36083583        uiAbsPartAddr = 0;
    3609         uiLCUIdx = -1 ;
    36103584      }
    36113585    }
     
    38853859    if (!bAdded)
    38863860    {
    3887       bAdded = xAddMVPCandOrder( pInfo, eRefPicList, iRefIdx, uiPartIdxLB, MD_LEFT );
     3861      xAddMVPCandOrder( pInfo, eRefPicList, iRefIdx, uiPartIdxLB, MD_LEFT );
    38883862    }
    38893863  }
     
    38983872  if(!bAdded)
    38993873  {
    3900     bAdded = xAddMVPCand( pInfo, eRefPicList, iRefIdx, uiPartIdxLT, MD_ABOVE_LEFT);
     3874    xAddMVPCand( pInfo, eRefPicList, iRefIdx, uiPartIdxLT, MD_ABOVE_LEFT);
    39013875  }
    39023876  bAdded = bAddedSmvp;
     
    39133887    if(!bAdded)
    39143888    {
    3915       bAdded = xAddMVPCandOrder( pInfo, eRefPicList, iRefIdx, uiPartIdxLT, MD_ABOVE_LEFT);
     3889      xAddMVPCandOrder( pInfo, eRefPicList, iRefIdx, uiPartIdxLT, MD_ABOVE_LEFT);
    39163890    }
    39173891  }
     
    39333907    UInt uiAbsPartIdx; 
    39343908    UInt uiAbsPartAddr;
    3935     Int uiLCUIdx = getAddr();
    39363909
    39373910    deriveRightBottomIdx( uiPartIdx, uiPartIdxRB );
     
    39403913    //----  co-located RightBottom Temporal Predictor (H) ---//
    39413914    uiAbsPartIdx = g_auiZscanToRaster[uiPartIdxRB];
     3915    Int uiLCUIdx = -1;
    39423916    if ( ( m_pcPic->getCU(m_uiCUAddr)->getCUPelX() + g_auiRasterToPelX[uiAbsPartIdx] + m_pcPic->getMinCUWidth() ) >= m_pcSlice->getSPS()->getPicWidthInLumaSamples() )  // image boundary check
    39433917    {
    3944       uiLCUIdx = -1;
    39453918    }
    39463919    else if ( ( m_pcPic->getCU(m_uiCUAddr)->getCUPelY() + g_auiRasterToPelY[uiAbsPartIdx] + m_pcPic->getMinCUHeight() ) >= m_pcSlice->getSPS()->getPicHeightInLumaSamples() )
    39473920    {
    3948       uiLCUIdx = -1;
    39493921    }
    39503922    else
     
    39593931      {
    39603932        uiAbsPartAddr = g_auiRasterToZscan[ (uiAbsPartIdx + uiNumPartInCUWidth + 1) % m_pcPic->getNumPartInCU() ];
    3961         uiLCUIdx      = -1 ;
    39623933      }
    39633934      else if ( uiAbsPartIdx / uiNumPartInCUWidth < m_pcPic->getNumPartInHeight() - 1 ) // is not at the last row of LCU But is last column of LCU
     
    39693940      {
    39703941        uiAbsPartAddr = 0;
    3971         uiLCUIdx      = -1 ;
    39723942      }
    39733943    }
     
    40434013UInt TComDataCU::getIntraSizeIdx(UInt uiAbsPartIdx)
    40444014{
    4045   UInt uiShift = ( (m_puhTrIdx[uiAbsPartIdx]==0) && (m_pePartSize[uiAbsPartIdx]==SIZE_NxN) ) ? m_puhTrIdx[uiAbsPartIdx]+1 : m_puhTrIdx[uiAbsPartIdx];
    4046   uiShift = ( m_pePartSize[uiAbsPartIdx]==SIZE_NxN ? 1 : 0 );
     4015  UInt uiShift = ( m_pePartSize[uiAbsPartIdx]==SIZE_NxN ? 1 : 0 );
    40474016 
    40484017  UChar uiWidth = m_puhWidth[uiAbsPartIdx]>>uiShift;
     
    41304099  }
    41314100 
    4132 #if L0363_MVP_POC
    41334101  if ( pcTmpCU->getCUMvField(eRefPicList)->getRefIdx(uiIdx) >= 0 && m_pcSlice->getRefPic( eRefPicList, iRefIdx)->getPOC() == pcTmpCU->getSlice()->getRefPOC( eRefPicList, pcTmpCU->getCUMvField(eRefPicList)->getRefIdx(uiIdx) ))
    4134 #else
    4135   if ( m_pcSlice->isEqualRef(eRefPicList, pcTmpCU->getCUMvField(eRefPicList)->getRefIdx(uiIdx), iRefIdx) )
    4136 #endif
    41374102  {
    41384103    TComMv cMvPred = pcTmpCU->getCUMvField(eRefPicList)->getMv(uiIdx);
     
    43404305  }
    43414306  iCurrPOC = m_pcSlice->getPOC();   
    4342   iCurrRefPOC = m_pcSlice->getRefPic(eRefPicList, riRefIdx)->getPOC();
    43434307  iColPOC = pColCU->getSlice()->getPOC(); 
    43444308
  • branches/HTM-DEV-0.3-dev2/source/Lib/TLibCommon/TComLoopFilter.cpp

    r446 r537  
    461461        if ( ((piRefP0==piRefQ0)&&(piRefP1==piRefQ1)) || ((piRefP0==piRefQ1)&&(piRefP1==piRefQ0)) )
    462462        {
    463           uiBs = 0;
    464463          if ( piRefP0 != piRefP1 )   // Different L0 & L1
    465464          {
     
    694693  for ( UInt iIdx = 0; iIdx < uiNumParts; iIdx++ )
    695694  {
    696     ucBs = 0;
    697    
    698695    uiBsAbsIdx = xCalcBsIdx( pcCU, uiAbsZorderIdx, iDir, iEdge, iIdx);
    699696    ucBs = m_aapucBS[iDir][uiBsAbsIdx];
  • branches/HTM-DEV-0.3-dev2/source/Lib/TLibCommon/TComPrediction.cpp

    r532 r537  
    7676  m_acYuvPredBase[1].destroy();
    7777#endif
    78 
    7978  if( m_pLumaRecBuffer )
    8079  {
     
    146145Pel TComPrediction::predIntraGetPredValDC( Int* pSrc, Int iSrcStride, UInt iWidth, UInt iHeight, Bool bAbove, Bool bLeft )
    147146{
     147  assert(iWidth > 0 && iHeight > 0);
    148148  Int iInd, iSum = 0;
    149149  Pel pDcVal;
     
    934934  }
    935935#endif
    936 
    937936  if ( yFrac == 0 )
    938937  {
     
    12461245  return;
    12471246}
    1248 
    12491247#if H_3D_IC
    12501248/** Function for deriving the position of first non-zero binary bit of a value
  • branches/HTM-DEV-0.3-dev2/source/Lib/TLibCommon/TComRdCost.cpp

    r531 r537  
    570570#endif
    571571
    572 #if RATE_CONTROL_LAMBDA_DOMAIN
     572#if RATE_CONTROL_LAMBDA_DOMAIN && !M0036_RC_IMPROVEMENT
    573573UInt TComRdCost::getSADPart ( Int bitDepth, Pel* pelCur, Int curStride,  Pel* pelOrg, Int orgStride, UInt width, UInt height )
    574574{
     
    636636    return xGetSADw( pcDtParam );
    637637  }
    638 
    639638#if H_3D_IC
    640639  if( pcDtParam->bUseIC )
     
    643642  }
    644643#endif
    645 
    646644  Pel* piOrg   = pcDtParam->pOrg;
    647645  Pel* piCur   = pcDtParam->pCur;
     
    675673    return xGetSADw( pcDtParam );
    676674  }
    677 
    678675#if H_3D_IC
    679676  if( pcDtParam->bUseIC )
     
    682679  }
    683680#endif
    684 
    685681  Pel* piOrg      = pcDtParam->pOrg;
    686682  Pel* piCur      = pcDtParam->pCur;
     
    718714    return xGetSADw( pcDtParam );
    719715  }
    720 
    721716#if H_3D_IC
    722717  if( pcDtParam->bUseIC )
     
    725720  }
    726721#endif
    727 
    728722  Pel* piOrg   = pcDtParam->pOrg;
    729723  Pel* piCur   = pcDtParam->pCur;
     
    770764    return xGetSADw( pcDtParam );
    771765  }
    772 
    773766#if H_3D_IC
    774767  if( pcDtParam->bUseIC )
     
    777770  }
    778771#endif
    779 
    780772  Pel* piOrg   = pcDtParam->pOrg;
    781773  Pel* piCur   = pcDtParam->pCur;
     
    820812  }
    821813#endif
    822 
    823814  Pel* piOrg   = pcDtParam->pOrg;
    824815  Pel* piCur   = pcDtParam->pCur;
     
    867858    return xGetSADw( pcDtParam );
    868859  }
    869 
    870860#if H_3D_IC
    871861  if( pcDtParam->bUseIC )
     
    874864  }
    875865#endif
    876 
    877866  Pel* piOrg   = pcDtParam->pOrg;
    878867  Pel* piCur   = pcDtParam->pCur;
     
    935924    return xGetSADw( pcDtParam );
    936925  }
    937 
    938926#if H_3D_IC
    939927  if( pcDtParam->bUseIC )
     
    942930  }
    943931#endif
    944 
    945932  Pel* piOrg   = pcDtParam->pOrg;
    946933  Pel* piCur   = pcDtParam->pCur;
     
    996983    return xGetSADw( pcDtParam );
    997984  }
    998 
    999985#if H_3D_IC
    1000986  if( pcDtParam->bUseIC )
     
    1003989  }
    1004990#endif
    1005 
    1006991  Pel* piOrg   = pcDtParam->pOrg;
    1007992  Pel* piCur   = pcDtParam->pCur;
     
    10961081    return xGetSADw( pcDtParam );
    10971082  }
    1098 
    10991083#if H_3D_IC
    11001084  if( pcDtParam->bUseIC )
     
    11031087  }
    11041088#endif
    1105 
    11061089  Pel* piOrg   = pcDtParam->pOrg;
    11071090  Pel* piCur   = pcDtParam->pCur;
     
    34203403    return xGetHADsw( pcDtParam );
    34213404  }
    3422 
    34233405#if H_3D_IC
    34243406  if( pcDtParam->bUseIC )
     
    34273409  }
    34283410#endif
    3429 
    34303411  Pel* piOrg   = pcDtParam->pOrg;
    34313412  Pel* piCur   = pcDtParam->pCur;
  • branches/HTM-DEV-0.3-dev2/source/Lib/TLibCommon/TComRdCost.h

    r504 r537  
    209209#if RATE_CONTROL_LAMBDA_DOMAIN
    210210  Double  getLambda() { return m_dLambda; }
     211#if M0036_RC_IMPROVEMENT
     212  Double  getChromaWeight () {return((m_cbDistortionWeight+m_crDistortionWeight)/2.0);}
     213#endif
    211214#endif
    212215 
     
    331334#endif
    332335
    333 #if RATE_CONTROL_LAMBDA_DOMAIN
     336#if RATE_CONTROL_LAMBDA_DOMAIN && !M0036_RC_IMPROVEMENT
    334337  UInt   getSADPart ( Int bitDepth, Pel* pelCur, Int curStride,  Pel* pelOrg, Int orgStride, UInt width, UInt height );
    335338#endif
  • branches/HTM-DEV-0.3-dev2/source/Lib/TLibCommon/TComSlice.cpp

    r534 r537  
    6060, m_deblockingFilterBetaOffsetDiv2 ( 0 )
    6161, m_deblockingFilterTcOffsetDiv2   ( 0 )
    62 #if !L0034_COMBINED_LIST_CLEANUP
    63 , m_bRefPicListModificationFlagLC ( false )
    64 , m_bRefPicListCombinationFlag    ( false )
    65 #endif
    6662, m_bCheckLDC                     ( false )
    6763, m_iSliceQpDelta                 ( 0 )
     
    8076#else
    8177, m_dLambda                       ( 0.0 )
    82 #endif
    83 #if !L0034_COMBINED_LIST_CLEANUP
    84 , m_bNoBackPredFlag               ( false )
    8578#endif
    8679, m_uiTLayer                      ( 0 )
     
    131124#endif
    132125{
    133 #if L0034_COMBINED_LIST_CLEANUP
    134126  m_aiNumRefIdx[0] = m_aiNumRefIdx[1] = 0;
    135 #else
    136   m_aiNumRefIdx[0] = m_aiNumRefIdx[1] = m_aiNumRefIdx[2] = 0;
    137 #endif
    138127 
    139128  initEqualRef();
    140129 
    141 #if L0034_COMBINED_LIST_CLEANUP
    142130  for ( Int idx = 0; idx < MAX_NUM_REF; idx++ )
    143131  {
    144132    m_list1IdxToList0Idx[idx] = -1;
    145133  }
    146 #else
    147   for(Int iNumCount = 0; iNumCount < MAX_NUM_REF_LC; iNumCount++)
    148   {
    149     m_iRefIdxOfLC[REF_PIC_LIST_0][iNumCount]=-1;
    150     m_iRefIdxOfLC[REF_PIC_LIST_1][iNumCount]=-1;
    151     m_eListIdFromIdxOfLC[iNumCount]=0;
    152     m_iRefIdxFromIdxOfLC[iNumCount]=0;
    153     m_iRefIdxOfL0FromRefIdxOfL1[iNumCount] = -1;
    154     m_iRefIdxOfL1FromRefIdxOfL0[iNumCount] = -1;
    155   }   
    156 #endif
    157134  for(Int iNumCount = 0; iNumCount < MAX_NUM_REF; iNumCount++)
    158135  {
     
    213190  m_colRefIdx = 0;
    214191  initEqualRef();
    215 #if !L0034_COMBINED_LIST_CLEANUP
    216   m_bNoBackPredFlag = false;
    217   m_bRefPicListCombinationFlag = false;
    218   m_bRefPicListModificationFlagLC = false;
    219 #endif
    220192  m_bCheckLDC = false;
    221193  m_iSliceQpDeltaCb = 0;
    222194  m_iSliceQpDeltaCr = 0;
    223 
    224 #if !L0034_COMBINED_LIST_CLEANUP
    225   m_aiNumRefIdx[REF_PIC_LIST_C]      = 0;
    226 #endif
    227195
    228196#if H_3D_IV_MERGE
     
    378346}
    379347
    380 #if L0034_COMBINED_LIST_CLEANUP
    381348Void TComSlice::setList1IdxToList0Idx()
    382349{
     
    395362  }
    396363}
    397 #else
    398 Void TComSlice::generateCombinedList()
    399 {
    400   if(m_aiNumRefIdx[REF_PIC_LIST_C] > 0)
    401   {
    402     m_aiNumRefIdx[REF_PIC_LIST_C]=0;
    403     for(Int iNumCount = 0; iNumCount < MAX_NUM_REF_LC; iNumCount++)
    404     {
    405       m_iRefIdxOfLC[REF_PIC_LIST_0][iNumCount]=-1;
    406       m_iRefIdxOfLC[REF_PIC_LIST_1][iNumCount]=-1;
    407       m_eListIdFromIdxOfLC[iNumCount]=0;
    408       m_iRefIdxFromIdxOfLC[iNumCount]=0;
    409       m_iRefIdxOfL0FromRefIdxOfL1[iNumCount] = -1;
    410       m_iRefIdxOfL1FromRefIdxOfL0[iNumCount] = -1;
    411     }
    412 
    413     for (Int iNumRefIdx = 0; iNumRefIdx < MAX_NUM_REF; iNumRefIdx++)
    414     {
    415       if(iNumRefIdx < m_aiNumRefIdx[REF_PIC_LIST_0])
    416       {
    417         Bool bTempRefIdxInL2 = true;
    418         for ( Int iRefIdxLC = 0; iRefIdxLC < m_aiNumRefIdx[REF_PIC_LIST_C]; iRefIdxLC++ )
    419         {
    420 #if H_MV
    421           if ( m_apcRefPicList[REF_PIC_LIST_0][iNumRefIdx]->getPOC() == m_apcRefPicList[m_eListIdFromIdxOfLC[iRefIdxLC]][m_iRefIdxFromIdxOfLC[iRefIdxLC]]->getPOC() &&
    422                m_apcRefPicList[REF_PIC_LIST_0][iNumRefIdx]->getLayerId() == m_apcRefPicList[m_eListIdFromIdxOfLC[iRefIdxLC]][m_iRefIdxFromIdxOfLC[iRefIdxLC]]->getLayerId() )
    423 #else
    424           if ( m_apcRefPicList[REF_PIC_LIST_0][iNumRefIdx]->getPOC() == m_apcRefPicList[m_eListIdFromIdxOfLC[iRefIdxLC]][m_iRefIdxFromIdxOfLC[iRefIdxLC]]->getPOC() )
    425 #endif
    426           {
    427             m_iRefIdxOfL1FromRefIdxOfL0[iNumRefIdx] = m_iRefIdxFromIdxOfLC[iRefIdxLC];
    428             m_iRefIdxOfL0FromRefIdxOfL1[m_iRefIdxFromIdxOfLC[iRefIdxLC]] = iNumRefIdx;
    429             bTempRefIdxInL2 = false;
    430             break;
    431           }
    432         }
    433 
    434         if(bTempRefIdxInL2 == true)
    435         {
    436           m_eListIdFromIdxOfLC[m_aiNumRefIdx[REF_PIC_LIST_C]] = REF_PIC_LIST_0;
    437           m_iRefIdxFromIdxOfLC[m_aiNumRefIdx[REF_PIC_LIST_C]] = iNumRefIdx;
    438           m_iRefIdxOfLC[REF_PIC_LIST_0][iNumRefIdx] = m_aiNumRefIdx[REF_PIC_LIST_C]++;
    439         }
    440       }
    441 
    442       if(iNumRefIdx < m_aiNumRefIdx[REF_PIC_LIST_1])
    443       {
    444         Bool bTempRefIdxInL2 = true;
    445         for ( Int iRefIdxLC = 0; iRefIdxLC < m_aiNumRefIdx[REF_PIC_LIST_C]; iRefIdxLC++ )
    446         {
    447 #if H_MV
    448           if ( m_apcRefPicList[REF_PIC_LIST_1][iNumRefIdx]->getPOC() == m_apcRefPicList[m_eListIdFromIdxOfLC[iRefIdxLC]][m_iRefIdxFromIdxOfLC[iRefIdxLC]]->getPOC() &&
    449                m_apcRefPicList[REF_PIC_LIST_1][iNumRefIdx]->getLayerId() == m_apcRefPicList[m_eListIdFromIdxOfLC[iRefIdxLC]][m_iRefIdxFromIdxOfLC[iRefIdxLC]]->getLayerId() )
    450 #else
    451           if ( m_apcRefPicList[REF_PIC_LIST_1][iNumRefIdx]->getPOC() == m_apcRefPicList[m_eListIdFromIdxOfLC[iRefIdxLC]][m_iRefIdxFromIdxOfLC[iRefIdxLC]]->getPOC() )
    452 #endif
    453           {
    454             m_iRefIdxOfL0FromRefIdxOfL1[iNumRefIdx] = m_iRefIdxFromIdxOfLC[iRefIdxLC];
    455             m_iRefIdxOfL1FromRefIdxOfL0[m_iRefIdxFromIdxOfLC[iRefIdxLC]] = iNumRefIdx;
    456             bTempRefIdxInL2 = false;
    457             break;
    458           }
    459         }
    460         if(bTempRefIdxInL2 == true)
    461         {
    462           m_eListIdFromIdxOfLC[m_aiNumRefIdx[REF_PIC_LIST_C]] = REF_PIC_LIST_1;
    463           m_iRefIdxFromIdxOfLC[m_aiNumRefIdx[REF_PIC_LIST_C]] = iNumRefIdx;
    464           m_iRefIdxOfLC[REF_PIC_LIST_1][iNumRefIdx] = m_aiNumRefIdx[REF_PIC_LIST_C]++;
    465         }
    466       }
    467     }
    468   }
    469 }
    470 #endif
    471 
    472364#if H_MV
    473365Void TComSlice::setRefPicList( TComList<TComPic*>& rcListPic, std::vector<TComPic*>& refPicSetInterLayer , Bool checkNumPocTotalCurr)
     
    506398  UInt NumPocLtCurr = 0;
    507399  Int i;
     400
    508401  for(i=0; i < m_pcRPS->getNumberOfNegativePictures(); i++)
    509402  {
     
    585478    }
    586479   
    587     assert(numPocTotalCurr != 0);
     480    assert(numPocTotalCurr > 0);
    588481   
    589482    m_aiNumRefIdx[0] = getNumRefIdx(REF_PIC_LIST_0);
     
    617510    }
    618511#endif
     512  assert(cIdx == numPocTotalCurr);
    619513
    620514  if (m_eSliceType==B_SLICE)
     
    645539      }
    646540#endif
     541    assert(cIdx == numPocTotalCurr);
    647542  }
    648543
     
    673568  }
    674569#else
    675 
    676   for (Int rIdx = 0; rIdx <= (m_aiNumRefIdx[0]-1); rIdx ++)
    677   {
    678     m_apcRefPicList[0][rIdx] = m_RefPicListModification.getRefPicListModificationFlagL0() ? rpsCurrList0[ m_RefPicListModification.getRefPicSetIdxL0(rIdx) ] : rpsCurrList0[rIdx % numPocTotalCurr];
    679     m_bIsUsedAsLongTerm[0][rIdx] = m_RefPicListModification.getRefPicListModificationFlagL0() ? (m_RefPicListModification.getRefPicSetIdxL0(rIdx) >= (NumPocStCurr0 + NumPocStCurr1))
    680                                   : ((rIdx % numPocTotalCurr) >= (NumPocStCurr0 + NumPocStCurr1));
    681   }
    682   if ( m_eSliceType == P_SLICE )
     570  for (Int rIdx = 0; rIdx < m_aiNumRefIdx[0]; rIdx ++)
     571  {
     572    cIdx = m_RefPicListModification.getRefPicListModificationFlagL0() ? m_RefPicListModification.getRefPicSetIdxL0(rIdx) : rIdx % numPocTotalCurr;
     573    assert(cIdx >= 0 && cIdx < numPocTotalCurr);
     574    m_apcRefPicList[0][rIdx] = rpsCurrList0[ cIdx ];
     575    m_bIsUsedAsLongTerm[0][rIdx] = ( cIdx >= NumPocStCurr0 + NumPocStCurr1 );
     576  }
     577  if ( m_eSliceType != B_SLICE )
    683578  {
    684579    m_aiNumRefIdx[1] = 0;
     
    687582  else
    688583  {
    689     for (Int rIdx = 0; rIdx <= (m_aiNumRefIdx[1]-1); rIdx ++)
    690     {
    691       m_apcRefPicList[1][rIdx] = m_RefPicListModification.getRefPicListModificationFlagL1() ? rpsCurrList1[ m_RefPicListModification.getRefPicSetIdxL1(rIdx) ] : rpsCurrList1[rIdx % numPocTotalCurr];
    692       m_bIsUsedAsLongTerm[1][rIdx] = m_RefPicListModification.getRefPicListModificationFlagL1() ?
    693                                   (m_RefPicListModification.getRefPicSetIdxL1(rIdx) >= (NumPocStCurr0 + NumPocStCurr1)): ((rIdx % numPocTotalCurr) >= (NumPocStCurr0 + NumPocStCurr1));
    694     }
    695   }
    696 #endif
    697 }
    698 
    699 #if H_MV && !H_MV_FIX1071
    700 // Temporary fix for FIX1071 should be removed later
    701 Int TComSlice::getNumRpsCurrTempList( TComReferencePictureSet* rps /* = 0 */)
    702 #else
     584    for (Int rIdx = 0; rIdx < m_aiNumRefIdx[1]; rIdx ++)
     585    {
     586      cIdx = m_RefPicListModification.getRefPicListModificationFlagL1() ? m_RefPicListModification.getRefPicSetIdxL1(rIdx) : rIdx % numPocTotalCurr;
     587      assert(cIdx >= 0 && cIdx < numPocTotalCurr);
     588      m_apcRefPicList[1][rIdx] = rpsCurrList1[ cIdx ];
     589      m_bIsUsedAsLongTerm[1][rIdx] = ( cIdx >= NumPocStCurr0 + NumPocStCurr1 );
     590    }
     591  }
     592#endif
     593}
     594
    703595Int TComSlice::getNumRpsCurrTempList()
    704 #endif
    705596{
    706597  Int numRpsCurrTempList = 0;
     
    710601    return 0;
    711602  }
    712 #if H_MV && !H_MV_FIX1071
    713 // Temporary fix for FIX1071 should be removed later
    714   if (rps == NULL)
    715   {
    716     rps = m_pcRPS;
    717   }
    718 
    719   for(UInt i=0; i < rps->getNumberOfNegativePictures()+ rps->getNumberOfPositivePictures() + rps->getNumberOfLongtermPictures(); i++)
    720   {
    721     if(rps->getUsed(i))
    722 #else
    723603  for(UInt i=0; i < m_pcRPS->getNumberOfNegativePictures()+ m_pcRPS->getNumberOfPositivePictures() + m_pcRPS->getNumberOfLongtermPictures(); i++)
    724604  {
    725605    if(m_pcRPS->getUsed(i))
    726 #endif
    727606    {
    728607      numRpsCurrTempList++;
     
    945824  m_deblockingFilterTcOffsetDiv2 = pSrc->m_deblockingFilterTcOffsetDiv2;
    946825 
    947 #if L0034_COMBINED_LIST_CLEANUP
    948826  for (i = 0; i < 2; i++)
    949 #else
    950   for (i = 0; i < 3; i++)
    951 #endif
    952827  {
    953828    m_aiNumRefIdx[i]     = pSrc->m_aiNumRefIdx[i];
    954829  }
    955830
    956 #if L0034_COMBINED_LIST_CLEANUP
    957831  for (i = 0; i < MAX_NUM_REF; i++)
    958832  {
    959833    m_list1IdxToList0Idx[i] = pSrc->m_list1IdxToList0Idx[i];
    960834  }
    961 #else
    962   for (i = 0; i < 2; i++)
    963   {
    964     for (j = 0; j < MAX_NUM_REF_LC; j++)
    965     {
    966        m_iRefIdxOfLC[i][j]  = pSrc->m_iRefIdxOfLC[i][j];
    967     }
    968   }
    969   for (i = 0; i < MAX_NUM_REF_LC; i++)
    970   {
    971     m_eListIdFromIdxOfLC[i] = pSrc->m_eListIdFromIdxOfLC[i];
    972     m_iRefIdxFromIdxOfLC[i] = pSrc->m_iRefIdxFromIdxOfLC[i];
    973     m_iRefIdxOfL1FromRefIdxOfL0[i] = pSrc->m_iRefIdxOfL1FromRefIdxOfL0[i];
    974     m_iRefIdxOfL0FromRefIdxOfL1[i] = pSrc->m_iRefIdxOfL0FromRefIdxOfL1[i];
    975   }
    976   m_bRefPicListModificationFlagLC = pSrc->m_bRefPicListModificationFlagLC;
    977   m_bRefPicListCombinationFlag    = pSrc->m_bRefPicListCombinationFlag;
    978 #endif
    979835  m_bCheckLDC             = pSrc->m_bCheckLDC;
    980836  m_iSliceQpDelta        = pSrc->m_iSliceQpDelta;
     
    1014870
    1015871  m_pcPic                = pSrc->m_pcPic;
     872
    1016873  m_colFromL0Flag        = pSrc->m_colFromL0Flag;
    1017874  m_colRefIdx            = pSrc->m_colRefIdx;
     
    1033890  }
    1034891
    1035 #if !L0034_COMBINED_LIST_CLEANUP
    1036   m_bNoBackPredFlag      = pSrc->m_bNoBackPredFlag;
    1037 #endif
    1038892  m_uiTLayer                      = pSrc->m_uiTLayer;
    1039893  m_bTLayerSwitchingFlag          = pSrc->m_bTLayerSwitchingFlag;
     
    13661220/** Function for constructing an explicit Reference Picture Set out of the available pictures in a referenced Reference Picture Set
    13671221*/
    1368 #if FIX1071 && H_MV_FIX1071
     1222#if FIX1071
    13691223Void TComSlice::createExplicitReferencePictureSetFromReference( TComList<TComPic*>& rcListPic, TComReferencePictureSet *pReferencePictureSet, Bool isRAP)
    13701224#else
     
    13951249        // and should be added to the explicit Reference Picture Set
    13961250        pcRPS->setDeltaPOC(k, pReferencePictureSet->getDeltaPOC(i));
    1397 #if FIX1071 && H_MV_FIX1071
     1251#if FIX1071
    13981252        pcRPS->setUsed(k, pReferencePictureSet->getUsed(i) && (!isRAP));
    13991253#else
     
    15661420  {
    15671421    m_numReorderPics[i] = 0;
    1568 #if L0323_DPB
    15691422    m_uiMaxDecPicBuffering[i] = 1;
    1570 #else
    1571     m_uiMaxDecPicBuffering[i] = 0;
    1572 #endif
    15731423    m_uiMaxLatencyIncrease[i] = 0;
    15741424  }
     
    20051855, m_pcmLog2MaxSize            (  5)
    20061856, m_uiPCMLog2MinSize          (  7)
    2007 #if !L0034_COMBINED_LIST_CLEANUP
    2008 , m_bUseLComb                 (false)
    2009 #endif
    20101857, m_bitDepthY                 (  8)
    20111858, m_bitDepthC                 (  8)
     
    20371884  {
    20381885    m_uiMaxLatencyIncrease[i] = 0;
    2039 #if L0323_DPB
    20401886    m_uiMaxDecPicBuffering[i] = 1;
    2041 #else
    2042     m_uiMaxDecPicBuffering[i] = 0;
    2043 #endif
    20441887    m_numReorderPics[i]       = 0;
    20451888  }
     
    20791922  TComHRD *hrd = vui->getHrdParameters();
    20801923
    2081 #if L0043_TIMING_INFO
    20821924  TimingInfo *timingInfo = vui->getTimingInfo();
    20831925  timingInfo->setTimingInfoPresentFlag( true );
     
    21031945    break;
    21041946  }
    2105 #else
    2106   hrd->setTimingInfoPresentFlag( true );
    2107   switch( frameRate )
    2108   {
    2109   case 24:
    2110     hrd->setNumUnitsInTick( 1125000 );    hrd->setTimeScale    ( 27000000 );
    2111     break;
    2112   case 25:
    2113     hrd->setNumUnitsInTick( 1080000 );    hrd->setTimeScale    ( 27000000 );
    2114     break;
    2115   case 30:
    2116     hrd->setNumUnitsInTick( 900900 );     hrd->setTimeScale    ( 27000000 );
    2117     break;
    2118   case 50:
    2119     hrd->setNumUnitsInTick( 540000 );     hrd->setTimeScale    ( 27000000 );
    2120     break;
    2121   case 60:
    2122     hrd->setNumUnitsInTick( 450450 );     hrd->setTimeScale    ( 27000000 );
    2123     break;
    2124   default:
    2125     hrd->setNumUnitsInTick( 1001 );       hrd->setTimeScale    ( 60000 );
    2126     break;
    2127   }
    2128 #endif
    21291947
    21301948  Bool rateCnt = ( bitRate > 0 );
     
    21391957    hrd->setDuCpbRemovalDelayLengthMinus1( 7 );                    // 8-bit precision ( plus 1 for last DU in AU )
    21401958    hrd->setSubPicCpbParamsInPicTimingSEIFlag( true );
    2141 #if L0044_DU_DPB_OUTPUT_DELAY_HRD
    21421959    hrd->setDpbOutputDelayDuLengthMinus1( 5 + 7 );                 // With sub-clock tick factor of 100, at least 7 bits to have the same value as AU dpb delay
    2143 #endif
    21441960  }
    21451961  else
     
    21701986  UInt birateValue, cpbSizeValue;
    21711987  UInt ducpbSizeValue;
    2172 #if L0363_DU_BIT_RATE
    21731988  UInt duBitRateValue = 0;
    2174 #endif
    21751989
    21761990  for( i = 0; i < MAX_TLAYER; i ++ )
     
    21841998    cpbSizeValue = bitRate;                                     // 1 second
    21851999    ducpbSizeValue = bitRate/numDU;
    2186 #if L0363_DU_BIT_RATE
    21872000    duBitRateValue = bitRate;
    2188 #endif
    21892001    for( j = 0; j < ( hrd->getCpbCntMinus1( i ) + 1 ); j ++ )
    21902002    {
     
    21972009      hrd->setCpbSizeValueMinus1( i, j, 1, ( cpbSizeValue - 1 ) );
    21982010      hrd->setDuCpbSizeValueMinus1( i, j, 1, ( ducpbSizeValue - 1 ) );
    2199 #if L0363_DU_BIT_RATE
    22002011      hrd->setDuBitRateValueMinus1( i, j, 1, ( duBitRateValue - 1 ) );
    2201 #endif
    22022012      hrd->setCbrFlag( i, j, 1, ( j == 0 ) );
    22032013    }
     
    22822092}
    22832093#endif
    2284 
    22852094TComReferencePictureSet::TComReferencePictureSet()
    22862095: m_numberOfPictures (0)
     
    31672976  , m_profileIdc      (0)
    31682977  , m_levelIdc        (0)
    3169 #if L0046_CONSTRAINT_FLAGS
    31702978, m_progressiveSourceFlag  (false)
    31712979, m_interlacedSourceFlag   (false)
    31722980, m_nonPackedConstraintFlag(false)
    31732981, m_frameOnlyConstraintFlag(false)
    3174 #endif
    31752982{
    31762983  ::memset(m_profileCompatibilityFlag, 0, sizeof(m_profileCompatibilityFlag));
     
    32053012}
    32063013#endif
    3207 
    32083014//! \}
  • branches/HTM-DEV-0.3-dev2/source/Lib/TLibCommon/TComSlice.h

    r535 r537  
    190190  Int     m_levelIdc;
    191191
    192 #if L0046_CONSTRAINT_FLAGS
    193192  Bool m_progressiveSourceFlag;
    194193  Bool m_interlacedSourceFlag;
    195194  Bool m_nonPackedConstraintFlag;
    196195  Bool m_frameOnlyConstraintFlag;
    197 #endif
    198196 
    199197public:
     
    215213  Void  setLevelIdc(Int x)      { m_levelIdc = x; }
    216214 
    217 #if L0046_CONSTRAINT_FLAGS
    218215  Bool getProgressiveSourceFlag() const { return m_progressiveSourceFlag; }
    219216  Void setProgressiveSourceFlag(Bool b) { m_progressiveSourceFlag = b; }
     
    227224  Bool getFrameOnlyConstraintFlag() const { return m_frameOnlyConstraintFlag; }
    228225  Void setFrameOnlyConstraintFlag(Bool b) { m_frameOnlyConstraintFlag = b; }
    229 #endif
    230226};
    231227
     
    253249};
    254250/// VPS class
    255 
    256 #if SIGNAL_BITRATE_PICRATE_IN_VPS
    257 class TComBitRatePicRateInfo
    258 {
    259   Bool        m_bitRateInfoPresentFlag[MAX_TLAYER];
    260   Bool        m_picRateInfoPresentFlag[MAX_TLAYER];
    261   Int         m_avgBitRate[MAX_TLAYER];
    262   Int         m_maxBitRate[MAX_TLAYER];
    263   Int         m_constantPicRateIdc[MAX_TLAYER];
    264   Int         m_avgPicRate[MAX_TLAYER];
    265 public:
    266   TComBitRatePicRateInfo();
    267   Bool        getBitRateInfoPresentFlag(Int i) {return m_bitRateInfoPresentFlag[i];}
    268   Void        setBitRateInfoPresentFlag(Int i, Bool x) {m_bitRateInfoPresentFlag[i] = x;}
    269 
    270   Bool        getPicRateInfoPresentFlag(Int i) {return m_picRateInfoPresentFlag[i];}
    271   Void        setPicRateInfoPresentFlag(Int i, Bool x) {m_picRateInfoPresentFlag[i] = x;}
    272 
    273   Int         getAvgBitRate(Int i) {return m_avgBitRate[i];}
    274   Void        setAvgBitRate(Int i, Int x) {m_avgBitRate[i] = x;}
    275 
    276   Int         getMaxBitRate(Int i) {return m_maxBitRate[i];}
    277   Void        setMaxBitRate(Int i, Int x) {m_maxBitRate[i] = x;}
    278 
    279   Int         getConstantPicRateIdc(Int i) {return m_constantPicRateIdc[i];}
    280   Void        setConstantPicRateIdc(Int i, Int x) {m_constantPicRateIdc[i] = x;}
    281 
    282   Int         getAvgPicRate(Int i) {return m_avgPicRate[i];}
    283   Void        setAvgPicRate(Int i, Int x) {m_avgPicRate[i] = x;}
    284 };
    285 #endif
    286251
    287252struct HrdSubLayerInfo
     
    296261  UInt ducpbSizeValue    [MAX_CPB_CNT][2];
    297262  UInt cbrFlag           [MAX_CPB_CNT][2];
    298 #if L0363_DU_BIT_RATE
    299263  UInt duBitRateValue    [MAX_CPB_CNT][2];
    300 #endif
    301264};
    302265
     
    304267{
    305268private:
    306 #if !L0043_TIMING_INFO
    307   Bool m_timingInfoPresentFlag;
    308   UInt m_numUnitsInTick;
    309   UInt m_timeScale;
    310 #endif
    311269  Bool m_nalHrdParametersPresentFlag;
    312270  Bool m_vclHrdParametersPresentFlag;
     
    315273  UInt m_duCpbRemovalDelayLengthMinus1;
    316274  Bool m_subPicCpbParamsInPicTimingSEIFlag;
    317 #if L0044_DU_DPB_OUTPUT_DELAY_HRD
    318275  UInt m_dpbOutputDelayDuLengthMinus1;
    319 #endif
    320276  UInt m_bitRateScale;
    321277  UInt m_cpbSizeScale;
     
    329285public:
    330286  TComHRD()
    331 #if !L0043_TIMING_INFO
    332   :m_timingInfoPresentFlag(false)
    333   ,m_numUnitsInTick(1001)
    334   ,m_timeScale(60000)
    335   ,m_nalHrdParametersPresentFlag(0)
    336 #else
    337287  :m_nalHrdParametersPresentFlag(0)
    338 #endif
    339288  ,m_vclHrdParametersPresentFlag(0)
    340289  ,m_subPicCpbParamsPresentFlag(false)
     
    342291  ,m_duCpbRemovalDelayLengthMinus1(0)
    343292  ,m_subPicCpbParamsInPicTimingSEIFlag(false)
    344 #if L0044_DU_DPB_OUTPUT_DELAY_HRD
    345293  ,m_dpbOutputDelayDuLengthMinus1(0)
    346 #endif
    347294  ,m_bitRateScale(0)
    348295  ,m_cpbSizeScale(0)
     
    353300
    354301  virtual ~TComHRD() {}
    355 #if !L0043_TIMING_INFO
    356   Void setTimingInfoPresentFlag             ( Bool flag )  { m_timingInfoPresentFlag = flag;               }
    357   Bool getTimingInfoPresentFlag             ( )            { return m_timingInfoPresentFlag;               }
    358 
    359   Void setNumUnitsInTick                    ( UInt value ) { m_numUnitsInTick = value;                     }
    360   UInt getNumUnitsInTick                    ( )            { return m_numUnitsInTick;                      }
    361 
    362   Void setTimeScale                         ( UInt value ) { m_timeScale = value;                          }
    363   UInt getTimeScale                         ( )            { return m_timeScale;                           }
    364 #endif
    365302
    366303  Void setNalHrdParametersPresentFlag       ( Bool flag )  { m_nalHrdParametersPresentFlag = flag;         }
     
    382319  Bool getSubPicCpbParamsInPicTimingSEIFlag ()             { return m_subPicCpbParamsInPicTimingSEIFlag;   }
    383320
    384 #if L0044_DU_DPB_OUTPUT_DELAY_HRD
    385321  Void setDpbOutputDelayDuLengthMinus1      (UInt value )  { m_dpbOutputDelayDuLengthMinus1 = value;       }
    386322  UInt getDpbOutputDelayDuLengthMinus1      ()             { return m_dpbOutputDelayDuLengthMinus1;        }
    387 #endif
    388323
    389324  Void setBitRateScale                      ( UInt value ) { m_bitRateScale = value;                       }
     
    426361  Void setDuCpbSizeValueMinus1     ( Int layer, Int cpbcnt, Int nalOrVcl, UInt value ) { m_HRD[layer].ducpbSizeValue[cpbcnt][nalOrVcl] = value;       }
    427362  UInt getDuCpbSizeValueMinus1     ( Int layer, Int cpbcnt, Int nalOrVcl            )  { return m_HRD[layer].ducpbSizeValue[cpbcnt][nalOrVcl];        }
    428 #if L0363_DU_BIT_RATE
    429363  Void setDuBitRateValueMinus1     ( Int layer, Int cpbcnt, Int nalOrVcl, UInt value ) { m_HRD[layer].duBitRateValue[cpbcnt][nalOrVcl] = value;       }
    430364  UInt getDuBitRateValueMinus1     (Int layer, Int cpbcnt, Int nalOrVcl )              { return m_HRD[layer].duBitRateValue[cpbcnt][nalOrVcl];        }
    431 #endif
    432365  Void setCbrFlag                ( Int layer, Int cpbcnt, Int nalOrVcl, UInt value ) { m_HRD[layer].cbrFlag[cpbcnt][nalOrVcl] = value;            }
    433366  Bool getCbrFlag                ( Int layer, Int cpbcnt, Int nalOrVcl             ) { return m_HRD[layer].cbrFlag[cpbcnt][nalOrVcl];             }
     
    435368  Void setNumDU                              ( UInt value ) { m_numDU = value;                            }
    436369  UInt getNumDU                              ( )            { return m_numDU;          }
    437 #if L0045_CONDITION_SIGNALLING
    438370  Bool getCpbDpbDelaysPresentFlag() { return getNalHrdParametersPresentFlag() || getVclHrdParametersPresentFlag(); }
    439 #endif
    440371};
    441372
    442 #if L0043_TIMING_INFO
    443373class TimingInfo
    444374{
     
    471401  Void setNumTicksPocDiffOneMinus1          (Int x       ) { m_numTicksPocDiffOneMinus1 = x;               }
    472402};
    473 #endif
    474403
    475404class TComVPS
     
    483412  UInt        m_numReorderPics[MAX_TLAYER];
    484413  UInt        m_uiMaxDecPicBuffering[MAX_TLAYER];
    485   UInt        m_uiMaxLatencyIncrease[MAX_TLAYER];
     414  UInt        m_uiMaxLatencyIncrease[MAX_TLAYER]; // Really max latency increase plus 1 (value 0 expresses no limit)
    486415
    487416  UInt        m_numHrdParameters;
     
    507436  TComPTL     m_pcPTL;
    508437#endif
    509 #if SIGNAL_BITRATE_PICRATE_IN_VPS
    510   TComBitRatePicRateInfo    m_bitRatePicRateInfo;
    511 #endif
    512 #if L0043_TIMING_INFO
    513438  TimingInfo  m_timingInfo;
    514 #endif
    515 
    516439#if H_MV
    517440  /// VPS EXTENSION SYNTAX ELEMENTS
     
    648571  TComPTL* getPTL() { return &m_pcPTL; }
    649572#endif
    650 #if SIGNAL_BITRATE_PICRATE_IN_VPS
    651   TComBitRatePicRateInfo *getBitratePicrateInfo() { return &m_bitRatePicRateInfo; }
    652 #endif
    653 #if L0043_TIMING_INFO
    654573  TimingInfo* getTimingInfo() { return &m_timingInfo; }
    655 #endif
    656574#if H_MV
    657575  Void    setAvcBaseLayerFlag( Bool val )                                  { m_avcBaseLayerFlag = val;  }
     
    878796  Int  m_log2MaxMvLengthVertical;
    879797  TComHRD m_hrdParameters;
    880 #if L0043_TIMING_INFO
    881798  TimingInfo m_timingInfo;
    882 #else
    883   Bool m_pocProportionalToTimingFlag;
    884   Int  m_numTicksPocDiffOneMinus1;
    885 #endif
    886799#if H_MV
    887800  Bool m_tileBoundariesAlignedFlag;
    888801#endif
     802
    889803public:
    890804  TComVUI()
     
    918832    ,m_log2MaxMvLengthHorizontal(15)
    919833    ,m_log2MaxMvLengthVertical(15)
    920 #if !L0043_TIMING_INFO 
    921     ,m_pocProportionalToTimingFlag(false)
    922     ,m_numTicksPocDiffOneMinus1(0)
    923 #endif
    924834#if H_MV
    925835    ,m_tileBoundariesAlignedFlag(true)
     
    1019929
    1020930  TComHRD* getHrdParameters                 ()             { return &m_hrdParameters; }
    1021 #if L0043_TIMING_INFO
    1022931  TimingInfo* getTimingInfo() { return &m_timingInfo; }
    1023 #else
    1024   Bool getPocProportionalToTimingFlag() {return m_pocProportionalToTimingFlag; }
    1025   Void setPocProportionalToTimingFlag(Bool x) {m_pocProportionalToTimingFlag = x;}
    1026   Int  getNumTicksPocDiffOneMinus1() {return m_numTicksPocDiffOneMinus1;}
    1027   Void setNumTicksPocDiffOneMinus1(Int x) { m_numTicksPocDiffOneMinus1 = x;}
    1028 #endif
    1029 #if H_MV
    1030   Bool getTileBoundariesAlignedFlag(  ) { return m_tileBoundariesAlignedFlag; }
     932#if H_MV
     933Bool getTileBoundariesAlignedFlag(  ) { return m_tileBoundariesAlignedFlag; }
    1031934  Void setTileBoundariesAlignedFlag( Bool flag ) { m_tileBoundariesAlignedFlag = flag; }
    1032935#endif
     
    1070973  Bool        m_useAMP;
    1071974
    1072 #if !L0034_COMBINED_LIST_CLEANUP
    1073   Bool        m_bUseLComb;
    1074 #endif
    1075  
    1076975  // Parameter
    1077976  Int         m_bitDepthY;
     
    11021001  TComScalingList*     m_scalingList;   //!< ScalingList class pointer
    11031002  UInt        m_uiMaxDecPicBuffering[MAX_TLAYER];
    1104   UInt        m_uiMaxLatencyIncrease[MAX_TLAYER];
     1003  UInt        m_uiMaxLatencyIncrease[MAX_TLAYER];  // Really max latency increase plus 1 (value 0 expresses no limit)
    11051004
    11061005  Bool        m_useDF;
     
    12031102 
    12041103  // Tool list
    1205 #if !L0034_COMBINED_LIST_CLEANUP
    1206   Void setUseLComb    (Bool b)   { m_bUseLComb = b;         }
    1207   Bool getUseLComb    ()         { return m_bUseLComb;      }
    1208 #endif
    1209 
    12101104  Bool getUseLossless ()         { return m_useLossless; }
    12111105  Void setUseLossless ( Bool b ) { m_useLossless  = b; }
     
    15541448  Int         m_deblockingFilterBetaOffsetDiv2;    //< beta offset for deblocking filter
    15551449  Int         m_deblockingFilterTcOffsetDiv2;      //< tc offset for deblocking filter
    1556 #if L0034_COMBINED_LIST_CLEANUP
    15571450  Int         m_list1IdxToList0Idx[MAX_NUM_REF];
    15581451  Int         m_aiNumRefIdx   [2];    //  for multiple reference of current slice
    1559 #else
    1560   Int         m_aiNumRefIdx   [3];    //  for multiple reference of current slice
    1561 
    1562   Int         m_iRefIdxOfLC[2][MAX_NUM_REF_LC];
    1563   Int         m_eListIdFromIdxOfLC[MAX_NUM_REF_LC];
    1564   Int         m_iRefIdxFromIdxOfLC[MAX_NUM_REF_LC];
    1565   Int         m_iRefIdxOfL1FromRefIdxOfL0[MAX_NUM_REF_LC];
    1566   Int         m_iRefIdxOfL0FromRefIdxOfL1[MAX_NUM_REF_LC];
    1567   Bool        m_bRefPicListModificationFlagLC;
    1568   Bool        m_bRefPicListCombinationFlag;
    1569 #endif
    15701452
    15711453  Bool        m_bCheckLDC;
     
    16081490
    16091491  Bool        m_abEqualRef  [2][MAX_NUM_REF][MAX_NUM_REF];
    1610 #if !L0034_COMBINED_LIST_CLEANUP
    1611   Bool        m_bNoBackPredFlag;
    1612 #endif
    16131492  UInt        m_uiTLayer;
    16141493  Bool        m_bTLayerSwitchingFlag;
     
    16851564#endif
    16861565#endif
    1687 
    16881566public:
    16891567  TComSlice();
     
    17611639  UInt      getARPStepNum( )                                                         { return m_nARPStepNum;                                         } 
    17621640#endif
    1763 
    17641641  Int       getDepth            ()                              { return  m_iDepth;                     }
    17651642  UInt      getColFromL0Flag    ()                              { return  m_colFromL0Flag;              }
     
    17691646  Bool      getCheckLDC     ()                                  { return m_bCheckLDC; }
    17701647  Bool      getMvdL1ZeroFlag ()                                  { return m_bLMvdL1Zero;    }
    1771 #if H_MV && !H_MV_FIX1071  // This is a temporary fix of the temporary fix L0177
    1772   Int       getNumRpsCurrTempList( TComReferencePictureSet* rps = NULL );
    1773 #else
    17741648  Int       getNumRpsCurrTempList();
    1775 #endif
    1776 #if L0034_COMBINED_LIST_CLEANUP
    17771649  Int       getList1IdxToList0Idx ( Int list1Idx )               { return m_list1IdxToList0Idx[list1Idx]; }
    1778 #else
    1779   Int       getRefIdxOfLC       (RefPicList e, Int iRefIdx)     { return m_iRefIdxOfLC[e][iRefIdx];           }
    1780   Int       getListIdFromIdxOfLC(Int iRefIdx)                   { return m_eListIdFromIdxOfLC[iRefIdx];       }
    1781   Int       getRefIdxFromIdxOfLC(Int iRefIdx)                   { return m_iRefIdxFromIdxOfLC[iRefIdx];       }
    1782   Int       getRefIdxOfL0FromRefIdxOfL1(Int iRefIdx)            { return m_iRefIdxOfL0FromRefIdxOfL1[iRefIdx];}
    1783   Int       getRefIdxOfL1FromRefIdxOfL0(Int iRefIdx)            { return m_iRefIdxOfL1FromRefIdxOfL0[iRefIdx];}
    1784   Bool      getRefPicListModificationFlagLC()                   {return m_bRefPicListModificationFlagLC;}
    1785   Void      setRefPicListModificationFlagLC(Bool bflag)         {m_bRefPicListModificationFlagLC=bflag;}     
    1786   Bool      getRefPicListCombinationFlag()                      {return m_bRefPicListCombinationFlag;}
    1787   Void      setRefPicListCombinationFlag(Bool bflag)            {m_bRefPicListCombinationFlag=bflag;}   
    1788 #endif
    17891650  Void      setReferenced(Bool b)                               { m_bRefenced = b; }
    17901651  Bool      isReferenced()                                      { return m_bRefenced; }
     
    18611722 
    18621723  static Void      sortPicList         ( TComList<TComPic*>& rcListPic );
    1863 #if L0034_COMBINED_LIST_CLEANUP
    18641724  Void setList1IdxToList0Idx();
    1865 #else
    1866   Bool getNoBackPredFlag() { return m_bNoBackPredFlag; }
    1867   Void setNoBackPredFlag( Bool b ) { m_bNoBackPredFlag = b; }
    1868   Void generateCombinedList       ();
    1869 #endif
    18701725
    18711726  UInt getTLayer             ()                            { return m_uiTLayer;                      }
     
    18801735  static Void markCurrPic                 ( TComPic* currPic );;
    18811736  static Void markIvRefPicsAsUnused       ( TComPicLists* ivPicLists, std::vector<Int> targetDecLayerIdSet, TComVPS* vps, Int curLayerId, Int curPoc  );
    1882 
    1883 
    1884   Void xPrintRefPicList();
     1737  Void        xPrintRefPicList();
    18851738#endif
    18861739  Bool isTemporalLayerSwitchingPoint( TComList<TComPic*>& rcListPic );
    18871740  Bool isStepwiseTemporalLayerSwitchingPointCandidate( TComList<TComPic*>& rcListPic );
    18881741  Int       checkThatAllRefPicsAreAvailable( TComList<TComPic*>& rcListPic, TComReferencePictureSet *pReferencePictureSet, Bool printErrors, Int pocRandomAccess = 0);
    1889 #if FIX1071 && H_MV_FIX1071
     1742#if FIX1071
    18901743  Void      createExplicitReferencePictureSetFromReference( TComList<TComPic*>& rcListPic, TComReferencePictureSet *pReferencePictureSet, Bool isRAP);
    18911744#else
     
    20361889
    20371890#endif
    2038 
    20391891protected:
    20401892  TComPic*  xGetRefPic  (TComList<TComPic*>& rcListPic,
  • branches/HTM-DEV-0.3-dev2/source/Lib/TLibCommon/TComTrQuant.cpp

    r446 r537  
    10751075    Int iTransformShift = MAX_TR_DYNAMIC_RANGE - uiBitDepth - uiLog2TrSize;  // Represents scaling through forward transform
    10761076
    1077     Int iQBits = QUANT_SHIFT + m_cQP.m_iPer + iTransformShift;                // Right shift of non-RDOQ quantizer;  level = (coeff*uiQ + offset)>>q_bits
    1078 
    1079     iAdd = (pcCU->getSlice()->getSliceType()==I_SLICE ? 171 : 85) << (iQBits-9);
    1080 
    10811077#if ADAPTIVE_QP_SELECTION
    1082     iQBits = QUANT_SHIFT + cQpBase.m_iPer + iTransformShift;
     1078    Int iQBits = QUANT_SHIFT + cQpBase.m_iPer + iTransformShift;
    10831079    iAdd = (pcCU->getSlice()->getSliceType()==I_SLICE ? 171 : 85) << (iQBits-9);
    10841080    Int iQBitsC = QUANT_SHIFT + cQpBase.m_iPer + iTransformShift - ARL_C_PRECISION; 
    10851081    Int iAddC   = 1 << (iQBitsC-1);
     1082#else
     1083    Int iQBits = QUANT_SHIFT + m_cQP.m_iPer + iTransformShift;                // Right shift of non-RDOQ quantizer;  level = (coeff*uiQ + offset)>>q_bits
     1084    iAdd = (pcCU->getSlice()->getSliceType()==I_SLICE ? 171 : 85) << (iQBits-9);
    10861085#endif
    10871086
     
    13471346#else
    13481347  Int j;
    1349   {
    1350     Short block[ 64 * 64 ];
    1351     Short coeff[ 64 * 64 ];
    1352     {
     1348  Short block[ 32 * 32 ];
     1349  Short coeff[ 32 * 32 ];
    13531350      for (j = 0; j < iHeight; j++)
    13541351      {   
    13551352        memcpy( block + j * iWidth, piBlkResi + j * uiStride, iWidth * sizeof( Short ) );
    13561353      }
    1357     }
    13581354    xTrMxN(bitDepth, block, coeff, iWidth, iHeight, uiMode );
    13591355    for ( j = 0; j < iHeight * iWidth; j++ )
     
    13611357      psCoeff[ j ] = coeff[ j ];
    13621358    }
    1363     return ;
    1364   }
    13651359#endif 
    13661360}
     
    13821376  Int j;
    13831377  {
    1384     Short block[ 64 * 64 ];
    1385     Short coeff[ 64 * 64 ];
     1378    Short block[ 32 * 32 ];
     1379    Short coeff[ 32 * 32 ];
    13861380    for ( j = 0; j < iHeight * iWidth; j++ )
    13871381    {   
     
    15051499                                                      UInt                            uiAbsPartIdx )
    15061500{
    1507   Int    iQBits      = m_cQP.m_iBits;
    1508   Double dTemp       = 0;
    15091501  UInt uiLog2TrSize = g_aucConvertToBit[ uiWidth ] + 2;
    1510   Int uiQ = g_quantScales[m_cQP.rem()];
    15111502 
    15121503  UInt uiBitDepth = eTType == TEXT_LUMA ? g_bitDepthY : g_bitDepthC;
     
    15191510  assert(scalingListType < 6);
    15201511 
    1521   iQBits = QUANT_SHIFT + m_cQP.m_iPer + iTransformShift;                   // Right shift of non-RDOQ quantizer;  level = (coeff*uiQ + offset)>>q_bits
    1522   Double dErrScale   = 0;
     1512  Int iQBits = QUANT_SHIFT + m_cQP.m_iPer + iTransformShift;                   // Right shift of non-RDOQ quantizer;  level = (coeff*uiQ + offset)>>q_bits
    15231513  Double *pdErrScaleOrg = getErrScaleCoeff(scalingListType,uiLog2TrSize-2,m_cQP.m_iRem);
    15241514  Int *piQCoefOrg = getQuantCoeff(scalingListType,m_cQP.m_iRem,uiLog2TrSize-2);
     
    15721562  Double  d64BaseCost         = 0;
    15731563  Int     iLastScanPos        = -1;
    1574   dTemp                       = dErrScale;
    15751564 
    15761565  UInt    c1Idx     = 0;
     
    16011590      UInt    uiBlkPos          = scan[iScanPos];
    16021591      // set coeff
    1603       uiQ  = piQCoef[uiBlkPos];
    1604       dTemp = pdErrScale[uiBlkPos];
     1592      Int uiQ  = piQCoef[uiBlkPos];
     1593      Double dTemp = pdErrScale[uiBlkPos];
    16051594      Int lLevelDouble          = plSrcCoeff[ uiBlkPos ];
    16061595      lLevelDouble              = (Int)min<Int64>((Int64)abs((Int)lLevelDouble) * uiQ , MAX_INT - (1 << (iQBits - 1)));
  • branches/HTM-DEV-0.3-dev2/source/Lib/TLibCommon/TComWeightPrediction.cpp

    r324 r537  
    271271Void TComWeightPrediction::getWpScaling( TComDataCU* pcCU, Int iRefIdx0, Int iRefIdx1, wpScalingParam *&wp0, wpScalingParam *&wp1)
    272272{
     273  assert(iRefIdx0 >= 0 || iRefIdx1 >= 0);
     274 
    273275  TComSlice*      pcSlice       = pcCU->getSlice();
    274276  TComPPS*        pps           = pcCU->getSlice()->getPPS();
  • branches/HTM-DEV-0.3-dev2/source/Lib/TLibCommon/TypeDef.h

    r534 r537  
    4141//! \ingroup TLibCommon
    4242//! \{
    43 
    4443/////////////////////////////////////////////////////////////////////////////////////////
    4544///////////////////////////////// EXTENSION SELECTION /////////////////////////////////// 
     
    204203/////////////////////////////////////////////////////////////////////////////////////////
    205204
    206 #define FIX1071 1 ///< Temporary fix for issue #1071
    207 
    208 #define L0208_SOP_DESCRIPTION_SEI     1 ///< L0208: add SOP descrioption SEI
     205#define FIX1071 1 ///< fix for issue #1071
     206
    209207#define MAX_NUM_PICS_IN_SOP           1024
    210208
    211 #define K0180_SCALABLE_NESTING_SEI  1   ///JCTVC-K0180 scalable nesting sei message
    212209#define MAX_NESTING_NUM_OPS         1024
    213210#define MAX_NESTING_NUM_LAYER       64
    214 
    215 #define J0149_TONE_MAPPING_SEI        1 ///< J0149: Tone mapping information SEI
    216 #define L0363_DU_BIT_RATE             1 ///< L0363: add bit_rate_du_value_minus1 to HRD parameters
    217 #define L0328_SPLICING                1 ///< L0328: splicing support in HRD
    218 #define L0044_DU_DPB_OUTPUT_DELAY_HRD 1 ///< L0044: Include dpb_output_delay_du_length_minus1 in hrd_parameters(), dpb_output_du_delay in
    219                                         ///<        picture timing SEI and DU information SEI
    220 #define L0045_PERSISTENCE_FLAGS  1      ///< L0045: Replace "repetition_period" syntax elements in SEI with "persistence_flag"
    221 #define L0045_NON_NESTED_SEI_RESTRICTIONS 1 ///< L0045; Include restriction on the order of APS and non-nested BP, PT and DU info SEI messages
    222 #define L0044_CPB_DPB_DELAY_OFFSET 1  ///< L0044: Include syntax elements cpb_delay_offset and dpb_delay_offset in the BP SEI message
    223 #define L0047_APS_FLAGS            1  ///< L0047: Include full_random_access_flag and no_param_set_update_flag in the active parameter set SEI message
    224 #define L0043_TIMING_INFO          1  ///< L0043: Timing information is signalled in VUI outside hrd_parameters()
    225 #define L0046_RENAME_PROG_SRC_IDC  1  ///< L0046: Rename progressive_source_idc to source_scan_type
    226 #define L0045_CONDITION_SIGNALLING 1  ///< L0045: Condition the signaling of some syntax elements in picture timing SEI message
    227 #define L0043_MSS_IDC 1
    228 #define L0116_ENTRY_POINT 1
    229 #define L0363_MORE_BITS 1
    230 #define L0363_MVP_POC 1
    231 #define L0363_BYTE_ALIGN 1
    232 #define L0363_SEI_ALLOW_SUFFIX 1
    233 #define L0323_LIMIT_DEFAULT_LIST_SIZE 1
    234 #define L0046_CONSTRAINT_FLAGS 1
    235 #define L0255_MOVE_PPS_FLAGS       1  ///< move some flags to earlier positions in the PPS
    236 #define L0444_FPA_TYPE             1  ///< allow only FPA types 3, 4 and 5
    237 #define L0372 1
    238 #define SIGNAL_BITRATE_PICRATE_IN_VPS               0  ///< K0125: Signal bit_rate and pic_rate in VPS
    239 #define L0232_RD_PENALTY           1  ///< L0232: RD-penalty for 32x32 TU for intra in non-intra slices
    240 #define L0386_DB_METRIC            1  ///< L0386: non-normative blockiness metric (automatically configures deblocking parameters in bitstream)
    241 #define L0323_DPB                     1 ///< L0323: Specification of active reference indices and decoded picture buffer
    242 
    243 #define L0034_COMBINED_LIST_CLEANUP 1
    244211
    245212#define MAX_VPS_NUM_HRD_PARAMETERS                1
     
    254221
    255222#define RATE_CONTROL_LAMBDA_DOMAIN                  1  ///< JCTVC-K0103, rate control by R-lambda model
    256 #define L0033_RC_BUGFIX                             1  ///< JCTVC-L0033, bug fix for R-lambda model based rate control
     223#define M0036_RC_IMPROVEMENT                        1  ///< JCTVC-M0036, improvement for R-lambda model based rate control
     224#define TICKET_1090_FIX                             1
     225
     226#define RC_FIX                                      1  /// suggested fix for M0036
     227#define RATE_CONTROL_INTRA                          1  ///< JCTVC-M0257, rate control for intra
    257228
    258229#define MAX_CPB_CNT                     32  ///< Upper bound of (cpb_cnt_minus1 + 1)
     
    281252
    282253#define REMOVE_SAO_LCU_ENC_CONSTRAINTS_3 1  ///< disable the encoder constraint that conditionally disable SAO for chroma for entire slice in interleaved mode
    283 
    284 #define REMOVE_SINGLE_SEI_EXTENSION_FLAGS 1 ///< remove display orientation SEI extension flag (there is a generic SEI extension mechanism now)
    285254
    286255#define SAO_ENCODING_CHOICE              1  ///< I0184: picture early termination
     
    601570  REF_PIC_LIST_0 = 0,   ///< reference list 0
    602571  REF_PIC_LIST_1 = 1,   ///< reference list 1
    603 #if !L0034_COMBINED_LIST_CLEANUP
    604   REF_PIC_LIST_C = 2,   ///< combined reference list for uni-prediction in B-Slices
    605 #endif
    606572  REF_PIC_LIST_X = 100  ///< special mark
    607573};
Note: See TracChangeset for help on using the changeset viewer.