Changeset 542 in SHVCSoftware


Ignore:
Timestamp:
10 Jan 2014, 01:26:16 (11 years ago)
Author:
qualcomm
Message:

Signalling of VPS VUI offset in the VPS extension (Macro: VPS_VUI_OFFSET)

From: Adarsh K. Ramasubramonian <aramasub@…>

Location:
branches/SHM-4.1-dev/source/Lib
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • branches/SHM-4.1-dev/source/Lib/TLibCommon/TComSlice.cpp

    r533 r542  
    20492049#if VIEW_ID_RELATED_SIGNALING
    20502050, m_viewIdLenMinus1           (0)
     2051#endif
     2052#if VPS_VUI_OFFSET
     2053, m_vpsVuiOffset (0)
    20512054#endif
    20522055{
  • branches/SHM-4.1-dev/source/Lib/TLibCommon/TComSlice.h

    r535 r542  
    643643#endif
    644644#endif //SVC_EXTENSION
     645#if VPS_VUI_OFFSET
     646  Int     m_vpsVuiOffset;
     647#endif
    645648public:
    646649  TComVPS();
     
    985988  Int     getNumSubDpbs(Int i)                          { return m_numSubDpbs[i]; }
    986989  Void    setNumSubDpbs(Int i, Int x)                   { m_numSubDpbs[i] = x;    }
     990#endif
     991#if VPS_VUI_OFFSET
     992  Int     getVpsVuiOffset()         { return m_vpsVuiOffset; }
     993  Void    setVpsVuiOffset(Int x)    { m_vpsVuiOffset = x; }
    987994#endif
    988995#endif //SVC_EXTENSION
  • branches/SHM-4.1-dev/source/Lib/TLibCommon/TypeDef.h

    r532 r542  
    4242
    4343#define SYNTAX_BYTES                     10      ///< number of bytes taken by syntaxes per 4x4 block [RefIdxL0(1byte), RefIdxL1(1byte), MVxL0(2bytes), MVyL0(2bytes), MVxL1(2bytes), MVyL1(2bytes)]
     44
     45#define VPS_VUI_OFFSET                   1      ///< N0085: Signal VPS VUI offset in the VPS extension
    4446
    4547#define RANDOM_ACCESS_SEI_FIX            1
  • branches/SHM-4.1-dev/source/Lib/TLibDecoder/TDecCAVLC.cpp

    r532 r542  
    990990
    991991  READ_FLAG( uiCode, "avc_base_layer_flag" ); vps->setAvcBaseLayerFlag(uiCode ? true : false);
     992#if VPS_VUI_OFFSET
     993  READ_CODE( 16, uiCode, "vps_vui_offset" );  vps->setVpsVuiOffset( uiCode );
     994#endif
    992995  READ_FLAG( uiCode, "splitting_flag" ); vps->setSplittingFlag(uiCode ? true : false);
    993996
  • branches/SHM-4.1-dev/source/Lib/TLibEncoder/TEncCavlc.cpp

    r532 r542  
    669669  UInt numBytesInVps = this->m_pcBitIf->getNumberOfWrittenBits();
    670670#endif
     671#if VPS_VUI_OFFSET
     672   m_vpsVuiCounter = this->m_pcBitIf->getNumberOfWrittenBits();
     673#endif
    671674  WRITE_CODE( pcVPS->getVPSId(),                    4,        "vps_video_parameter_set_id" );
    672675  WRITE_CODE( 3,                                    2,        "vps_reserved_three_2bits" );
     
    795798
    796799  WRITE_FLAG( vps->getAvcBaseLayerFlag(),              "avc_base_layer_flag" );
     800#if VPS_VUI_OFFSET
     801  WRITE_CODE( vps->getVpsVuiOffset(  ), 16,             "vps_vui_offset" ); 
     802#endif
    797803  WRITE_FLAG( vps->getSplittingFlag(),                 "splitting_flag" );
    798804
     
    10891095      WRITE_FLAG(1,                  "vps_vui_alignment_bit_equal_to_one");
    10901096    }
     1097#if VPS_VUI_OFFSET
     1098    Int vpsVuiOffsetValeInBits = this->m_pcBitIf->getNumberOfWrittenBits() - m_vpsVuiCounter + 16; // 2 bytes for NUH
     1099    assert( vpsVuiOffsetValeInBits % 8 == 0 );
     1100    vps->setVpsVuiOffset( vpsVuiOffsetValeInBits >> 3 );
     1101#endif
    10911102    codeVPSVUI(vps); 
    10921103  }
  • branches/SHM-4.1-dev/source/Lib/TLibEncoder/TEncCavlc.h

    r532 r542  
    6868  TComSlice*    m_pcSlice;
    6969  UInt          m_uiCoeffCost;
    70 
     70#if VPS_VUI_OFFSET
     71  Int m_vpsVuiCounter;
     72#endif
    7173  Void codeShortTermRefPicSet              ( TComSPS* pcSPS, TComReferencePictureSet* pcRPS, Bool calledFromSliceHeader, Int idx );
    7274  Bool findMatchingLTRP ( TComSlice* pcSlice, UInt *ltrpsIndex, Int ltrpPOC, Bool usedFlag );
  • branches/SHM-4.1-dev/source/Lib/TLibEncoder/TEncGOP.cpp

    r539 r542  
    17531753      OutputNALUnit nalu(NAL_UNIT_VPS);
    17541754#endif
     1755#if VPS_VUI_OFFSET
     1756      // The following code also calculates the VPS VUI offset
     1757#endif
    17551758#if VPS_EXTN_OFFSET_CALC
    17561759      OutputNALUnit tempNalu(NAL_UNIT_VPS, 0, 0        ); // The value of nuh_layer_id of VPS NAL unit shall be equal to 0.
Note: See TracChangeset for help on using the changeset viewer.