Changeset 958 in 3DVCSoftware


Ignore:
Timestamp:
8 May 2014, 23:04:15 (11 years ago)
Author:
qualcomm
Message:

Implementation of JCT3V_H0044
MACRO H0044_POC_LSB_NOT_PRESENT

Constraint checking on the value of poc_reset_idc and poc_lsb_val
When poc_lsb_not_present_flag[ i ] is equal to 1

  • When slice_pic_order_cnt_lsb is greater than 0, poc_reset_idc shall not be equal to 2.
  • When full_poc_reset_flag is equal to 1, poc_lsb_val shall be equal to 0.

Submitted by Hendry (fhendry@…)

Location:
branches/HTM-11.0-dev0-Qualcomm/source/Lib
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-11.0-dev0-Qualcomm/source/Lib/TLibCommon/TypeDef.h

    r956 r958  
    359359#define MPI_SUBPU_DEFAULT_MV_H0077_H0099_H0111_H0133    1
    360360#endif
     361
     362#define H0044_POC_LSB_NOT_PRESENT        1      ///< JCT3V-H0044: Add constraint checking on the value of poc_reset_idc and poc_lsb_val
     363
    361364/////////////////////////////////////////////////////////////////////////////////////////
    362365///////////////////////////////////   TBD                  //////////////////////////////
  • branches/HTM-11.0-dev0-Qualcomm/source/Lib/TLibDecoder/TDecCAVLC.cpp

    r950 r958  
    19441944  }
    19451945 
     1946#if H0044_POC_LSB_NOT_PRESENT
     1947    UInt slicePicOrderCntLsb = 0;
     1948#endif
     1949
    19461950  if(!rpcSlice->getDependentSliceSegmentFlag())
    19471951  {
     
    19941998
    19951999#if H_MV
     2000#if !H0044_POC_LSB_NOT_PRESENT
    19962001    UInt slicePicOrderCntLsb = 0;
     2002#endif
    19972003    Int iPOClsb = slicePicOrderCntLsb;  // Needed later
    19982004    if ( (rpcSlice->getLayerId() > 0 && !vps->getPocLsbNotPresentFlag( rpcSlice->getLayerIdInVps())) || !rpcSlice->getIdrPicFlag() )
     
    25792585    }
    25802586
     2587#if H0044_POC_LSB_NOT_PRESENT
     2588    if ( rpcSlice->getVPS()->getPocLsbNotPresentFlag(rpcSlice->getLayerId()) && slicePicOrderCntLsb > 0 )
     2589    {
     2590      assert( rpcSlice->getPocResetIdc() != 2 );
     2591    }
     2592#endif
    25812593    if( rpcSlice->getPocResetIdc() !=  0 )
    25822594    {
     
    25932605      READ_FLAG( uiCode, "full_poc_reset_flag" ); rpcSlice->setFullPocResetFlag( uiCode == 1 );
    25942606      READ_CODE( rpcSlice->getPocLsbValLen() , uiCode, "poc_lsb_val" ); rpcSlice->setPocLsbVal( uiCode );
     2607#if H0044_POC_LSB_NOT_PRESENT
     2608      if ( rpcSlice->getVPS()->getPocLsbNotPresentFlag(rpcSlice->getLayerId()) && rpcSlice->getFullPocResetFlag() )
     2609      {
     2610        assert( rpcSlice->getPocLsbVal() == 0 );
     2611      }
     2612#endif
    25952613    }         
    25962614
Note: See TracChangeset for help on using the changeset viewer.