Changeset 1170 in 3DVCSoftware for branches/HTM-13.1-dev0/source/Lib/TLibEncoder
- Timestamp:
- 5 Apr 2015, 22:49:22 (10 years ago)
- Location:
- branches/HTM-13.1-dev0/source/Lib/TLibEncoder
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-13.1-dev0/source/Lib/TLibEncoder/TEncCavlc.cpp
r1169 r1170 40 40 #include "SEIwrite.h" 41 41 #include "../TLibCommon/TypeDef.h" 42 42 #if H_3D_ANNEX_SELECTION_FIX 43 #include "TEncTop.h" 44 #endif 43 45 //! \ingroup TLibEncoder 44 46 //! \{ 47 45 48 46 49 #if ENC_DEC_TRACE … … 899 902 WRITE_FLAG( sps3dExt->getInterSdcFlag( d ) ? 1 : 0 , "inter_sdc_flag" ); 900 903 #if SEC_DEPTH_INTRA_SKIP_MODE_K0033 901 WRITE_FLAG( sps3dExt->getDepthIntraSkipFlag( d ) ? 1 : 0 , " depth_intra_skip_flag" );904 WRITE_FLAG( sps3dExt->getDepthIntraSkipFlag( d ) ? 1 : 0 , "intra_skip_flag" ); 902 905 #else 903 906 WRITE_FLAG( sps3dExt->getIntraSingleFlag( d ) ? 1 : 0 , "intra_single_flag" ); … … 1913 1916 } 1914 1917 #endif 1918 1919 #if HHI_INTER_COMP_PRED_K0052 1920 #if H_3D 1921 if( getEncTop()->decProcAnnexI() ) 1922 { 1923 if ( pcSlice->getInCmpPredAvailFlag() ) 1924 { 1925 WRITE_FLAG( pcSlice->getInCompPredFlag(), "in_comp_pred_flag" ); 1926 } 1927 } 1928 #endif 1929 #endif 1915 1930 if(pcSlice->getSPS()->getUseSAO()) 1916 1931 { … … 2043 2058 } 2044 2059 #if H_3D_IC 2060 #if H_3D_ANNEX_SELECTION_FIX 2061 else if( pcSlice->getViewIndex() && ( pcSlice->getSliceType() == P_SLICE || pcSlice->getSliceType() == B_SLICE ) 2062 && !pcSlice->getIsDepth() && vps->getNumRefListLayers( layerId ) > 0 2063 && getEncTop()->decProcAnnexI() 2064 ) 2065 #else 2045 2066 else if( pcSlice->getViewIndex() && ( pcSlice->getSliceType() == P_SLICE || pcSlice->getSliceType() == B_SLICE ) && !pcSlice->getIsDepth() && vps->getNumRefListLayers( layerId ) > 0 ) 2067 #endif 2046 2068 { 2047 2069 WRITE_FLAG( pcSlice->getApplyIC() ? 1 : 0, "slice_ic_enable_flag" ); -
branches/HTM-13.1-dev0/source/Lib/TLibEncoder/TEncCavlc.h
r1163 r1170 68 68 TComSlice* m_pcSlice; 69 69 UInt m_uiCoeffCost; 70 70 #if H_3D_ANNEX_SELECTION_FIX 71 TEncTop* m_encTop; 72 #endif 71 73 Void codeShortTermRefPicSet ( TComSPS* pcSPS, TComReferencePictureSet* pcRPS, Bool calledFromSliceHeader, Int idx ); 72 74 Bool findMatchingLTRP ( TComSlice* pcSlice, UInt *ltrpsIndex, Int ltrpPOC, Bool usedFlag ); … … 185 187 Void codeDFFlag ( UInt uiCode, const Char *pSymbolName ); 186 188 Void codeDFSvlc ( Int iCode, const Char *pSymbolName ); 187 189 #if H_3D_ANNEX_SELECTION_FIX 190 TEncTop* getEncTop() { return m_encTop; }; 191 Void setEncTop( TEncTop* et ) { m_encTop = et; }; 192 #endif 188 193 }; 189 194 -
branches/HTM-13.1-dev0/source/Lib/TLibEncoder/TEncCfg.h
r1166 r1170 78 78 Int m_interViewRefPosL[2][MAX_NUM_REF_PICS]; 79 79 #endif 80 #if HHI_INTER_COMP_PRED_K0052 81 Bool m_interCompPredFlag; 82 #endif 80 83 GOPEntry() 81 84 : m_POC(-1) … … 94 97 #if H_MV 95 98 , m_numActiveRefLayerPics(0) 99 #endif 100 #if HHI_INTER_COMP_PRED_K0052 101 #if H_3D 102 , m_interCompPredFlag(false) 103 #endif 96 104 #endif 97 105 { … … 408 416 Bool m_bUseQTL; 409 417 #endif 418 #if H_3D_ANNEX_SELECTION_FIX 419 Int m_profileIdc; 420 #endif 421 410 422 #endif 411 423 public: … … 421 433 , m_isDepth(false) 422 434 , m_bUseVSO(false) 435 #if H_3D_ANNEX_SELECTION_FIX 436 , m_profileIdc( -1 ) 437 #endif 423 438 #endif 424 439 #endif … … 957 972 Bool getUseQTL () { return m_bUseQTL; } 958 973 #endif 974 #if H_3D_ANNEX_SELECTION_FIX 975 Void setProfileIdc( Int a ) { assert( a == 1 || a == 6 || a == 8 ); m_profileIdc = a; } 976 Bool decProcAnnexI() { assert( m_profileIdc != -1 ); return ( m_profileIdc == 8); } 977 #endif 978 959 979 #endif // H_3D 960 980 }; -
branches/HTM-13.1-dev0/source/Lib/TLibEncoder/TEncEntropy.cpp
r1169 r1170 306 306 307 307 #if H_MV_ENC_DEC_TRAC 308 #if ENC_DEC_TRACE 308 309 UInt uiLPelX = pcCU->getCUPelX() + g_auiRasterToPelX[ g_auiZscanToRaster[uiAbsPartIdx] ]; 309 310 UInt uiTPelY = pcCU->getCUPelY() + g_auiRasterToPelY[ g_auiZscanToRaster[uiAbsPartIdx] ]; … … 314 315 DTRACE_TU("log2TrafoSize", g_uiMaxCUWidth>>uiDepth) 315 316 DTRACE_TU("trafoDepth" , uiDepth) 317 #endif 316 318 #endif 317 319 -
branches/HTM-13.1-dev0/source/Lib/TLibEncoder/TEncGOP.cpp
r1169 r1170 885 885 Int numDirectRefLayers = vps ->getNumDirectRefLayers( getLayerId() ); 886 886 #endif 887 #if HHI_INTER_COMP_PRED_K0052 888 pcSlice->setIvPicLists( m_ivPicLists ); 889 890 Int gopNum = (pcSlice->getRapPicFlag() && getLayerId() > 0) ? MAX_GOP : iGOPid; 891 GOPEntry gopEntry = m_pcCfg->getGOPEntry( gopNum ); 892 #else 887 893 GOPEntry gopEntry = m_pcCfg->getGOPEntry( (pcSlice->getRapPicFlag() && getLayerId() > 0) ? MAX_GOP : iGOPid ); 894 #endif 888 895 889 896 Bool interLayerPredLayerIdcPresentFlag = false; … … 922 929 assert( pcSlice->getNumActiveRefLayerPics() == gopEntry.m_numActiveRefLayerPics ); 923 930 931 #if HHI_INTER_COMP_PRED_K0052 932 #if H_3D 933 if ( m_pcEncTop->decProcAnnexI() ) 934 { 935 pcSlice->deriveInCmpPredAndCpAvailFlag(); 936 if ( pcSlice->getInCmpPredAvailFlag() ) 937 { 938 pcSlice->setInCompPredFlag( gopEntry.m_interCompPredFlag ); 939 } 940 else 941 { 942 if (gopEntry.m_interCompPredFlag ) 943 { 944 if ( gopNum == MAX_GOP) 945 { 946 printf( "\nError: FrameI_l%d cannot enable inter-component prediction.\n", pcSlice->getVPS()->getLayerIdInVps( getLayerId() ) ); 947 } 948 else 949 { 950 printf( "\nError: Frame%d_l%d cannot enable inter-component prediction.\n", gopNum, pcSlice->getVPS()->getLayerIdInVps( getLayerId() ) ); 951 } 952 953 exit(EXIT_FAILURE); 954 } 955 } 956 pcSlice->init3dToolParameters(); 957 pcSlice->checkInCompPredRefLayers(); 958 } 959 960 961 // This needs to be done after initilizaiton of 3D tool parameters. 962 pcSlice->setMaxNumMergeCand ( m_pcCfg->getMaxNumMergeCand() + ( ( pcSlice->getMpiFlag( ) || pcSlice->getIvMvPredFlag( ) || pcSlice->getViewSynthesisPredFlag( ) ) ? 1 : 0 )); 963 #endif 964 #endif 965 924 966 pcSlice->createInterLayerReferencePictureSet( m_ivPicLists, m_refPicSetInterLayer0, m_refPicSetInterLayer1 ); 925 967 pcSlice->setNumRefIdx(REF_PIC_LIST_0,min(gopEntry.m_numRefPicsActive,( pcSlice->getRPS()->getNumberOfPictures() + (Int) m_refPicSetInterLayer0.size() + (Int) m_refPicSetInterLayer1.size()) ) ); … … 968 1010 } 969 1011 #endif 1012 #if !HHI_INTER_COMP_PRED_K0052 970 1013 #if H_3D 971 1014 pcSlice->setIvPicLists( m_ivPicLists ); … … 973 1016 assert( !m_pcEncTop->getIsDepth() || ( pcSlice->getTexturePic() != 0 ) ); 974 1017 #endif 1018 #endif 975 1019 #endif 976 1020 #if H_3D_IC -
branches/HTM-13.1-dev0/source/Lib/TLibEncoder/TEncSlice.cpp
r1133 r1170 215 215 rpcSlice->setPicOutputFlag( true ); 216 216 rpcSlice->setPOC( pocCurr ); 217 #if !HHI_INTER_COMP_PRED_K0052 217 218 #if H_3D 218 rpcSlice->init3dToolParameters(); 219 rpcSlice->init3dToolParameters(); 220 #endif 219 221 #endif 220 222 #if H_3D_IC … … 610 612 rpcSlice->setSliceSegmentMode ( m_pcCfg->getSliceSegmentMode() ); 611 613 rpcSlice->setSliceSegmentArgument ( m_pcCfg->getSliceSegmentArgument() ); 614 #if !HHI_INTER_COMP_PRED_K0052 612 615 #if H_3D_IV_MERGE 613 616 rpcSlice->setMaxNumMergeCand ( m_pcCfg->getMaxNumMergeCand() + ( ( rpcSlice->getMpiFlag( ) || rpcSlice->getIvMvPredFlag( ) || rpcSlice->getViewSynthesisPredFlag( ) ) ? 1 : 0 )); 614 617 #else 615 618 rpcSlice->setMaxNumMergeCand ( m_pcCfg->getMaxNumMergeCand() ); 619 #endif 620 #else 621 #if !H_3D 622 rpcSlice->setMaxNumMergeCand ( m_pcCfg->getMaxNumMergeCand() ); 623 #endif 616 624 #endif 617 625 xStoreWPparam( pPPS->getUseWP(), pPPS->getWPBiPred() ); -
branches/HTM-13.1-dev0/source/Lib/TLibEncoder/TEncTop.cpp
r1169 r1170 91 91 m_aICEnableNum = NULL; 92 92 #endif 93 #if H_3D_ANNEX_SELECTION_FIX 94 m_cCavlcCoder.setEncTop(this); 95 #endif 93 96 } 94 97 … … 364 367 } 365 368 #endif 369 366 370 // initialize processing unit classes 367 371 m_cGOPEncoder. init( this );
Note: See TracChangeset for help on using the changeset viewer.