Changeset 741 in SHVCSoftware for branches


Ignore:
Timestamp:
25 Apr 2014, 01:30:28 (11 years ago)
Author:
qualcomm
Message:

Implementation of JCTVC_Q0142
MACRO Q0142_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/SHM-6-dev/source/Lib
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/SHM-6-dev/source/Lib/TLibCommon/TypeDef.h

    r740 r741  
    5050
    5151#define Q0177_SPS_TEMP_NESTING_FIX       1      ///< JCTVC-Q0177; Fix the inference value of sps_temporal_id_nesting_flag when it is not present
     52#define Q0142_POC_LSB_NOT_PRESENT        1      ///< JCTVC-Q0142; Add constraint checking on the value of poc_reset_idc and poc_lsb_val
    5253
    5354#define Q0200_CONFORMANCE_BL_SIZE        1       ///< JCTVC-Q0200; use conformance picture size in re-sampling processs
  • branches/SHM-6-dev/source/Lib/TLibDecoder/TDecCAVLC.cpp

    r740 r741  
    24402440  }
    24412441
     2442#if Q0142_POC_LSB_NOT_PRESENT
     2443#if SHM_FIX7
     2444    Int iPOClsb = 0;
     2445#endif
     2446#endif
     2447
    24422448  if(!rpcSlice->getDependentSliceSegmentFlag())
    24432449  {
     
    25122518    }
    25132519#if N0065_LAYER_POC_ALIGNMENT
     2520#if !Q0142_POC_LSB_NOT_PRESENT
    25142521#if SHM_FIX7
    25152522    Int iPOClsb = 0;
     2523#endif
    25162524#endif
    25172525#if O0062_POC_LSB_NOT_PRESENT_FLAG
     
    31803188      rpcSlice->setPocResetIdc( 0 );
    31813189    }
     3190#if Q0142_POC_LSB_NOT_PRESENT
     3191    if ( rpcSlice->getVPS()->getPocLsbNotPresentFlag(rpcSlice->getLayerId()) && iPOClsb > 0 )
     3192    {
     3193      assert( rpcSlice->getPocResetIdc() != 2 );
     3194    }
     3195#endif
    31823196    if( rpcSlice->getPocResetIdc() > 0 )
    31833197    {
     
    31943208      READ_FLAG( uiCode,        "full_poc_reset_flag"); rpcSlice->setFullPocResetFlag((uiCode == 1) ? true : false);
    31953209      READ_CODE(rpcSlice->getSPS()->getBitsForPOC(), uiCode,"poc_lsb_val"); rpcSlice->setPocLsbVal(uiCode);
     3210#if Q0142_POC_LSB_NOT_PRESENT
     3211      if ( rpcSlice->getVPS()->getPocLsbNotPresentFlag(rpcSlice->getLayerId()) && rpcSlice->getFullPocResetFlag() )
     3212      {
     3213        assert( rpcSlice->getPocLsbVal() == 0 );
     3214      }
     3215#endif
    31963216    }
    31973217
Note: See TracChangeset for help on using the changeset viewer.