Changeset 664 in SHVCSoftware for branches/SHM-6-dev


Ignore:
Timestamp:
10 Apr 2014, 03:34:55 (11 years ago)
Author:
sharp
Message:

Following macros for Q0165 were introduced:

Q0165_OUTPUT_LAYER_SET: add a constraint to disallow an empty output layer set,
Q0165_NUM_ADD_OUTPUT_LAYER_SETS: signal num_add_output_layer_set and default_target_output_layer_idc when vps_num_layer_sets_minus1 is greater than 0

by Takeshi Tsukuba (tsukuba.takeshi@…)

Location:
branches/SHM-6-dev/source/Lib
Files:
3 edited

Legend:

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

    r662 r664  
    234234#define O0153_ALT_OUTPUT_LAYER_FLAG      1      ///< JCTVC-O0153: alt output layer flag
    235235#define P0300_ALT_OUTPUT_LAYER_FLAG      1      ///< JCTVC-P0300: alt output layer flag
     236
     237#define Q0165_OUTPUT_LAYER_SET           1      ///< JCTVC-Q0165: add a constraint to disallow an empty output layer set
     238#define Q0165_NUM_ADD_OUTPUT_LAYER_SETS  1      ///< JCTVC-Q0165: signal num_add_output_layer_set and default_target_output_layer_idc when vps_num_layer_sets_minus1 is greater than 0
    236239
    237240#define VPS_DPB_SIZE_TABLE               1      ///< JCTVC-O0217: DPB operations: signaling DPB-related parameters
  • branches/SHM-6-dev/source/Lib/TLibDecoder/TDecCAVLC.cpp

    r663 r664  
    12541254  }
    12551255#else
     1256
     1257#if Q0165_NUM_ADD_OUTPUT_LAYER_SETS
     1258  if( vps->getNumLayerSets() > 1 )
     1259  {
     1260    READ_UVLC( uiCode, "num_add_output_layer_sets" );            vps->setNumAddOutputLayerSets( uiCode );
     1261    READ_CODE( 2, uiCode, "default_target_output_layer_idc" );   vps->setDefaultTargetOutputLayerIdc( uiCode );
     1262  }
     1263  else
     1264  {
     1265    vps->setNumAddOutputLayerSets( 0 );
     1266  }
     1267#else
    12561268  READ_UVLC( uiCode, "num_add_output_layer_sets" );          vps->setNumAddOutputLayerSets( uiCode );
     1269#endif
    12571270  Int numOutputLayerSets = vps->getNumLayerSets() + vps->getNumAddOutputLayerSets();
    12581271#endif
    12591272
    12601273#if P0295_DEFAULT_OUT_LAYER_IDC
     1274#if !Q0165_NUM_ADD_OUTPUT_LAYER_SETS
    12611275  if( numOutputLayerSets > 1 )
    12621276  {
    12631277    READ_CODE( 2, uiCode, "default_target_output_layer_idc" );   vps->setDefaultTargetOutputLayerIdc( uiCode );
    12641278  }
     1279#endif
    12651280  vps->setNumOutputLayerSets( numOutputLayerSets );
    12661281
     
    13341349      vps->setAltOuputLayerFlag(i, uiCode ? true : false);
    13351350    }
     1351#if Q0165_OUTPUT_LAYER_SET
     1352    assert( NumOutputLayersInOutputLayerSet[i]>0 );
     1353#endif
     1354
    13361355#endif
    13371356  }
  • branches/SHM-6-dev/source/Lib/TLibEncoder/TEncCavlc.cpp

    r663 r664  
    998998  Int numOutputLayerSets = vps->getNumOutputLayerSets() ;
    999999  assert( numOutputLayerSets - (Int)vps->getNumLayerSets() >= 0 );
     1000
     1001#if Q0165_NUM_ADD_OUTPUT_LAYER_SETS
     1002  if( vps->getNumLayerSets() > 1 )
     1003  {
     1004    WRITE_UVLC( numOutputLayerSets - vps->getNumLayerSets(), "num_add_output_layer_sets" );
     1005    WRITE_CODE( vps->getDefaultTargetOutputLayerIdc(), 2, "default_target_output_layer_idc" );
     1006  }
     1007#else
    10001008  WRITE_UVLC( numOutputLayerSets - vps->getNumLayerSets(), "num_add_output_layer_sets" );
    10011009#endif
     1010
     1011#endif
     1012
     1013#if !Q0165_NUM_ADD_OUTPUT_LAYER_SETS
    10021014  if( numOutputLayerSets > 1 )
    10031015  {
     
    10121024#endif
    10131025  }
     1026#endif
    10141027
    10151028  for(i = 1; i < numOutputLayerSets; i++)
     
    10591072      WRITE_FLAG(vps->getAltOuputLayerFlag(i), "alt_output_layer_flag[i]");
    10601073    }
     1074
     1075#if Q0165_OUTPUT_LAYER_SET
     1076    assert( NumOutputLayersInOutputLayerSet[i]>0 );
     1077#endif
     1078
    10611079#endif
    10621080  }
Note: See TracChangeset for help on using the changeset viewer.