Changeset 773 in 3DVCSoftware for trunk/source/App/TAppDecoder/TAppDecTop.cpp
- Timestamp:
- 16 Jan 2014, 09:56:13 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/App/TAppDecoder/TAppDecTop.cpp
r738 r773 61 61 { 62 62 #if H_MV 63 #if H_MV_LAYER_WISE_STARTUP64 63 for (Int i = 0; i < MAX_NUM_LAYER_IDS; i++) 65 64 { … … 67 66 m_layerInitilizedFlags[i] = false; 68 67 } 69 #else70 for (Int i = 0; i < MAX_NUM_LAYER_IDS; i++) m_layerIdToDecIdx[i] = -1;71 #endif72 68 #endif 73 69 #if H_3D … … 192 188 Bool newSliceDiffPoc = false; 193 189 Bool newSliceDiffLayer = false; 194 #if H_MV_FIX_SKIP_PICTURES195 190 Bool sliceSkippedFlag = false; 196 #endif197 191 #if H_3D 198 192 Bool allLayersDecoded = false; … … 212 206 read(nalu, nalUnit); 213 207 #if H_MV 214 #if !H_MV_6_HRD_O0217_13215 Int decIdx = xGetDecoderIdx( nalu.m_layerId , true );216 #endif217 #if H_MV_6_LAYER_ID_32218 208 if( (m_iMaxTemporalLayer >= 0 && nalu.m_temporalId > m_iMaxTemporalLayer) || !isNaluWithinTargetDecLayerIdSet(&nalu) || nalu.m_layerId > MAX_NUM_LAYER_IDS-1 ) 219 #else220 if( (m_iMaxTemporalLayer >= 0 && nalu.m_temporalId > m_iMaxTemporalLayer) || !isNaluWithinTargetDecLayerIdSet(&nalu) )221 #endif222 209 { 223 210 bNewPicture = false; 224 #if H_MV_6_LAYER_ID_32225 211 if ( !bitstreamFile ) 226 212 { 227 213 decIdxLastPic = decIdxCurrPic; 228 214 } 229 #endif230 215 } 231 216 else 232 217 { 233 #if H_MV_6_HRD_O0217_13234 218 Int decIdx = xGetDecoderIdx( nalu.m_layerId , true ); 235 #endif236 219 newSliceDiffLayer = nalu.isSlice() && ( nalu.m_layerId != layerIdCurrPic ) && !firstSlice; 237 #if H_MV_FIX_SKIP_PICTURES238 220 newSliceDiffPoc = m_tDecTop[decIdx]->decode(nalu, m_iSkipFrame, m_pocLastDisplay[decIdx], newSliceDiffLayer, sliceSkippedFlag ); 239 #else240 newSliceDiffPoc = m_tDecTop[decIdx]->decode(nalu, m_iSkipFrame, m_pocLastDisplay[decIdx], newSliceDiffLayer );241 #endif242 221 // decode function only returns true when all of the following conditions are true 243 222 // - poc in particular layer changes … … 245 224 // - nalu.isSlice() == true 246 225 247 #if H_MV_6_HRD_O0217_13248 226 // Update TargetDecLayerIdList only when not specified by layer id file, specification by file might actually out of conformance. 249 227 if (nalu.m_nalUnitType == NAL_UNIT_VPS && m_targetDecLayerIdSetFileEmpty ) … … 258 236 m_targetDecLayerIdSet = vps->getTargetDecLayerIdList( m_targetOptLayerSetIdx ); 259 237 } 260 #endif261 #if H_MV_FIX_SKIP_PICTURES262 238 bNewPicture = ( newSliceDiffLayer || newSliceDiffPoc ) && !sliceSkippedFlag; 263 239 if ( nalu.isSlice() && firstSlice && !sliceSkippedFlag ) 264 #else265 bNewPicture = newSliceDiffLayer || newSliceDiffPoc;266 267 if ( nalu.isSlice() && firstSlice )268 #endif269 240 { 270 241 layerIdCurrPic = nalu.m_layerId; … … 881 852 Int decIdx = -1; 882 853 883 #if H_MV_6_LAYER_ID_32884 854 if ( layerId > MAX_NUM_LAYER_IDS-1 ) 885 855 { 886 856 return decIdx; 887 857 } 888 #endif889 858 890 859 if ( m_layerIdToDecIdx[ layerId ] != -1 ) … … 906 875 m_tDecTop[ decIdx ]->setDecodedPictureHashSEIEnabled(m_decodedPictureHashSEIEnabled); 907 876 m_tDecTop[ decIdx ]->setIvPicLists( &m_ivPicLists ); 908 #if H_MV_LAYER_WISE_STARTUP909 877 m_tDecTop[ decIdx ]->setLayerInitilizedFlags( m_layerInitilizedFlags ); 910 #endif911 878 912 879 #if H_3D
Note: See TracChangeset for help on using the changeset viewer.