Changeset 1100 in 3DVCSoftware
- Timestamp:
- 4 Nov 2014, 08:31:17 (10 years ago)
- Location:
- branches/HTM-12.2-dev2-Samsung
- Files:
-
- 2 added
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-12.2-dev2-Samsung/source/Lib/TLibCommon/TComSlice.cpp
r1094 r1100 3658 3658 } 3659 3659 3660 #if SEC_ARP_VIEW_REF_CHECK_J0037 || SEC_DBBP_VIEW_REF_CHECK_J0037 3661 Void TComSlice::setDefaultRefView( ) 3662 { 3663 setDefaultRefViewIdx( -1 ); 3664 setDefaultRefViewIdxAvailableFlag( false ); 3665 3666 Int valid = 0; 3667 Int DefaultRefViewIdx = -1; 3668 for( UInt curViewIdx = 0; curViewIdx < getViewIndex() && valid == 0; curViewIdx++ ) 3669 { 3670 for( Int iRefListId = 0; ( iRefListId < (isInterB() ? 2 : 1) ) && !isIntra() && valid == 0; iRefListId++ ) 3671 { 3672 RefPicList eRefPicList = RefPicList( iRefListId ); 3673 Int iNumRefPics = getNumRefIdx( eRefPicList ); 3674 for( Int i = 0; i < iNumRefPics; i++ ) 3675 { 3676 if(getPOC() == getRefPic( eRefPicList, i )->getPOC() && curViewIdx == getRefPic( eRefPicList, i )->getViewIndex()) 3677 { 3678 valid = 1; 3679 DefaultRefViewIdx = curViewIdx; 3680 break; 3681 } 3682 } 3683 } 3684 } 3685 if( valid ) 3686 { 3687 setDefaultRefViewIdx( DefaultRefViewIdx ); 3688 setDefaultRefViewIdxAvailableFlag( true ); 3689 } 3690 } 3691 #endif 3692 3660 3693 #if H_3D_ARP 3661 3694 Void TComSlice::setARPStepNum( TComPicLists*ivPicLists ) … … 3690 3723 } 3691 3724 } 3725 #if SEC_ARP_VIEW_REF_CHECK_J0037 3726 tempRefPicInListsFlag = (getFirstTRefIdx(REF_PIC_LIST_0) >= 0 || getFirstTRefIdx(REF_PIC_LIST_1) >= 0) && getDefaultRefViewIdxAvailableFlag(); 3727 #else 3692 3728 tempRefPicInListsFlag = getFirstTRefIdx(REF_PIC_LIST_0) >= 0 || getFirstTRefIdx(REF_PIC_LIST_1) >= 0; 3729 #endif 3693 3730 m_nARPStepNum = tempRefPicInListsFlag ? getVPS()->getARPStepNum(getLayerId()) : 0; 3694 3731 } -
branches/HTM-12.2-dev2-Samsung/source/Lib/TLibCommon/TComSlice.h
r1094 r1100 2780 2780 Void setDefaultRefViewIdxAvailableFlag(Bool bViewIdx) { m_bDefaultRefViewIdxAvailableFlag = bViewIdx; } 2781 2781 #endif 2782 #if SEC_ARP_VIEW_REF_CHECK_J0037 || SEC_DBBP_VIEW_REF_CHECK_J0037 2783 Void setDefaultRefView( ); 2784 #endif 2782 2785 2783 2786 protected: -
branches/HTM-12.2-dev2-Samsung/source/Lib/TLibCommon/TypeDef.h
r1098 r1100 115 115 // SHARP_ARP_CHROMA_I0104 116 116 // MTK_I0072_IVARP_SCALING_FIX 117 #define SEC_ARP_VIEW_REF_CHECK_J0037 1 // Signaling iv_res_pred_weight_idx when the current slice has both view and temporal reference picture(s), JCT3V-J0037 item1 117 118 118 119 #define H_3D_IC 1 // Illumination Compensation, JCT3V-B0045, JCT3V-C0046, JCT3V-D0060 … … 256 257 // SHARP_DBBP_SIMPLE_FLTER_I0109 1 // Simple condition and one dimensional filter for DBBP 257 258 // SEC_DBBP_DMM4_THRESHOLD_I0076 Simplification of threshold derivation for DBBP and DMM4, JCT3V-I0076 258 259 #define SEC_DBBP_VIEW_REF_CHECK_J0037 1 // Signaling dbbp_flag when the current slice has view reference picture(s), JCT3V-J0037 item4 259 260 260 261 #define H_3D_DDD 1 // Disparity derived depth coding -
branches/HTM-12.2-dev2-Samsung/source/Lib/TLibDecoder/TDecEntropy.cpp
r1094 r1100 152 152 153 153 #if H_3D_DBBP 154 #if SEC_DBBP_VIEW_REF_CHECK_J0037 155 if( pcCU->getSlice()->getVPS()->getUseDBBP(pcCU->getSlice()->getLayerIdInVps()) && (pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_2NxN || pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_Nx2N) && pcCU->getWidth(uiAbsPartIdx) > 8 && pcCU->getSlice()->getDefaultRefViewIdxAvailableFlag() ) 156 #else 154 157 if( pcCU->getSlice()->getVPS()->getUseDBBP(pcCU->getSlice()->getLayerIdInVps()) && (pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_2NxN || pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_Nx2N) && pcCU->getWidth(uiAbsPartIdx) > 8 ) 158 #endif 155 159 { 156 160 decodeDBBPFlag(pcCU, uiAbsPartIdx, uiDepth); -
branches/HTM-12.2-dev2-Samsung/source/Lib/TLibDecoder/TDecSlice.cpp
r1094 r1100 280 280 iNumSubstreamsPerTile = 1; 281 281 } 282 #if LGE_DEFAULT_DV_J0046 282 #if LGE_DEFAULT_DV_J0046 && !SEC_ARP_VIEW_REF_CHECK_J0037 && !SEC_DBBP_VIEW_REF_CHECK_J0037 283 283 pcSlice->setDefaultRefViewIdx( -1 ); 284 284 pcSlice->setDefaultRefViewIdxAvailableFlag( false ); -
branches/HTM-12.2-dev2-Samsung/source/Lib/TLibDecoder/TDecTop.cpp
r1084 r1100 1082 1082 pcSlice->getTempRefPicLists( m_cListPic, m_refPicSetInterLayer0, m_refPicSetInterLayer1, tempRefPicLists, usedAsLongTerm, numPocTotalCurr); 1083 1083 pcSlice->setRefPicList ( tempRefPicLists, usedAsLongTerm, numPocTotalCurr, true ); 1084 1085 #if SEC_ARP_VIEW_REF_CHECK_J0037 || SEC_DBBP_VIEW_REF_CHECK_J0037 1086 pcSlice->setDefaultRefView(); 1087 #endif 1088 1084 1089 #if H_3D_ARP 1085 1090 pcSlice->setARPStepNum(m_ivPicLists); -
branches/HTM-12.2-dev2-Samsung/source/Lib/TLibEncoder/TEncCu.cpp
r1094 r1100 605 605 } 606 606 #if H_3D_FAST_TEXTURE_ENCODING 607 #if SEC_ARP_VIEW_REF_CHECK_J0037 || SEC_DBBP_VIEW_REF_CHECK_J0037 608 if(rpcTempCU->getSlice()->getViewIndex() && !rpcTempCU->getSlice()->getIsDepth() && rpcTempCU->getSlice()->getDefaultRefViewIdxAvailableFlag() ) 609 #else 607 610 if(rpcTempCU->getSlice()->getViewIndex() && !rpcTempCU->getSlice()->getIsDepth()) 611 #endif 608 612 { 609 613 PartSize ePartTemp = rpcTempCU->getPartitionSize(0); … … 668 672 669 673 #if H_3D_DBBP 674 #if SEC_DBBP_VIEW_REF_CHECK_J0037 675 if( m_pcEncCfg->getUseDBBP() && rpcTempCU->getSlice()->getDefaultRefViewIdxAvailableFlag() ) 676 #else 670 677 if( m_pcEncCfg->getUseDBBP() ) 678 #endif 671 679 { 672 680 xCheckRDCostInterDBBP( rpcBestCU, rpcTempCU, false ); -
branches/HTM-12.2-dev2-Samsung/source/Lib/TLibEncoder/TEncEntropy.cpp
r1084 r1100 268 268 269 269 #if H_3D_DBBP 270 #if SEC_DBBP_VIEW_REF_CHECK_J0037 271 if( pcCU->getSlice()->getVPS()->getUseDBBP(pcCU->getSlice()->getLayerIdInVps()) && (pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_2NxN || pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_Nx2N) && pcCU->getWidth(uiAbsPartIdx) > 8 && pcCU->getSlice()->getDefaultRefViewIdxAvailableFlag() ) 272 #else 270 273 if( pcCU->getSlice()->getVPS()->getUseDBBP(pcCU->getSlice()->getLayerIdInVps()) && (pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_2NxN || pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_Nx2N) && pcCU->getWidth(uiAbsPartIdx) > 8 ) 274 #endif 271 275 { 272 276 encodeDBBPFlag(pcCU, uiAbsPartIdx, bRD); -
branches/HTM-12.2-dev2-Samsung/source/Lib/TLibEncoder/TEncGOP.cpp
r1084 r1100 953 953 pcSlice->setApplySingleDepthMode(enableSingleDepthMode); 954 954 #endif 955 #if SEC_ARP_VIEW_REF_CHECK_J0037 || SEC_DBBP_VIEW_REF_CHECK_J0037 956 pcSlice->setDefaultRefView(); 957 #endif 955 958 #if H_3D_ARP 956 959 //GT: This seems to be broken when layerId in vps is not equal to layerId in nuh -
branches/HTM-12.2-dev2-Samsung/source/Lib/TLibEncoder/TEncSlice.cpp
r1094 r1100 1011 1011 } 1012 1012 } 1013 #if LGE_DEFAULT_DV_J0046 1013 #if LGE_DEFAULT_DV_J0046 && !SEC_ARP_VIEW_REF_CHECK_J0037 && !SEC_DBBP_VIEW_REF_CHECK_J0037 1014 1014 pcSlice->setDefaultRefViewIdx( -1 ); 1015 1015 pcSlice->setDefaultRefViewIdxAvailableFlag( false );
Note: See TracChangeset for help on using the changeset viewer.