Changeset 1179 in 3DVCSoftware for trunk/source/Lib/TLibEncoder/TEncGOP.cpp
- Timestamp:
- 7 Apr 2015, 17:05:30 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/Lib/TLibEncoder/TEncGOP.cpp
r1133 r1179 4 4 * granted under this license. 5 5 * 6 * Copyright (c) 2010-201 4, ITU/ISO/IEC6 * Copyright (c) 2010-2015, ITU/ISO/IEC 7 7 * All rights reserved. 8 8 * … … 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 … … 1950 1994 m_pcSAO->PCMLFDisableProcess(pcPic); 1951 1995 1996 #if H_3D_DISABLE_CHROMA 1997 if (pcSlice->getIsDepth()) 1998 { 1999 sliceEnabled[SAO_Cb] = false; 2000 sliceEnabled[SAO_Cr] = false; 2001 } 2002 #endif 1952 2003 //assign SAO slice header 1953 2004 for(Int s=0; s< uiNumSlices; s++)
Note: See TracChangeset for help on using the changeset viewer.