Changeset 152 in 3DVCSoftware for branches/HTM-4.1-dev2-LG/source/Lib/TLibDecoder
- Timestamp:
- 26 Oct 2012, 12:08:59 (12 years ago)
- Location:
- branches/HTM-4.1-dev2-LG/source/Lib/TLibDecoder
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-4.1-dev2-LG/source/Lib/TLibDecoder/TDecCAVLC.cpp
r146 r152 1803 1803 UInt address; 1804 1804 UInt innerAddress = 0; 1805 1806 #if LGE_ILLUCOMP_B0045 1807 // IC flag is on only first_slice_in_pic 1808 if (uiCode) 1809 { 1810 UInt uiCodeTmp = 0; 1811 if ( rpcSlice->getSPS()->getViewId() && !rpcSlice->getSPS()->isDepth() ) 1812 { 1813 READ_FLAG (uiCodeTmp, "applying IC flag"); 1814 } 1815 rpcSlice->setApplyIC(uiCodeTmp); 1816 } 1817 #endif 1818 1805 1819 if(!uiCode) 1806 1820 { … … 2601 2615 } 2602 2616 2617 #if LGE_ILLUCOMP_B0045 2618 Void TDecCavlc::parseICFlag( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ) 2619 { 2620 assert(0); 2621 } 2622 #endif 2623 2603 2624 #if HHI_INTER_VIEW_MOTION_PRED 2604 2625 Void TDecCavlc::parseMVPIdx( Int& riMVPIdx, Int iAMVPCands ) -
branches/HTM-4.1-dev2-LG/source/Lib/TLibDecoder/TDecCAVLC.h
r77 r152 142 142 143 143 Void parseSkipFlag ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ); 144 #if LGE_ILLUCOMP_B0045 145 Void parseICFlag ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ); 146 #endif 144 147 Void parseMergeFlag ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth, UInt uiPUIdx ); 145 148 Void parseMergeIndex ( TComDataCU* pcCU, UInt& ruiMergeIndex, UInt uiAbsPartIdx, UInt uiDepth ); -
branches/HTM-4.1-dev2-LG/source/Lib/TLibDecoder/TDecCu.cpp
r100 r152 389 389 } 390 390 } 391 #if LGE_ILLUCOMP_B0045 392 m_pcEntropyDecoder->decodeICFlag( pcCU, uiAbsPartIdx, uiDepth ); 393 #endif 391 394 #if HHI_MPI 392 395 } … … 440 443 m_pcEntropyDecoder->decodePredInfo( pcCU, uiAbsPartIdx, uiDepth, m_ppcCU[uiDepth]); 441 444 445 #if LGE_ILLUCOMP_B0045 446 m_pcEntropyDecoder->decodeICFlag( pcCU, uiAbsPartIdx, uiDepth ); 447 #endif 448 442 449 #if HHI_INTER_VIEW_RESIDUAL_PRED 443 450 if( !pcCU->isIntra( uiAbsPartIdx ) ) -
branches/HTM-4.1-dev2-LG/source/Lib/TLibDecoder/TDecEntropy.cpp
r100 r152 67 67 } 68 68 69 #if LGE_ILLUCOMP_B0045 70 Void TDecEntropy::decodeICFlag( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ) 71 { 72 pcCU->setICFlagSubParts( false , uiAbsPartIdx, 0, uiDepth ); 73 74 if (pcCU->isIntra(uiAbsPartIdx) || (pcCU->getSlice()->getViewId() == 0) || pcCU->getSlice()->getSPS()->isDepth()) 75 { 76 return; 77 } 78 79 if(!pcCU->getSlice()->getApplyIC()) 80 return; 81 82 if(pcCU->isICFlagRequired(uiAbsPartIdx)) 83 m_pcEntropyDecoderIf->parseICFlag( pcCU, uiAbsPartIdx, uiDepth ); 84 } 85 #endif 69 86 /** decode merge index 70 87 * \param pcCU -
branches/HTM-4.1-dev2-LG/source/Lib/TLibDecoder/TDecEntropy.h
r77 r152 103 103 public: 104 104 virtual Void parseSkipFlag ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ) = 0; 105 #if LGE_ILLUCOMP_B0045 106 virtual Void parseICFlag ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ) = 0; 107 #endif 105 108 virtual Void parseSplitFlag ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ) = 0; 106 109 virtual Void parseMergeFlag ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth, UInt uiPUIdx ) = 0; … … 196 199 Void decodeSplitFlag ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ); 197 200 Void decodeSkipFlag ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ); 201 #if LGE_ILLUCOMP_B0045 202 Void decodeICFlag ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ); 203 #endif 198 204 Void decodeMergeFlag ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth, UInt uiPUIdx ); 199 205 Void decodeMergeIndex ( TComDataCU* pcSubCU, UInt uiPartIdx, UInt uiPartAddr, PartSize eCUMode, UChar* puhInterDirNeighbours, TComMvField* pcMvFieldNeighbours, UInt uiDepth ); -
branches/HTM-4.1-dev2-LG/source/Lib/TLibDecoder/TDecSbac.cpp
r100 r152 52 52 , m_cCUSplitFlagSCModel ( 1, 1, NUM_SPLIT_FLAG_CTX , m_contextModels + m_numContextModels, m_numContextModels ) 53 53 , m_cCUSkipFlagSCModel ( 1, 1, NUM_SKIP_FLAG_CTX , m_contextModels + m_numContextModels, m_numContextModels) 54 #if LGE_ILLUCOMP_B0045 55 , m_cCUICFlagSCModel ( 1, 1, NUM_IC_FLAG_CTX , m_contextModels + m_numContextModels, m_numContextModels) 56 #endif 54 57 , m_cCUMergeFlagExtSCModel ( 1, 1, NUM_MERGE_FLAG_EXT_CTX , m_contextModels + m_numContextModels, m_numContextModels) 55 58 , m_cCUMergeIdxExtSCModel ( 1, 1, NUM_MERGE_IDX_EXT_CTX , m_contextModels + m_numContextModels, m_numContextModels) … … 146 149 m_cCUSplitFlagSCModel.initBuffer ( sliceType, qp, (UChar*)INIT_SPLIT_FLAG ); 147 150 m_cCUSkipFlagSCModel.initBuffer ( sliceType, qp, (UChar*)INIT_SKIP_FLAG ); 151 #if LGE_ILLUCOMP_B0045 152 m_cCUICFlagSCModel.initBuffer ( sliceType, qp, (UChar*)INIT_IC_FLAG ); 153 #endif 148 154 m_cCUMergeFlagExtSCModel.initBuffer ( sliceType, qp, (UChar*)INIT_MERGE_FLAG_EXT ); 149 155 m_cCUMergeIdxExtSCModel.initBuffer ( sliceType, qp, (UChar*)INIT_MERGE_IDX_EXT ); … … 230 236 m_cCUSplitFlagSCModel.initBuffer ( eSliceType, iQp, (UChar*)INIT_SPLIT_FLAG ); 231 237 m_cCUSkipFlagSCModel.initBuffer ( eSliceType, iQp, (UChar*)INIT_SKIP_FLAG ); 238 #if LGE_ILLUCOMP_B0045 239 m_cCUICFlagSCModel.initBuffer ( eSliceType, iQp, (UChar*)INIT_IC_FLAG ); 240 #endif 232 241 m_cCUMergeFlagExtSCModel.initBuffer ( eSliceType, iQp, (UChar*)INIT_MERGE_FLAG_EXT ); 233 242 m_cCUMergeIdxExtSCModel.initBuffer ( eSliceType, iQp, (UChar*)INIT_MERGE_IDX_EXT ); … … 578 587 } 579 588 589 #if LGE_ILLUCOMP_B0045 590 /** parse illumination compensation flag 591 * \param pcCU 592 * \param uiAbsPartIdx 593 * \param uiDepth 594 * \returns Void 595 */ 596 Void TDecSbac::parseICFlag( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ) 597 { 598 UInt uiSymbol = 0; 599 UInt uiCtxIC = pcCU->getCtxICFlag( uiAbsPartIdx ); 600 m_pcTDecBinIf->decodeBin( uiSymbol, m_cCUICFlagSCModel.get( 0, 0, uiCtxIC ) ); 601 DTRACE_CABAC_VL( g_nSymbolCounter++ ); 602 DTRACE_CABAC_T( "\tICFlag" ); 603 DTRACE_CABAC_T( "\tuiCtxIC: "); 604 DTRACE_CABAC_V( uiCtxIC ); 605 DTRACE_CABAC_T( "\tuiSymbol: "); 606 DTRACE_CABAC_V( uiSymbol ); 607 DTRACE_CABAC_T( "\n"); 608 609 pcCU->setICFlagSubParts( uiSymbol ? true : false , uiAbsPartIdx, 0, uiDepth ); 610 } 611 #endif 612 613 580 614 /** parse merge flag 581 615 * \param pcCU -
branches/HTM-4.1-dev2-LG/source/Lib/TLibDecoder/TDecSbac.h
r100 r152 166 166 167 167 Void parseSkipFlag ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ); 168 #if LGE_ILLUCOMP_B0045 169 Void parseICFlag ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ); 170 #endif 168 171 Void parseSplitFlag ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ); 169 172 Void parseMergeFlag ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth, UInt uiPUIdx ); … … 207 210 ContextModel3DBuffer m_cCUSplitFlagSCModel; 208 211 ContextModel3DBuffer m_cCUSkipFlagSCModel; 212 #if LGE_ILLUCOMP_B0045 213 ContextModel3DBuffer m_cCUICFlagSCModel; 214 #endif 209 215 ContextModel3DBuffer m_cCUMergeFlagExtSCModel; 210 216 ContextModel3DBuffer m_cCUMergeIdxExtSCModel;
Note: See TracChangeset for help on using the changeset viewer.