Changeset 1177 in SHVCSoftware
- Timestamp:
- 8 Jul 2015, 02:41:56 (9 years ago)
- Location:
- branches/SHM-dev/source
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/SHM-dev/source/App/TAppDecoder/TAppDecCfg.cpp
r1107 r1177 70 70 string cfg_ReconFile [MAX_LAYERS]; 71 71 Int layerNum, targetLayerId; 72 #if OUTPUT_LAYER_SET_INDEX73 72 Int olsIdx; 74 #endif75 73 #if CONFORMANCE_BITSTREAM_MODE 76 74 string cfg_confPrefix; … … 104 102 ("TargetLayerId,-lid", targetLayerId, -1, "Target layer id") 105 103 ("LayerNum,-ls", layerNum, MAX_NUM_LAYER_IDS, "Target layer id") // Legacy option 106 #if OUTPUT_LAYER_SET_INDEX107 104 ("OutpuLayerSetIdx,-olsidx", olsIdx, -1, "Index of output layer set to be decoded.") 108 #endif109 105 #if CONFORMANCE_BITSTREAM_MODE 110 106 ("ConformanceBitstremMode,-confMode", m_confModeFlag, false, "Enable generation of conformance bitstream metadata; True: Generate metadata, False: No metadata generated") … … 171 167 assert( targetLayerId < MAX_NUM_LAYER_IDS ); 172 168 #endif 173 #if OUTPUT_LAYER_SET_INDEX174 169 #if CONFORMANCE_BITSTREAM_MODE 175 170 if( m_confModeFlag ) … … 202 197 m_commonDecoderParams.setTargetOutputLayerSetIdx( olsIdx ); 203 198 m_commonDecoderParams.setTargetLayerId( targetLayerId ); 204 #endif 199 205 200 #if CONFORMANCE_BITSTREAM_MODE 206 201 for(Int layer = 0; layer < MAX_VPS_LAYER_IDX_PLUS1; layer++ ) … … 264 259 fprintf(stderr, "File %s could not be opened. Using all LayerIds as default.\n", cfg_TargetDecLayerIdSetFile.c_str() ); 265 260 } 266 #if OUTPUT_LAYER_SET_INDEX 267 this->getCommonDecoderParams()->setTargetDecLayerIdSet( &m_targetDecLayerIdSet ); 261 262 #if SVC_EXTENSION 263 m_commonDecoderParams.setTargetDecLayerIdSet( &m_targetDecLayerIdSet ); 268 264 #endif 269 265 } -
branches/SHM-dev/source/App/TAppDecoder/TAppDecCfg.h
r1057 r1177 74 74 #endif 75 75 76 std::vector<Int> m_targetDecLayerIdSet; ///< set of LayerIds to be included in the sub-bitstream extraction process. 77 Int m_respectDefDispWindow; ///< Only output content inside the default display window 78 #if O0043_BEST_EFFORT_DECODING 79 UInt m_forceDecodeBitDepth; ///< if non-zero, force the bit depth at the decoder (best effort decoding) 80 #endif 81 std::string m_outputDecodedSEIMessagesFilename; ///< filename to output decoded SEI messages to. If '-', then use stdout. If empty, do not output details. 82 76 83 #if SVC_EXTENSION 77 84 #if AVC_BASE … … 82 89 #endif 83 90 #endif 84 #endif85 86 std::vector<Int> m_targetDecLayerIdSet; ///< set of LayerIds to be included in the sub-bitstream extraction process.87 Int m_respectDefDispWindow; ///< Only output content inside the default display window88 #if O0043_BEST_EFFORT_DECODING89 UInt m_forceDecodeBitDepth; ///< if non-zero, force the bit depth at the decoder (best effort decoding)90 #endif91 std::string m_outputDecodedSEIMessagesFilename; ///< filename to output decoded SEI messages to. If '-', then use stdout. If empty, do not output details.92 #if OUTPUT_LAYER_SET_INDEX93 91 CommonDecoderParams m_commonDecoderParams; 94 #endif95 92 #if CONFORMANCE_BITSTREAM_MODE 96 93 Bool m_confModeFlag; … … 100 97 std::string m_decodedYuvLayerFileName[63]; 101 98 Bool m_decodedYuvLayerRefresh[63]; 99 #endif 102 100 #endif 103 101 … … 134 132 135 133 Bool parseCfg ( Int argc, Char* argv[] ); ///< initialize option class from configuration 136 #if OUTPUT_LAYER_SET_INDEX 134 135 #if SVC_EXTENSION 137 136 CommonDecoderParams* getCommonDecoderParams() {return &m_commonDecoderParams;} 138 #endif 137 139 138 #if CONFORMANCE_BITSTREAM_MODE 140 139 Bool const getConfModeFlag() { return m_confModeFlag; } … … 148 147 Void setDecodedYuvLayerRefresh(Int const layerId, Bool const x) {m_decodedYuvLayerRefresh[layerId] = x; } 149 148 #endif 149 #endif 150 150 151 }; 151 152 -
branches/SHM-dev/source/App/TAppDecoder/TAppDecTop.cpp
r1139 r1177 666 666 m_acTDecTop[layer].setNumLayer( m_tgtLayerId + 1 ); 667 667 #endif 668 #if OUTPUT_LAYER_SET_INDEX669 668 m_acTDecTop[layer].setCommonDecoderParams( &m_commonDecoderParams ); 670 #endif671 669 } 672 670 #if CONFORMANCE_BITSTREAM_MODE -
branches/SHM-dev/source/Lib/TLibCommon/CommonDef.h
r1106 r1177 306 306 }; 307 307 308 #if OUTPUT_LAYER_SET_INDEX308 #if SVC_EXTENSION 309 309 class CommonDecoderParams 310 310 { -
branches/SHM-dev/source/Lib/TLibCommon/TypeDef.h
r1176 r1177 124 124 #define VPS_DPB_SIZE_TABLE 1 ///< JCTVC-O0217: DPB operations: signaling DPB-related parameters 125 125 #if VPS_DPB_SIZE_TABLE 126 #define OUTPUT_LAYER_SET_INDEX 1 ///< JCTVC-O0217: DPB operations: Inference/input of output layer set index127 #if OUTPUT_LAYER_SET_INDEX128 126 #define USE_DPB_SIZE_TABLE 1 ///< JCTVC-O0217: DPB operations: Use signaled DPB-size table parameters in the decoder 129 #endif130 127 #endif 131 128 #define DPB_PARAMS_MAXTLAYERS 1 ///< JCTVC-P0156 DPB parameters up to maximum temporal sub-layers in the layer set -
branches/SHM-dev/source/Lib/TLibDecoder/TDecTop.cpp
r1175 r1177 699 699 #if SVC_EXTENSION 700 700 m_apcSlicePilot->setVPS( m_parameterSetManagerDecoder.getPrefetchedVPS(0) ); 701 #if OUTPUT_LAYER_SET_INDEX 701 702 702 // Following check should go wherever the VPS is activated 703 if (!m_apcSlicePilot->getVPS()->getBaseLayerAvailableFlag())703 if( !m_apcSlicePilot->getVPS()->getBaseLayerAvailableFlag() ) 704 704 { 705 705 assert(nalu.m_layerId != 0); 706 706 assert(m_apcSlicePilot->getVPS()->getNumAddLayerSets() > 0); 707 if (getCommonDecoderParams()->getTargetOutputLayerSetIdx() >= 0) 707 708 if( m_commonDecoderParams->getTargetOutputLayerSetIdx() >= 0 ) 708 709 { 709 710 UInt layerIdx = m_apcSlicePilot->getVPS()->getOutputLayerSetIdx(getCommonDecoderParams()->getTargetOutputLayerSetIdx()); … … 711 712 } 712 713 } 713 #endif 714 714 715 m_apcSlicePilot->initSlice( nalu.m_layerId ); 715 716 #else //SVC_EXTENSION … … 2454 2455 } 2455 2456 2456 #if OUTPUT_LAYER_SET_INDEX2457 2457 Void TDecTop::checkValueOfTargetOutputLayerSetIdx(TComVPS *vps) 2458 2458 { … … 2477 2477 // Currently, the target layer ID in the encoder assumes that all the layers are decoded 2478 2478 // Check if any of the output layer sets match this description 2479 for( Int i = 0; i < vps->getNumOutputLayerSets(); i++)2479 for( Int i = 0; i < vps->getNumOutputLayerSets(); i++ ) 2480 2480 { 2481 2481 Bool layerSetMatchFlag = false; 2482 2482 Int layerSetIdx = vps->getOutputLayerSetIdx( i ); 2483 2483 2484 for( Int j = 0; j < vps->getNumLayersInIdList( layerSetIdx ); j++)2484 for( Int j = 0; j < vps->getNumLayersInIdList( layerSetIdx ); j++ ) 2485 2485 { 2486 2486 if( vps->getLayerSetLayerIdList( layerSetIdx, j ) == params->getTargetLayerId() ) … … 2498 2498 if( params->getTargetDecLayerIdSet()->size() ) 2499 2499 { 2500 for( Int j = 0; j < vps->getNumLayersInIdList( layerSetIdx ); j++)2500 for( Int j = 0; j < vps->getNumLayersInIdList( layerSetIdx ); j++ ) 2501 2501 { 2502 2502 if( *(params->getTargetDecLayerIdSet()->begin() + j) != vps->getLayerIdInNuh(vps->getLayerSetLayerIdList( layerSetIdx, j ))) … … 2552 2552 2553 2553 // Check if the current layer is an output layer 2554 for( Int i = 0; i < vps->getNumLayersInIdList( targetLsIdx ); i++)2554 for( Int i = 0; i < vps->getNumLayersInIdList( targetLsIdx ); i++ ) 2555 2555 { 2556 2556 if( vps->getOutputLayerFlag( targetOlsIdx, i ) ) … … 2560 2560 } 2561 2561 } 2562 #endif2563 2562 2564 2563 #if POC_RESET_IDC_DECODER -
branches/SHM-dev/source/Lib/TLibDecoder/TDecTop.h
r1148 r1177 150 150 151 151 TComPic* m_cIlpPic[MAX_NUM_REF]; ///< Inter layer Prediction picture = upsampled picture 152 #if OUTPUT_LAYER_SET_INDEX153 152 CommonDecoderParams* m_commonDecoderParams; 154 #endif155 153 #if NO_CLRAS_OUTPUT_FLAG 156 154 Bool m_noClrasOutputFlag; … … 260 258 261 259 #if AVC_BASE 262 Void setBLReconFile( fstream* pFile ) { m_pBLReconFile = pFile; }263 fstream* getBLReconFile() { return m_pBLReconFile;}260 Void setBLReconFile( fstream* pFile ) { m_pBLReconFile = pFile; } 261 fstream* getBLReconFile() { return m_pBLReconFile; } 264 262 #if !REPN_FORMAT_IN_VPS 265 263 Void setBLsize( Int iWidth, Int iHeight ) { m_iBLSourceWidth = iWidth; m_iBLSourceHeight = iHeight; } … … 273 271 Void xInitILRP(TComSPS *pcSPS); 274 272 #endif 275 #if OUTPUT_LAYER_SET_INDEX 276 CommonDecoderParams* getCommonDecoderParams() { return m_commonDecoderParams; } 277 Void setCommonDecoderParams(CommonDecoderParams* x) { m_commonDecoderParams = x; } 273 CommonDecoderParams* getCommonDecoderParams() { return m_commonDecoderParams; } 274 Void setCommonDecoderParams(CommonDecoderParams* x) { m_commonDecoderParams = x; } 278 275 Void checkValueOfTargetOutputLayerSetIdx(TComVPS *vps); 279 #endif280 276 #if SCALINGLIST_INFERRING 281 ParameterSetManagerDecoder* getParameterSetManager() { return &m_parameterSetManagerDecoder; }277 ParameterSetManagerDecoder* getParameterSetManager() { return &m_parameterSetManagerDecoder; } 282 278 #endif 283 279 #if CONFORMANCE_BITSTREAM_MODE
Note: See TracChangeset for help on using the changeset viewer.