Changeset 139 in 3DVCSoftware
- Timestamp:
- 24 Sep 2012, 14:08:01 (12 years ago)
- Location:
- branches/HTM-4.0-Nokia/source
- Files:
-
- 16 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-4.0-Nokia/source/App/TAppDecoder/TAppDecTop.cpp
r105 r139 87 87 increaseNumberOfViews( 1 ); 88 88 #endif 89 89 #if FLEX_CODING_ORDER 90 Int iDepthViewIdx = 0; 91 Int iTextureViewIdx=0; 92 Bool first_frame=1; 93 Bool viewid_zero=true; 94 Int FCO_index=0; //when the current frame is not first frame,use FCO_index stand for viewDepth. 95 #endif 96 90 97 #if SONY_COLPIC_AVAILABILITY 91 98 m_tDecTop[0]->setViewOrderIdx(0); 92 99 #endif 100 93 101 Int viewDepthId = 0; 94 102 Int previousViewDepthId = 0; … … 102 110 pcListPic[i] = NULL; 103 111 newPicture[i] = false; 112 #if FLEX_CODING_ORDER 113 FCO_Order[i]=NULL; 114 #endif 104 115 } 105 116 … … 156 167 depth = getVPSAccess()->getActiveVPS()->getDepthFlag(nalu.m_layerId); 157 168 } 158 viewDepthId = nalu.m_layerId; // coding order T0D0T1D1T2D2 169 #if FLEX_CODING_ORDER 170 if (viewId>0) 171 { 172 viewid_zero=false; 173 } 174 if (viewid_zero==false&&viewId==0) 175 { 176 first_frame=0; //if viewId has been more than zero and now it set to zero again, we can see that it is not the first view 177 } 178 if (first_frame) 179 { // if the current view is first frame, we set the viewDepthId as texture plus depth and get the FCO order 180 viewDepthId = iDepthViewIdx+iTextureViewIdx; 181 FCO_viewDepthId=viewDepthId; 182 } 183 else 184 {//if current view is not first frame, we set the viewDepthId depended on the FCO order 185 viewDepthId=0; 186 if (depth) 187 { 188 for (FCO_index=0;FCO_index<2*MAX_VIEW_NUM;FCO_index++ ) 189 { 190 if (FCO_Order[FCO_index]=='D') 191 { 192 if (viewId==viewDepthId) 193 break; 194 else 195 viewDepthId++; 196 } 197 } 198 } 199 else 200 { 201 for (FCO_index=0;FCO_index<2*MAX_VIEW_NUM;FCO_index++ ) 202 { 203 if (FCO_Order[FCO_index]=='T') 204 { 205 if (viewId==viewDepthId) 206 break; 207 else 208 viewDepthId++; 209 } 210 } 211 } 212 213 viewDepthId=FCO_index; 214 215 } 216 217 218 #else 219 viewDepthId = nalu.m_layerId; // coding order T0D0T1D1T2D2 220 #endif 221 159 222 #else 160 223 Int viewId = nalu.m_viewId; 161 224 Int depth = nalu.m_isDepth ? 1 : 0; 162 viewDepthId = viewId * 2 + depth; // coding order T0D0T1D1T2D2 225 #if FLEX_CODING_ORDER 226 if (viewId>0) 227 { 228 viewid_zero=false; 229 } 230 if (viewid_zero==false&&viewId==0) 231 { 232 first_frame=0; 233 } 234 if (first_frame) 235 { 236 viewDepthId = iDepthViewIdx+iTextureViewIdx; 237 FCO_viewDepthId=viewDepthId; 238 } 239 else 240 { 241 viewDepthId=0; 242 if (depth) 243 { 244 for (FCO_index=0;FCO_index<2*MAX_VIEW_NUM;FCO_index++ ) 245 { 246 if (FCO_Order[FCO_index]=='D') 247 { 248 if (viewId==viewDepthId) 249 break; 250 else 251 viewDepthId++; 252 } 253 } 254 } 255 else 256 { 257 for (FCO_index=0;FCO_index<2*MAX_VIEW_NUM;FCO_index++ ) 258 { 259 if (FCO_Order[FCO_index]=='T') 260 { 261 if (viewId==viewDepthId) 262 break; 263 else 264 viewDepthId++; 265 } 266 } 267 } 268 269 viewDepthId=FCO_index; 270 271 } 272 #else 273 viewDepthId = viewId * 2 + depth; // coding order T0D0T1D1T2D2 274 #endif 275 163 276 #endif 164 277 … … 190 303 for( Int i = 0; i < m_tDecTop.size(); i++ ) 191 304 { 305 //#if FLEX_CODING_ORDER 306 // FCO_Order[i]=NULL; 307 //#endif 192 308 m_tDecTop[i]->compressMotion( uiPOC[i] ); 193 309 } … … 209 325 { 210 326 previousPictureDecoded = true; 327 #if FLEX_CODING_ORDER 328 if (first_frame) 329 { 330 if (depth) 331 { 332 iDepthViewIdx++; 333 FCO_Order[viewDepthId]='D'; 334 } 335 else 336 { 337 iTextureViewIdx++; 338 FCO_Order[viewDepthId]='T'; 339 } 340 } 341 342 343 344 #endif 211 345 } 212 346 } … … 215 349 { 216 350 m_tDecTop[viewDepthId]->executeDeblockAndAlf(uiPOC[viewDepthId], pcListPic[viewDepthId], m_iSkipFrame, m_pocLastDisplay[viewDepthId]); 351 217 352 } 218 353 if( pcListPic[viewDepthId] ) … … 234 369 previousViewDepthId = viewDepthId; 235 370 } 371 372 373 374 375 236 376 if( m_cCamParsCollector.isInitialized() ) 237 377 { … … 502 642 TDecTop* TAppDecTop::getTDecTop( Int viewId, Bool isDepth ) 503 643 { 644 #if FLEX_CODING_ORDER 645 Int viewnumber=0; 646 Int i=0; 647 Bool FCO_flag=0; 648 if (viewId>FCO_viewDepthId) 649 { 650 return NULL; 651 } 652 else 653 { 654 if (isDepth) 655 { 656 for ( i=0; i<=FCO_viewDepthId;i++) 657 { 658 if (FCO_Order[i]=='D') 659 { 660 if (viewnumber==viewId) 661 { 662 FCO_flag=1; 663 break; 664 } 665 else 666 viewnumber++; 667 } 668 } 669 } 670 else 671 { 672 for ( i=0; i<=FCO_viewDepthId;i++) 673 { 674 if (FCO_Order[i]=='T') 675 { 676 if (viewnumber==viewId) 677 { 678 FCO_flag=1; 679 break; 680 } 681 else 682 viewnumber++; 683 } 684 } 685 } 686 if (FCO_flag) 687 { 688 return m_tDecTop[i]; 689 } 690 else 691 return NULL; 692 693 } 694 695 // coding order T0D0T1D1T2D2 696 #else 504 697 return m_tDecTop[(isDepth ? 1 : 0) + viewId * 2]; // coding order T0D0T1D1T2D2 698 #endif 699 /* 700 //original code 701 return m_tDecTop[(isDepth ? 1 : 0) + viewId * 2]; // coding order T0D0T1D1T2D2 702 */ 505 703 } 506 704 … … 520 718 { 521 719 assert( ( viewId >= 0 ) ); 522 720 #if FLEX_CODING_ORDER 721 if (getTDecTop(viewId,isDepth)) 722 { 723 TComList<TComPic*>* apcListPic = getTDecTop( viewId, isDepth )->getListPic(); 724 TComPic* pcPic = NULL; 725 for( TComList<TComPic*>::iterator it=apcListPic->begin(); it!=apcListPic->end(); it++ ) 726 { 727 if( (*it)->getPOC() == poc ) 728 { 729 pcPic = *it; 730 break; 731 } 732 } 733 return pcPic; 734 } 735 else 736 return NULL; 737 #else 523 738 TComList<TComPic*>* apcListPic = getTDecTop( viewId, isDepth )->getListPic(); 524 739 TComPic* pcPic = NULL; … … 532 747 } 533 748 return pcPic; 749 #endif 750 751 534 752 } 535 753 //! \} -
branches/HTM-4.0-Nokia/source/App/TAppDecoder/TAppDecTop.h
r100 r139 70 70 std::vector<Int> m_pocLastDisplay; ///< last POC in display order 71 71 Bool m_useDepth; 72 72 #if FLEX_CODING_ORDER 73 Int FCO_viewDepthId; 74 Char FCO_Order[MAX_VIEW_NUM*2]; 75 #endif 73 76 FILE* m_pScaleOffsetFile; 74 77 CamParsCollector m_cCamParsCollector; -
branches/HTM-4.0-Nokia/source/App/TAppEncoder/TAppEncCfg.h
r102 r139 88 88 Int m_iNumberOfViews; ///< number Views to Encode 89 89 Bool m_bUsingDepthMaps; 90 91 #if FLEX_CODING_ORDER 92 char* m_pchMVCJointCodingOrder; ///< texture-depth coding order 93 Bool m_b3DVFlexOrder; ///< flexible coding order flag 94 #endif 95 96 97 98 90 99 // coding structure 91 100 Int m_iIntraPeriod; ///< period of I-slice (random access period) -
branches/HTM-4.0-Nokia/source/App/TAppEncoder/TAppEncTop.cpp
r102 r139 369 369 for(Int iViewIdx=0; iViewIdx<m_iNumberOfViews; iViewIdx++) 370 370 { 371 #if FLEX_CODING_ORDER 372 // Detect whether depth comes before than texture for this view 373 Bool isDepthFirst = false; 374 if ( m_b3DVFlexOrder ) 375 { 376 for ( Int ii=1; ii<12; ii+=2 ) 377 { 378 Int iViewIdxCfg = (Int)(m_pchMVCJointCodingOrder[ii]-'0'); 379 if ( iViewIdxCfg == iViewIdx ) 380 { 381 if ( m_pchMVCJointCodingOrder[ii-1]=='D' ) // depth comes first for this view 382 { 383 isDepthFirst = true; 384 } 385 else 386 { 387 assert(m_pchMVCJointCodingOrder[ii-1]=='T'); 388 } 389 break; 390 } 391 } 392 } 393 #endif 371 394 m_depthFrameRcvd.push_back(0); 372 395 m_acTEncDepthTopList.push_back(new TEncTop); … … 634 657 m_acTEncDepthTopList[iViewIdx]->setUseDMM ( m_bUseDMM ); 635 658 #endif 659 660 #if FLEX_CODING_ORDER && HHI_DMM_PRED_TEX 661 m_acTEncDepthTopList[iViewIdx]->setUseDMM34( (m_b3DVFlexOrder && isDepthFirst) ? false : m_bUseDMM ); 662 #endif 663 664 636 665 #if HHI_MPI 637 m_acTEncDepthTopList[iViewIdx]->setUseMVI( m_bUseMVI ); 666 #if FLEX_CODING_ORDER 667 m_acTEncDepthTopList[iViewIdx]->setUseMVI( (m_b3DVFlexOrder && isDepthFirst) ? false : m_bUseMVI ); 668 #else 669 m_acTEncDepthTopList[iViewIdx]->setUseMVI( m_bUseMVI ); 670 #endif 671 // m_acTEncDepthTopList[iViewIdx]->setUseMVI( m_bUseMVI ); 638 672 #endif 639 673 } … … 920 954 m_cCameraData.update( iNextPoc ); 921 955 } 956 957 958 959 #if FLEX_CODING_ORDER 960 if (m_b3DVFlexOrder) 961 { 962 Int iNumDepthEncoded = 0; 963 iNumEncoded = 0; 964 Int i=0; 965 Int iViewIdx=0; 966 Int iNumberofDepthViews = m_bUsingDepthMaps?m_iNumberOfViews:0; 967 for (Int j=0; j < (m_iNumberOfViews+ iNumberofDepthViews); j++ ) 968 { 969 if (m_pchMVCJointCodingOrder[i]=='T') 970 { 971 972 i++; 973 assert(isdigit(m_pchMVCJointCodingOrder[i])); 974 iViewIdx = (Int)(m_pchMVCJointCodingOrder[i]-'0'); 975 976 m_acTEncTopList[iViewIdx]->encode( eos[iViewIdx], pcPicYuvOrg, *m_picYuvRec[iViewIdx], outputAccessUnits, iNumEncoded, gopId ); 977 xWriteOutput(bitstreamFile, iNumEncoded, outputAccessUnits, iViewIdx, false); 978 outputAccessUnits.clear(); 979 i++; 980 } 981 else if ( m_pchMVCJointCodingOrder[i] == 'D') 982 { 983 984 i++; 985 if( m_bUsingDepthMaps ) 986 { 987 assert(isdigit(m_pchMVCJointCodingOrder[i])); 988 iViewIdx = (Int)(m_pchMVCJointCodingOrder[i]-'0'); 989 #if SAIT_VSO_EST_A0033 990 if( m_bUseVSO && iNextPoc < m_iFrameToBeEncoded ) 991 { 992 m_cCameraData.xSetDispCoeff( iNextPoc, iViewIdx ); 993 m_acTEncDepthTopList[iViewIdx]->setDispCoeff( m_cCameraData.getDispCoeff() ); 994 } 995 #endif 996 m_acTEncDepthTopList[iViewIdx]->encode( depthEos[iViewIdx], pcDepthPicYuvOrg, *m_picYuvDepthRec[iViewIdx], outputAccessUnits, iNumDepthEncoded, gopId ); 997 xWriteOutput(bitstreamFile, iNumDepthEncoded, outputAccessUnits, iViewIdx, true); 998 outputAccessUnits.clear(); 999 i++; 1000 } 1001 } 1002 } 1003 } 1004 else 1005 { 1006 1007 #endif 1008 1009 //original code 1010 922 1011 for(Int iViewIdx=0; iViewIdx < m_iNumberOfViews; iViewIdx++ ) 923 1012 { … … 943 1032 } 944 1033 } 1034 1035 #if FLEX_CODING_ORDER 1036 } 1037 #endif 1038 1039 1040 1041 945 1042 #if HHI_INTERVIEW_SKIP || HHI_INTER_VIEW_MOTION_PRED || HHI_INTER_VIEW_RESIDUAL_PRED 946 1043 for( Int iViewIdx = 0; iViewIdx < m_iNumberOfViews; iViewIdx++ ) -
branches/HTM-4.0-Nokia/source/Lib/TLibCommon/TComSlice.cpp
r101 r139 1441 1441 , m_bUseDMM (false) 1442 1442 #endif 1443 1444 #if FLEX_CODING_ORDER && HHI_DMM_PRED_TEX 1445 , m_bUseDMM34 (false) 1446 #endif 1447 1443 1448 { 1444 1449 // AMVP parameter -
branches/HTM-4.0-Nokia/source/Lib/TLibCommon/TComSlice.h
r101 r139 354 354 #endif 355 355 356 #if HHI_DMM_PRED_TEX && FLEX_CODING_ORDER 357 Bool m_bUseDMM34; 358 #endif 359 356 360 #if DEPTH_MAP_GENERATION 357 361 UInt m_uiPredDepthMapGeneration; … … 382 386 Void setVPSId (Int i) { m_VPSId = i; } 383 387 #endif 384 Int getSPSId () { return m_SPSId; } 388 Int getSPSId () 389 { return m_SPSId; } 385 390 Void setSPSId (Int i) { m_SPSId = i; } 386 391 Int getProfileIdc () { return m_ProfileIdc; } … … 619 624 #endif 620 625 626 #if HHI_DMM_PRED_TEX && FLEX_CODING_ORDER 627 Bool getUseDMM34() { return m_bUseDMM34; } 628 Void setUseDMM34( Bool b ) { m_bUseDMM34 = b; } 629 #endif 630 621 631 Void initMultiviewSPS ( UInt uiViewId, Int iViewOrderIdx = 0, UInt uiCamParPrecision = 0, Bool bCamParSlice = false, Int** aaiScale = 0, Int** aaiOffset = 0 ); 622 632 Void initMultiviewSPSDepth ( UInt uiViewId, Int iViewOrderIdx ); -
branches/HTM-4.0-Nokia/source/Lib/TLibCommon/TypeDef.h
r105 r139 46 46 #define FIX_DECODING_WO_WRITING 1 47 47 #define FIX_INIT_ROM 1 48 48 49 #define FIX_VIRT_DESTRUCTOR 1 50 51 52 53 54 #define FLEX_CODING_ORDER 1 55 #if FLEX_CODING_ORDER 56 #define DISABLE_FCO_FOR_VSO 1 57 #else 58 #define DISABLE_FCO_FOR_VSO 0 59 #endif 60 49 61 50 62 -
branches/HTM-4.0-Nokia/source/Lib/TLibDecoder/TDecTop.cpp
r77 r139 614 614 615 615 #if SKIPFRAME_BUGFIX 616 Bool TDecTop::xDecodeSlice(InputNALUnit &nalu, Int &iSkipFrame, Int iPOCLastDisplay ) 617 #else 618 Bool TDecTop::xDecodeSlice(InputNALUnit &nalu, Int iSkipFrame, Int iPOCLastDisplay ) 616 Bool TDecTop::xDecodeSlice(InputNALUnit &nalu, Int &iSkipFrame, Int iPOCLastDisplay 617 ) 618 #else 619 Bool TDecTop::xDecodeSlice(InputNALUnit &nalu, Int iSkipFrame, Int iPOCLastDisplay 620 ) 619 621 #endif 620 622 { … … 969 971 assert( m_tAppDecTop != NULL ); 970 972 TComPic * const pcTexturePic = m_isDepth ? m_tAppDecTop->getPicFromView( m_viewId, pcSlice->getPOC(), false ) : NULL; 973 974 #if FLEX_CODING_ORDER 975 if (pcTexturePic != NULL) 976 { 977 assert( !m_isDepth || pcTexturePic != NULL ); 978 pcSlice->setTexturePic( pcTexturePic ); 979 } 980 #else 971 981 assert( !m_isDepth || pcTexturePic != NULL ); 972 982 pcSlice->setTexturePic( pcTexturePic ); 983 #endif 984 985 986 // //original code 987 // assert( !m_isDepth || pcTexturePic != NULL ); 988 // pcSlice->setTexturePic( pcTexturePic ); 989 990 973 991 974 992 std::vector<TComPic*> apcInterViewRefPics = m_tAppDecTop->getInterViewRefPics( m_viewId, pcSlice->getPOC(), m_isDepth, pcSlice->getSPS() ); … … 1082 1100 } 1083 1101 1102 1103 1104 1105 1084 1106 #if VIDYO_VPS_INTEGRATION 1085 1107 Void TDecTop::xDecodeVPS() … … 1147 1169 } 1148 1170 1149 Bool TDecTop::decode(InputNALUnit& nalu, Int& iSkipFrame, Int& iPOCLastDisplay) 1171 Bool TDecTop::decode(InputNALUnit& nalu, Int& iSkipFrame, Int& iPOCLastDisplay 1172 1173 ) 1150 1174 { 1151 1175 // Initialize entropy decoder … … 1184 1208 case NAL_UNIT_CODED_SLICE_CDR: 1185 1209 #endif 1186 return xDecodeSlice(nalu, iSkipFrame, iPOCLastDisplay); 1210 return xDecodeSlice(nalu, iSkipFrame, iPOCLastDisplay 1211 ); 1187 1212 break; 1188 1213 default: -
branches/HTM-4.0-Nokia/source/Lib/TLibDecoder/TDecTop.h
r100 r139 111 111 TComList<TComPic*> m_cListPic; // Dynamic buffer 112 112 ParameterSetManagerDecoder m_parameterSetManagerDecoder; // storage for parameter sets 113 114 113 115 TComRPSList m_RPSList; 114 116 TComSlice* m_apcSlicePilot; 115 117 116 118 SEImessages *m_SEIs; ///< "all" SEI messages. If not NULL, we own the object. 117 119 … … 165 167 166 168 Void init( TAppDecTop* pcTAppDecTop, Bool bFirstInstance ); 167 Bool decode(InputNALUnit& nalu, Int& iSkipFrame, Int& iPOCLastDisplay); 169 Bool decode(InputNALUnit& nalu, Int& iSkipFrame, Int& iPOCLastDisplay 170 ); 168 171 169 172 Void deletePicBuffer(); … … 204 207 Void xActivateParameterSets(); 205 208 #if SKIPFRAME_BUGFIX 206 Bool xDecodeSlice(InputNALUnit &nalu, Int &iSkipFrame, Int iPOCLastDisplay); 209 Bool xDecodeSlice(InputNALUnit &nalu, Int &iSkipFrame, Int iPOCLastDisplay 210 ); 207 211 #else 208 Bool xDecodeSlice(InputNALUnit &nalu, Int iSkipFrame, Int iPOCLastDisplay); 212 Bool xDecodeSlice(InputNALUnit &nalu, Int iSkipFrame, Int iPOCLastDisplay, 213 ); 209 214 #endif 210 215 #if VIDYO_VPS_INTEGRATION -
branches/HTM-4.0-Nokia/source/Lib/TLibEncoder/TEncCfg.h
r100 r139 312 312 #endif 313 313 314 #if HHI_DMM_PRED_TEX && FLEX_CODING_ORDER 315 Bool m_bUseDMM34; 316 #endif 317 314 318 Int m_iViewOrderIdx; 315 319 … … 799 803 #endif 800 804 805 #if HHI_DMM_PRED_TEX && FLEX_CODING_ORDER 806 Void setUseDMM34( Bool b) { m_bUseDMM34 = b; } 807 Bool getUseDMM34() { return m_bUseDMM34; } 808 #endif 809 801 810 Void setViewOrderIdx ( Int i ) { m_iViewOrderIdx = i; } 802 811 Void setCamParPrecision ( UInt u ) { m_uiCamParPrecision = u; } -
branches/HTM-4.0-Nokia/source/Lib/TLibEncoder/TEncGOP.cpp
r102 r139 167 167 TEncSbac* pcSbacCoders = NULL; 168 168 TComOutputBitstream* pcSubstreamsOut = NULL; 169 int is_Depth; 169 170 170 171 { … … 255 256 pcSlice->setViewId( m_pcEncTop->getViewId() ); 256 257 pcSlice->setIsDepth( m_pcEncTop->getIsDepth() ); 257 258 is_Depth = m_pcEncTop->getIsDepth(); 258 259 m_pcEncTop->getSPS()->setDisInter4x4(m_pcEncTop->getDisInter4x4()); 259 260 pcSlice->setScalingList ( m_pcEncTop->getScalingList() ); … … 461 462 462 463 #if SAIT_VSO_EST_A0033 463 m_pcRdCost->setVideoRecPicYuv( m_pcEncTop->getEncTop()->getPicYuvFromView( pcSlice->getViewId(), pcSlice->getPOC(), false, true ) ); 464 465 { 466 Bool flag_rec; 467 468 flag_rec = ((m_pcEncTop->getEncTop()->getPicYuvFromView( pcSlice->getViewId(), pcSlice->getPOC(), false, true) == NULL) ? false: true); 469 m_pcRdCost->setVideoRecPicYuv( m_pcEncTop->getEncTop()->getPicYuvFromView( pcSlice->getViewId(), pcSlice->getPOC(), false, flag_rec ) ); 464 470 m_pcRdCost->setDepthPicYuv ( m_pcEncTop->getEncTop()->getPicYuvFromView( pcSlice->getViewId(), pcSlice->getPOC(), true, false ) ); 465 #endif 466 467 471 } 472 #endif 468 473 } 469 474 #endif -
branches/HTM-4.0-Nokia/source/Lib/TLibEncoder/TEncSbac.cpp
r101 r139 964 964 #endif 965 965 #if HHI_DMM_PRED_TEX 966 967 #if FLEX_CODING_ORDER 968 if ( !pcCU->getSlice()->getSPS()->getUseDMM34() ) 969 { 970 assert( uiDir != DMM_WEDGE_PREDTEX_D_IDX ); 971 assert( uiDir != DMM_CONTOUR_PREDTEX_D_IDX ); 972 } 973 #endif 974 966 975 if( uiDir == DMM_WEDGE_PREDTEX_D_IDX ) { xCodeWedgePredTexDeltaInfo ( pcCU, uiAbsPartIdx ); } 967 976 if( uiDir == DMM_CONTOUR_PREDTEX_D_IDX ) { xCodeContourPredTexDeltaInfo( pcCU, uiAbsPartIdx ); } -
branches/HTM-4.0-Nokia/source/Lib/TLibEncoder/TEncSearch.cpp
r100 r139 2025 2025 #endif 2026 2026 #if HHI_DMM_PRED_TEX 2027 2028 #if FLEX_CODING_ORDER 2029 if ( pcCU->getSlice()->getSPS()->getUseDMM34() ) 2030 { 2031 #endif 2027 2032 UInt uiTexTabIdx = 0; 2028 2033 Int iTexDeltaDC1 = 0; … … 2048 2053 uiRdModeList[ numModesForFullRD++ ] = DMM_CONTOUR_PREDTEX_D_IDX; 2049 2054 } 2055 #if FLEX_CODING_ORDER 2056 } 2057 #endif 2050 2058 #endif 2051 2059 } … … 2083 2091 2084 2092 #if HHI_DMM_WEDGE_INTRA || HHI_DMM_PRED_TEX 2093 #if HHI_DMM_PRED_TEX && FLEX_CODING_ORDER 2094 if( m_pcEncCfg->getIsDepth() && !predIntraLumaDMMAvailable( uiOrgMode, uiWidth, uiHeight, pcCU->getSlice()->getSPS()->getUseDMM34() ) 2095 #if LGE_EDGE_INTRA 2096 && uiOrgMode < EDGE_INTRA_IDX 2097 #endif 2098 ) 2099 2100 #else 2101 2085 2102 if( m_pcEncCfg->getIsDepth() && !predIntraLumaDMMAvailable( uiOrgMode, uiWidth, uiHeight ) 2086 2103 #if LGE_EDGE_INTRA … … 2088 2105 #endif 2089 2106 ) 2107 #endif 2090 2108 { 2091 2109 continue; … … 6014 6032 } 6015 6033 6016 #if HHI_DMM_WEDGE_INTRA || HHI_DMM_PRED_TEX 6034 #if ((HHI_DMM_WEDGE_INTRA || HHI_DMM_PRED_TEX)&&FLEX_CODING_ORDER) 6035 Bool TEncSearch::predIntraLumaDMMAvailable( UInt uiMode, UInt uiWidth, UInt uiHeight, Bool bDMMAvailable34 ) 6036 #else 6017 6037 Bool TEncSearch::predIntraLumaDMMAvailable( UInt uiMode, UInt uiWidth, UInt uiHeight ) 6038 #endif 6018 6039 { 6019 6040 if( uiMode < NUM_INTRA_MODE ) return true; … … 6023 6044 #if HHI_DMM_WEDGE_INTRA 6024 6045 if( uiMode == DMM_WEDGE_FULL_IDX || 6025 6026 6027 6046 uiMode == DMM_WEDGE_FULL_D_IDX || 6047 uiMode == DMM_WEDGE_PREDDIR_IDX || 6048 uiMode == DMM_WEDGE_PREDDIR_D_IDX ) 6028 6049 { 6029 6050 if( (uiWidth != uiHeight) || (uiWidth < DMM_WEDGEMODEL_MIN_SIZE) || (uiWidth > DMM_WEDGEMODEL_MAX_SIZE) || ( ( uiMode == DMM_WEDGE_PREDDIR_IDX || uiMode == DMM_WEDGE_PREDDIR_D_IDX ) && uiWidth == 4 ) ) … … 6035 6056 #if HHI_DMM_PRED_TEX 6036 6057 if( uiMode == DMM_WEDGE_PREDTEX_IDX || 6037 6038 6039 6058 uiMode == DMM_WEDGE_PREDTEX_D_IDX || 6059 uiMode == DMM_CONTOUR_PREDTEX_IDX || 6060 uiMode == DMM_CONTOUR_PREDTEX_D_IDX ) 6040 6061 { 6041 6062 if( (uiWidth != uiHeight) || (uiWidth < DMM_WEDGEMODEL_MIN_SIZE) || (uiWidth > DMM_WEDGEMODEL_MAX_SIZE) || ( ( uiMode == DMM_CONTOUR_PREDTEX_IDX || uiMode == DMM_CONTOUR_PREDTEX_D_IDX ) && uiWidth == 4 ) ) … … 6043 6064 bDMMAvailable = false; 6044 6065 } 6066 6067 #if FLEX_CODING_ORDER 6068 if ( !bDMMAvailable34 ) 6069 { 6070 bDMMAvailable = false; 6071 } 6072 #endif 6073 6045 6074 } 6046 6075 #endif … … 6148 6177 xDeltaDCQuantScaleDown( pcCU, riDeltaDC2 ); 6149 6178 } 6150 #endif6151 #if HHI_DMM_WEDGE_INTRA 6179 //#endif 6180 #if HHI_DMM_WEDGE_INTRA 6152 6181 Void TEncSearch::findWedgeFullMinDist( TComDataCU* pcCU, 6153 6182 UInt uiAbsPtIdx, -
branches/HTM-4.0-Nokia/source/Lib/TLibEncoder/TEncSearch.h
r100 r139 315 315 Bool predIntraLumaDMMAvailable ( UInt uiMode, 316 316 UInt uiWidth, 317 UInt uiHeight ); 317 #if HHI_DMM_PRED_TEX && FLEX_CODING_ORDER 318 UInt uiHeight, 319 Bool bDMMAvailable34 ); 320 #else 321 UInt uiHeight ); 322 #endif 323 318 324 Void xGetWedgeDeltaDCsMinDist ( TComWedgelet* pcWedgelet, 319 325 TComDataCU* pcCU, -
branches/HTM-4.0-Nokia/source/Lib/TLibEncoder/TEncSlice.cpp
r102 r139 729 729 { 730 730 731 Int frameWidth = m_pcCfg->getSourceWidth(); 731 732 #if 0 733 Int frameWidth = m_pcCfg->getSourceWidth(); 732 734 Pel* pVideoRec = m_pcRdCost->getVideoRecPicYuv()->getLumaAddr(); 733 735 Int iVideoRecStride = m_pcRdCost->getVideoRecPicYuv()->getStride(); … … 746 748 pDepthOrg += iDepthOrgStride; 747 749 } 750 #endif 748 751 } 749 752 #endif -
branches/HTM-4.0-Nokia/source/Lib/TLibEncoder/TEncTop.cpp
r105 r139 768 768 m_cSPS.setUseDMM( m_bUseDMM ); 769 769 #endif 770 771 #if HHI_DMM_PRED_TEX && FLEX_CODING_ORDER 772 m_cSPS.setUseDMM34( m_bUseDMM34 ); 773 #endif 774 775 770 776 #if HHI_MPI 771 777 m_cSPS.setUseMVI( m_bUseMVI );
Note: See TracChangeset for help on using the changeset viewer.