Changeset 464 in 3DVCSoftware for branches/HTM-DEV-0.3-dev2a/source/Lib/TLibDecoder/TDecSbac.cpp
- Timestamp:
- 11 Jun 2013, 20:35:00 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-DEV-0.3-dev2a/source/Lib/TLibDecoder/TDecSbac.cpp
r324 r464 54 54 , m_cCUMergeFlagExtSCModel ( 1, 1, NUM_MERGE_FLAG_EXT_CTX , m_contextModels + m_numContextModels, m_numContextModels) 55 55 , m_cCUMergeIdxExtSCModel ( 1, 1, NUM_MERGE_IDX_EXT_CTX , m_contextModels + m_numContextModels, m_numContextModels) 56 #if H_3D_ARP 57 , m_cCUPUARPW ( 1, 1, NUM_ARPW_CTX , m_contextModels + m_numContextModels, m_numContextModels) 58 #endif 56 59 , m_cCUPartSizeSCModel ( 1, 1, NUM_PART_SIZE_CTX , m_contextModels + m_numContextModels, m_numContextModels) 57 60 , m_cCUPredModeSCModel ( 1, 1, NUM_PRED_MODE_CTX , m_contextModels + m_numContextModels, m_numContextModels) … … 113 116 m_cCUMergeFlagExtSCModel.initBuffer ( sliceType, qp, (UChar*)INIT_MERGE_FLAG_EXT ); 114 117 m_cCUMergeIdxExtSCModel.initBuffer ( sliceType, qp, (UChar*)INIT_MERGE_IDX_EXT ); 118 #if H_3D_ARP 119 m_cCUPUARPW.initBuffer ( sliceType, qp, (UChar*)INIT_ARPW ); 120 #endif 115 121 m_cCUPartSizeSCModel.initBuffer ( sliceType, qp, (UChar*)INIT_PART_SIZE ); 116 122 m_cCUAMPSCModel.initBuffer ( sliceType, qp, (UChar*)INIT_CU_AMP_POS ); … … 158 164 m_cCUMergeFlagExtSCModel.initBuffer ( eSliceType, iQp, (UChar*)INIT_MERGE_FLAG_EXT ); 159 165 m_cCUMergeIdxExtSCModel.initBuffer ( eSliceType, iQp, (UChar*)INIT_MERGE_IDX_EXT ); 166 #if H_3D_ARP 167 m_cCUPUARPW.initBuffer ( eSliceType, iQp, (UChar*)INIT_ARPW ); 168 #endif 160 169 m_cCUPartSizeSCModel.initBuffer ( eSliceType, iQp, (UChar*)INIT_PART_SIZE ); 161 170 m_cCUAMPSCModel.initBuffer ( eSliceType, iQp, (UChar*)INIT_CU_AMP_POS ); … … 1551 1560 xCopyContextsFrom(pScr); 1552 1561 } 1562 1563 #if H_3D_ARP 1564 Void TDecSbac::parseARPW( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ) 1565 { 1566 UInt uiMaxW = pcCU->getSlice()->getARPStepNum() - 1; 1567 UInt uiW = 0; 1568 UInt uiOffset = pcCU->getCTXARPWFlag(uiAbsPartIdx); 1569 UInt uiCode = 0; 1570 1571 assert ( uiMaxW > 0 ); 1572 1573 m_pcTDecBinIf->decodeBin( uiCode , m_cCUPUARPW.get( 0, 0, 0 + uiOffset ) ); 1574 1575 uiW = uiCode; 1576 if( 1 == uiW ) 1577 { 1578 m_pcTDecBinIf->decodeBin( uiCode , m_cCUPUARPW.get( 0, 0, 3 ) ); 1579 uiW += ( 1 == uiCode ? 1 : 0 ); 1580 } 1581 pcCU->setARPWSubParts( ( UChar )( uiW ) , uiAbsPartIdx, uiDepth ); 1582 } 1583 #endif 1553 1584 //! \}
Note: See TracChangeset for help on using the changeset viewer.