Changeset 40 in 3DVCSoftware for branches/0.3-ericsson/source/Lib/TLibEncoder
- Timestamp:
- 25 Mar 2012, 13:04:30 (13 years ago)
- Location:
- branches/0.3-ericsson/source/Lib/TLibEncoder
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/0.3-ericsson/source/Lib/TLibEncoder/TEncCavlc.cpp
r5 r40 39 39 40 40 #include "TEncCavlc.h" 41 #include "../TLibCommon/SEI.h" 41 42 #include "SEIwrite.h" 42 43 … … 228 229 void TEncCavlc::codeSEI(const SEI& sei) 229 230 { 231 #if BITSTREAM_EXTRACTION 232 codeNALUnitHeader( NAL_UNIT_SEI, NAL_REF_IDC_PRIORITY_LOWEST, 0, sei.getLayerId() ); 233 #else 230 234 codeNALUnitHeader(NAL_UNIT_SEI, NAL_REF_IDC_PRIORITY_LOWEST); 235 #endif 231 236 writeSEImessage(*m_pcBitIf, sei); 232 237 } … … 235 240 { 236 241 // uiFirstByte 242 #if BITSTREAM_EXTRACTION 243 codeNALUnitHeader( NAL_UNIT_PPS, NAL_REF_IDC_PRIORITY_HIGHEST, 0, pcPPS->getLayerId() ); 244 #else 237 245 codeNALUnitHeader( NAL_UNIT_PPS, NAL_REF_IDC_PRIORITY_HIGHEST ); 246 #endif 238 247 239 248 xWriteUvlc( pcPPS->getPPSId() ); … … 249 258 } 250 259 260 #if BITSTREAM_EXTRACTION 261 Void TEncCavlc::codeNALUnitHeader( NalUnitType eNalUnitType, NalRefIdc eNalRefIdc, UInt TemporalId, UInt uiLayerId ) 262 { 263 // uiFirstByte 264 xWriteCode( 0, 1); // forbidden_zero_flag 265 xWriteCode( eNalRefIdc==0 ? 0:1, 1); // nal_ref_flag 266 xWriteCode( eNalUnitType, 6); // nal_unit_type 267 268 xWriteCode( TemporalId, 3); // temporal_id 269 xWriteCode( uiLayerId+1, 5); // layer_id_plus1 270 } 271 #else 251 272 Void TEncCavlc::codeNALUnitHeader( NalUnitType eNalUnitType, NalRefIdc eNalRefIdc, UInt TemporalId, Bool bOutputFlag ) 252 273 { … … 263 284 } 264 285 } 286 #endif 265 287 266 288 Void TEncCavlc::codeSPS( TComSPS* pcSPS ) 267 289 { 268 290 // uiFirstByte 291 #if BITSTREAM_EXTRACTION 292 codeNALUnitHeader( NAL_UNIT_SPS, NAL_REF_IDC_PRIORITY_HIGHEST, 0, pcSPS->getLayerId() ); 293 #else 269 294 codeNALUnitHeader( NAL_UNIT_SPS, NAL_REF_IDC_PRIORITY_HIGHEST ); 295 #endif 270 296 271 297 // Structure … … 385 411 // here someone can add an appropriated NalRefIdc type 386 412 #if DCM_DECODING_REFRESH 413 #if BITSTREAM_EXTRACTION 414 codeNALUnitHeader (pcSlice->getNalUnitType(), NAL_REF_IDC_PRIORITY_HIGHEST, 1, pcSlice->getLayerId()); 415 #else 387 416 codeNALUnitHeader (pcSlice->getNalUnitType(), NAL_REF_IDC_PRIORITY_HIGHEST, 1, true); 417 #endif 418 #else 419 #if BITSTREAM_EXTRACTION 420 codeNALUnitHeader (NAL_UNIT_CODED_SLICE, NAL_REF_IDC_PRIORITY_HIGHEST, 0, pcSlice->getLayerId()); 388 421 #else 389 422 codeNALUnitHeader (NAL_UNIT_CODED_SLICE, NAL_REF_IDC_PRIORITY_HIGHEST); 423 #endif 390 424 #endif 391 425 -
branches/0.3-ericsson/source/Lib/TLibEncoder/TEncCavlc.h
r5 r40 206 206 UInt getCoeffCost () { return m_uiCoeffCost; } 207 207 208 #if BITSTREAM_EXTRACTION 209 Void codeNALUnitHeader ( NalUnitType eNalUnitType, NalRefIdc eNalRefIdc, UInt TemporalId = 0, UInt uiLayerId = 0 ); 210 #else 208 211 Void codeNALUnitHeader ( NalUnitType eNalUnitType, NalRefIdc eNalRefIdc, UInt TemporalId = 0, Bool bOutputFlag = true ); 212 #endif 209 213 210 214 Void codeSPS ( TComSPS* pcSPS ); -
branches/0.3-ericsson/source/Lib/TLibEncoder/TEncCfg.h
r34 r40 187 187 //std::vector<int> m_aiLayerQPOffset; 188 188 189 #if BITSTREAM_EXTRACTION 190 UInt m_uiLayerId; 191 #endif 189 192 UInt m_uiViewId; 190 193 Int m_iViewOrderIdx; … … 238 241 Void setRateGOPSize ( Int i ) { m_iRateGOPSize = i; } 239 242 243 #if BITSTREAM_EXTRACTION 244 Void setLayerId ( UInt u ) { m_uiLayerId = u; } 245 UInt getLayerId ( ) { return m_uiLayerId; } 246 #endif 240 247 Void setViewId ( UInt u ) { m_uiViewId = u; } 241 248 Void setViewOrderIdx ( Int i ) { m_iViewOrderIdx = i; } -
branches/0.3-ericsson/source/Lib/TLibEncoder/TEncEntropy.h
r5 r40 72 72 virtual UInt getCoeffCost () = 0; 73 73 74 #if BITSTREAM_EXTRACTION 75 virtual Void codeNALUnitHeader ( NalUnitType eNalUnitType, NalRefIdc eNalRefIdc, UInt TemporalId = 0, UInt uiLayerId = 0 ) = 0; 76 #else 74 77 virtual Void codeNALUnitHeader ( NalUnitType eNalUnitType, NalRefIdc eNalRefIdc, UInt TemporalId = 0, Bool bOutputFlag = true ) = 0; 78 #endif 75 79 76 80 virtual Void codeSPS ( TComSPS* pcSPS ) = 0; -
branches/0.3-ericsson/source/Lib/TLibEncoder/TEncGOP.cpp
r5 r40 639 639 seiBs.create(1024); 640 640 /* write the SEI messages */ 641 #if BITSTREAM_EXTRACTION 642 sei_recon_picture_digest.setLayerId( pcSlice->getLayerId() ); 643 #endif 641 644 m_pcEntropyCoder->setEntropyCoder(m_pcCavlcCoder, pcSlice); 642 645 m_pcEntropyCoder->setBitstream(&seiBs); -
branches/0.3-ericsson/source/Lib/TLibEncoder/TEncSbac.cpp
r34 r40 177 177 } 178 178 179 #if BITSTREAM_EXTRACTION 180 Void TEncSbac::codeNALUnitHeader( NalUnitType eNalUnitType, NalRefIdc eNalRefIdc, UInt TemporalId, UInt uiLayerId ) 181 #else 179 182 Void TEncSbac::codeNALUnitHeader( NalUnitType eNalUnitType, NalRefIdc eNalRefIdc, UInt TemporalId, Bool bOutputFlag ) 183 #endif 180 184 { 181 185 assert (0); -
branches/0.3-ericsson/source/Lib/TLibEncoder/TEncSbac.h
r5 r40 89 89 //--SBAC RD 90 90 91 #if BITSTREAM_EXTRACTION 92 Void codeNALUnitHeader ( NalUnitType eNalUnitType, NalRefIdc eNalRefIdc, UInt TemporalId = 0, UInt uiLayerId = 0 ); 93 #else 91 94 Void codeNALUnitHeader ( NalUnitType eNalUnitType, NalRefIdc eNalRefIdc, UInt TemporalId = 0, Bool bOutputFlag = true ); 95 #endif 92 96 93 97 Void codeSPS ( TComSPS* pcSPS ); -
branches/0.3-ericsson/source/Lib/TLibEncoder/TEncSlice.cpp
r21 r40 149 149 rpcSlice->initSlice(); 150 150 rpcSlice->setPOC( pcPic->getPOC() ); 151 #if BITSTREAM_EXTRACTION 152 rpcSlice->setLayerId( m_pcCfg->getLayerId() ); 153 #endif 151 154 #if SONY_COLPIC_AVAILABILITY 152 155 rpcSlice->setViewOrderIdx(m_pcCfg->getViewOrderIdx()); -
branches/0.3-ericsson/source/Lib/TLibEncoder/TEncTop.cpp
r34 r40 546 546 m_cSPS.setMaxTrSize ( 1 << m_uiQuadtreeTULog2MaxSize ); 547 547 548 #if BITSTREAM_EXTRACTION 549 m_cSPS.setLayerId( m_uiLayerId ); 550 #endif 551 548 552 if( m_bIsDepth ) 549 553 { … … 632 636 Void TEncTop::xInitPPS() 633 637 { 638 #if BITSTREAM_EXTRACTION 639 m_cPPS.setLayerId( m_uiLayerId ); 640 #endif 641 634 642 m_cPPS.setConstrainedIntraPred( m_bUseConstrainedIntraPred ); 635 643 m_cPPS.setPPSId( ( m_uiViewId << 1 ) + ( m_bIsDepth ? 1 : 0 ) );
Note: See TracChangeset for help on using the changeset viewer.