Changeset 438 in 3DVCSoftware for branches/HTM-DEV-0.2-dev/source/App/TAppDecoder/TAppDecTop.h
- Timestamp:
- 23 May 2013, 15:40:36 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-DEV-0.2-dev/source/App/TAppDecoder/TAppDecTop.h
r401 r438 74 74 // for output control 75 75 Bool m_abDecFlag[ MAX_GOP ]; ///< decoded flag in one GOP 76 76 77 #if H_MV 77 78 Int m_pocLastDisplay [ MAX_NUM_LAYERS ]; ///< last POC in display order … … 89 90 Void decode (); ///< main decoding function 90 91 92 91 93 protected: 92 94 Void xCreateDecLib (); ///< create internal classes … … 97 99 Void xWriteOutput ( TComList<TComPic*>* pcListPic, Int layerId, Int tId ); ///< write YUV to file 98 100 Void xFlushOutput ( TComList<TComPic*>* pcListPic, Int layerId ); ///< flush all remaining decoded pictures to file 99 Int xGetDecoderIdx ( Int layerId, Bool createFlag = false ); 101 Int xGetDecoderIdx ( Int layerId, Bool createFlag = false ) 102 { 103 Int decIdx = -1; 104 if ( m_layerIdToDecIdx[ layerId ] != -1 ) 105 { 106 decIdx = m_layerIdToDecIdx[ layerId ]; 107 } 108 else 109 { 110 assert ( createFlag ); 111 assert( m_numDecoders < MAX_NUM_LAYERS ); 112 113 decIdx = m_numDecoders; 114 115 // Init decoder 116 m_tDecTop[ decIdx ] = new TDecTop; 117 m_tDecTop[ decIdx ]->create(); 118 m_tDecTop[ decIdx ]->init( ); 119 m_tDecTop[ decIdx ]->setLayerId( layerId ); 120 m_tDecTop[ decIdx ]->setDecodedPictureHashSEIEnabled(m_decodedPictureHashSEIEnabled); 121 m_tDecTop[ decIdx ]->setIvPicLists( &m_ivPicLists ); 122 123 // append pic list of new decoder to PicLists 124 assert( m_ivPicLists.size() == m_numDecoders ); 125 m_ivPicLists.push_back( m_tDecTop[ decIdx ]->getListPic() ); 126 127 // create recon file related stuff 128 Char* pchTempFilename = NULL; 129 if ( m_pchReconFile ) 130 { 131 Char buffer[4]; 132 sprintf(buffer,"_%i", layerId ); 133 assert ( m_pchReconFile ); 134 xAppendToFileNameEnd( m_pchReconFile , buffer, pchTempFilename ); 135 assert( m_pchReconFiles.size() == m_numDecoders ); 136 } 137 138 m_pchReconFiles.push_back( pchTempFilename ); 139 140 m_tVideoIOYuvReconFile[ decIdx ] = new TVideoIOYuv; 141 m_reconOpen [ decIdx ] = false; 142 143 // set others 144 m_pocLastDisplay [ decIdx ] = -MAX_INT; 145 m_layerIdToDecIdx [ layerId ] = decIdx; 146 147 m_numDecoders++; 148 }; 149 return decIdx; 150 } 100 151 #else 101 152 Void xWriteOutput ( TComList<TComPic*>* pcListPic , UInt tId); ///< write YUV to file 102 153 Void xFlushOutput ( TComList<TComPic*>* pcListPic ); ///< flush all remaining decoded pictures to file 103 154 #endif 155 104 156 Bool isNaluWithinTargetDecLayerIdSet ( InputNALUnit* nalu ); ///< check whether given Nalu is within targetDecLayerIdSet 105 157 };
Note: See TracChangeset for help on using the changeset viewer.