Changeset 556 in SHVCSoftware for branches/SHM-5.0-dev/source


Ignore:
Timestamp:
25 Jan 2014, 04:36:18 (11 years ago)
Author:
qualcomm
Message:

JCTVC-P0307. Removal of VPS VUI Offset and addition of new syntax element vps_non_vui_extension_length.

Macro: P0307_REMOVE_VPS_VUI_OFFSET and P0307_VPS_NON_VUI_EXTENSION
provided by Hendry <fhendry@…>

Location:
branches/SHM-5.0-dev/source
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • branches/SHM-5.0-dev/source/App/TAppEncoder/TAppEncTop.cpp

    r555 r556  
    16571657      {
    16581658        OutputNALUnit nalu(NAL_UNIT_EOB);
    1659         nalu.m_layerId = 1;
     1659        nalu.m_layerId = 0;
    16601660
    16611661        AccessUnit& accessUnit = outputAccessUnits.back();
  • branches/SHM-5.0-dev/source/Lib/TLibCommon/TComSlice.cpp

    r552 r556  
    20582058#endif
    20592059#endif
     2060#if !P0307_REMOVE_VPS_VUI_OFFSET
    20602061#if VPS_VUI_OFFSET
    20612062, m_vpsVuiOffset (0)
     2063#endif
     2064#endif
     2065#if P0307_VPS_NON_VUI_EXTENSION
     2066, m_vpsNonVuiExtLength (0)
    20622067#endif
    20632068{
  • branches/SHM-5.0-dev/source/Lib/TLibCommon/TComSlice.h

    r552 r556  
    658658
    659659#endif //SVC_EXTENSION
     660#if !P0307_REMOVE_VPS_VUI_OFFSET
    660661#if VPS_VUI_OFFSET
    661662  Int     m_vpsVuiOffset;
     663#endif
     664#endif
     665#if P0307_VPS_NON_VUI_EXTENSION
     666  Int     m_vpsNonVuiExtLength;
    662667#endif
    663668public:
     
    10211026#endif
    10221027
     1028#if !P0307_REMOVE_VPS_VUI_OFFSET
    10231029#if VPS_VUI_OFFSET
    10241030  Int     getVpsVuiOffset()         { return m_vpsVuiOffset; }
    10251031  Void    setVpsVuiOffset(Int x)    { m_vpsVuiOffset = x; }
     1032#endif
     1033#endif
     1034#if P0307_VPS_NON_VUI_EXTENSION
     1035  Int     getVpsNonVuiExtLength()         { return m_vpsNonVuiExtLength; }
     1036  Void    setVpsNonVuiExtLength(Int x)    { m_vpsNonVuiExtLength = x; }
    10261037#endif
    10271038#endif //SVC_EXTENSION
  • branches/SHM-5.0-dev/source/Lib/TLibCommon/TypeDef.h

    r553 r556  
    5252
    5353#define P0130_EOB                        1      ///< JCTVC-P0130, set layer Id of EOB NALU to be fixed to 0
     54#define P0307_REMOVE_VPS_VUI_OFFSET      1      ///< JCTVC-P0307, remove implementation related to VPS VUI offset signalling
     55#define P0307_VPS_NON_VUI_EXTENSION      1      ///< JCTVC-P0307, implementation related to NON VUI VPS Extension signalling
    5456
    5557#define O0109_O0199_FLAGS_TO_VUI         1      ///< JCTVC-O0109, O0199: move single_layer_for_non_irap_flag and higher_layer_flag to vps_vui
  • branches/SHM-5.0-dev/source/Lib/TLibDecoder/TDecCAVLC.cpp

    r552 r556  
    995995  READ_FLAG( uiCode, "avc_base_layer_flag" ); vps->setAvcBaseLayerFlag(uiCode ? true : false);
    996996
     997#if !P0307_REMOVE_VPS_VUI_OFFSET
    997998#if O0109_MOVE_VPS_VUI_FLAG
    998999  READ_FLAG( uiCode, "vps_vui_present_flag"); vps->setVpsVuiPresentFlag(uiCode ? true : false);
     
    10051006#if O0109_MOVE_VPS_VUI_FLAG
    10061007  }
     1008#endif
    10071009#endif
    10081010  READ_FLAG( uiCode, "splitting_flag" ); vps->setSplittingFlag(uiCode ? true : false);
     
    14751477#endif
    14761478
     1479#if P0307_VPS_NON_VUI_EXTENSION
     1480  READ_UVLC( uiCode,           "vps_non_vui_extension_length"); vps->setVpsNonVuiExtLength((Int)uiCode);
     1481  if ( vps->getVpsNonVuiExtLength() > 0 )
     1482  {
     1483    printf("\n\nUp to the current spec, the value of vps_non_vui_extension_length is supposed to be 0\n");
     1484  }
     1485#endif
     1486
    14771487#if !O0109_O0199_FLAGS_TO_VUI
    14781488#if M0040_ADAPTIVE_RESOLUTION_CHANGE
     
    14821492  READ_FLAG(uiCode, "higher_layer_irap_skip_flag" ); vps->setHigherLayerIrapSkipFlag(uiCode == 1 ? true : false);
    14831493#endif
     1494#endif
     1495
     1496#if P0307_REMOVE_VPS_VUI_OFFSET
     1497  READ_FLAG( uiCode, "vps_vui_present_flag"); vps->setVpsVuiPresentFlag(uiCode ? true : false);
    14841498#endif
    14851499
  • branches/SHM-5.0-dev/source/Lib/TLibEncoder/TEncCavlc.cpp

    r552 r556  
    669669  UInt numBytesInVps = this->m_pcBitIf->getNumberOfWrittenBits();
    670670#endif
     671#if !P0307_REMOVE_VPS_VUI_OFFSET
    671672#if VPS_VUI_OFFSET
    672673   m_vpsVuiCounter = this->m_pcBitIf->getNumberOfWrittenBits();
     674#endif
    673675#endif
    674676  WRITE_CODE( pcVPS->getVPSId(),                    4,        "vps_video_parameter_set_id" );
     
    798800
    799801  WRITE_FLAG( vps->getAvcBaseLayerFlag(),              "avc_base_layer_flag" );
     802#if !P0307_REMOVE_VPS_VUI_OFFSET
    800803#if O0109_MOVE_VPS_VUI_FLAG
    801804#if !VPS_VUI
     
    819822  WRITE_FLAG( vps->getSplittingFlag(),                 "splitting_flag" );
    820823#endif // O0109_MOVE_VPS_VUI_FLAG
     824#endif
     825  WRITE_FLAG( vps->getSplittingFlag(),                 "splitting_flag" );
    821826
    822827  for(i = 0; i < MAX_VPS_NUM_SCALABILITY_TYPES; i++)
     
    11281133#endif
    11291134
     1135#if P0307_VPS_NON_VUI_EXTENSION
     1136  WRITE_UVLC( vps->getVpsNonVuiExtLength(), "vps_non_vui_extension_length" );
     1137  if ( vps->getVpsNonVuiExtLength() > 0 )
     1138  {
     1139    printf("\n\nUp to the current spec, the value of vps_non_vui_extension_length is supposed to be 0\n");
     1140  }
     1141#endif
     1142
    11301143#if !O0109_MOVE_VPS_VUI_FLAG
    11311144#if !VPS_VUI
     
    11481161#endif
    11491162#else
     1163#if P0307_REMOVE_VPS_VUI_OFFSET
     1164  WRITE_FLAG( 1,                     "vps_vui_present_flag" );
     1165  vps->setVpsVuiPresentFlag(true);
     1166#endif
    11501167  if(vps->getVpsVuiPresentFlag())   // Should be conditioned on the value of vps_vui_present_flag
    11511168  {
     
    11541171      WRITE_FLAG(1,                  "vps_vui_alignment_bit_equal_to_one");
    11551172    }
     1173#if !P0307_REMOVE_VPS_VUI_OFFSET
    11561174#if VPS_VUI_OFFSET
    11571175    Int vpsVuiOffsetValeInBits = this->m_pcBitIf->getNumberOfWrittenBits() - m_vpsVuiCounter + 16; // 2 bytes for NUH
    11581176    assert( vpsVuiOffsetValeInBits % 8 == 0 );
    11591177    vps->setVpsVuiOffset( vpsVuiOffsetValeInBits >> 3 );
     1178#endif
    11601179#endif
    11611180    codeVPSVUI(vps); 
  • branches/SHM-5.0-dev/source/Lib/TLibEncoder/TEncCavlc.h

    r550 r556  
    6868  TComSlice*    m_pcSlice;
    6969  UInt          m_uiCoeffCost;
     70#if !P0307_REMOVE_VPS_VUI_OFFSET
    7071#if VPS_VUI_OFFSET
    7172  Int m_vpsVuiCounter;
     73#endif
    7274#endif
    7375  Void codeShortTermRefPicSet              ( TComSPS* pcSPS, TComReferencePictureSet* pcRPS, Bool calledFromSliceHeader, Int idx );
Note: See TracChangeset for help on using the changeset viewer.