Changeset 200 in 3DVCSoftware
- Timestamp:
- 3 Dec 2012, 16:57:58 (12 years ago)
- Location:
- branches/HTM-5.0-Nokia
- Files:
-
- 16 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-5.0-Nokia/CommonTestConditionsCfgs/baseCfg_3view+depth.cfg
r197 r200 201 201 DisparitySearchRangeRestriction : 0 # 0: No disparity restriction 1: Use disparity restriction 202 202 VerticalDisparitySearchRange : 56 # vertical disparity search range (in luma samples) 203 FCO : 0 # Flexible coding order flag in 3DV 204 FCOCodingOrder : T0D0D1D2T1T2 # Coding order for Flexible coding order in 3DV 203 205 204 206 … … 213 215 #========== view synthesis optimization (VSO) ========== 214 216 VSOConfig : [cx0 B(cc1) I(s0.25 s0.5 s0.75)][cx1 B(oo0) B(oo2) I(s0.25 s0.5 s0.75 s1.25 s1.5 s1.75)][cx2 B(cc1) I(s1.25 s1.5 s1.75)] # VSO configuration string 217 #VSOConfig : [ox0 B(cc1) I(s0.25 s0.5 s0.75)][cx1 B(oo0) B(oo2) I(s0.25 s0.5 s0.75 s1.25 s1.5 s1.75)][ox2 B(cc1) I(s1.25 s1.5 s1.75)] # VSO configuration string for FCO = 1 215 218 WVSO : 1 # use of WVSO (Depth distortion metric with a weighted depth fidelity term) 216 219 VSOWeight : 10 # weight of VSO ( in SAD case, cf. squared in SSE case ) -
branches/HTM-5.0-Nokia/source/App/TAppDecoder/TAppDecTop.cpp
r195 r200 88 88 #endif 89 89 90 #if FLEX_CODING_ORDER 91 Int iDepthViewIdx = 0; 92 Int iTextureViewIdx=0; 93 Bool first_frame=1; 94 Bool viewid_zero=true; 95 Int FCO_index=0; //when the current frame is not first frame,use FCO_index stand for viewDepth. 96 #endif 97 90 98 #if SONY_COLPIC_AVAILABILITY 91 99 m_tDecTop[0]->setViewOrderIdx(0); … … 102 110 pcListPic[i] = NULL; 103 111 newPicture[i] = false; 112 #if FLEX_CODING_ORDER 113 FCO_Order[i]=NULL; 114 #endif 115 104 116 } 105 117 … … 161 173 depth = getVPSAccess()->getActiveVPS()->getDepthFlag(nalu.m_layerId); 162 174 } 163 viewDepthId = nalu.m_layerId; // coding order T0D0T1D1T2D2 175 #if FLEX_CODING_ORDER 176 if (viewId>0) 177 { 178 viewid_zero=false; 179 } 180 if (viewid_zero==false&&viewId==0) 181 { 182 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 183 } 184 if (first_frame) 185 { // if the current view is first frame, we set the viewDepthId as texture plus depth and get the FCO order 186 viewDepthId = iDepthViewIdx+iTextureViewIdx; 187 FCO_viewDepthId=viewDepthId; 188 } 189 else 190 {//if current view is not first frame, we set the viewDepthId depended on the FCO order 191 viewDepthId=0; 192 if (depth) 193 { 194 for (FCO_index=0;FCO_index<2*MAX_VIEW_NUM;FCO_index++ ) 195 { 196 if (FCO_Order[FCO_index]=='D') 197 { 198 if (viewId==viewDepthId) 199 break; 200 else 201 viewDepthId++; 202 } 203 } 204 } 205 else 206 { 207 for (FCO_index=0;FCO_index<2*MAX_VIEW_NUM;FCO_index++ ) 208 { 209 if (FCO_Order[FCO_index]=='T') 210 { 211 if (viewId==viewDepthId) 212 break; 213 else 214 viewDepthId++; 215 } 216 } 217 } 218 219 viewDepthId=FCO_index; 220 221 } 222 223 224 #else 225 viewDepthId = nalu.m_layerId; // coding order T0D0T1D1T2D2 226 #endif 227 164 228 #else 165 229 Int viewId = nalu.m_viewId; 166 230 Int depth = nalu.m_isDepth ? 1 : 0; 167 viewDepthId = viewId * 2 + depth; // coding order T0D0T1D1T2D2 231 #if FLEX_CODING_ORDER 232 if (viewId>0) 233 { 234 viewid_zero=false; 235 } 236 if (viewid_zero==false&&viewId==0) 237 { 238 first_frame=0; 239 } 240 if (first_frame) 241 { 242 viewDepthId = iDepthViewIdx+iTextureViewIdx; 243 FCO_viewDepthId=viewDepthId; 244 } 245 else 246 { 247 viewDepthId=0; 248 if (depth) 249 { 250 for (FCO_index=0;FCO_index<2*MAX_VIEW_NUM;FCO_index++ ) 251 { 252 if (FCO_Order[FCO_index]=='D') 253 { 254 if (viewId==viewDepthId) 255 break; 256 else 257 viewDepthId++; 258 } 259 } 260 } 261 else 262 { 263 for (FCO_index=0;FCO_index<2*MAX_VIEW_NUM;FCO_index++ ) 264 { 265 if (FCO_Order[FCO_index]=='T') 266 { 267 if (viewId==viewDepthId) 268 break; 269 else 270 viewDepthId++; 271 } 272 } 273 } 274 275 viewDepthId=FCO_index; 276 277 } 278 #else 279 viewDepthId = viewId * 2 + depth; // coding order T0D0T1D1T2D2 280 #endif 281 168 282 #endif 169 283 #endif … … 224 338 { 225 339 previousPictureDecoded = true; 340 #if FLEX_CODING_ORDER 341 if (first_frame) 342 { 343 if (depth) 344 { 345 iDepthViewIdx++; 346 FCO_Order[viewDepthId]='D'; 347 } 348 else 349 { 350 iTextureViewIdx++; 351 FCO_Order[viewDepthId]='T'; 352 } 353 } 354 355 #endif 226 356 } 227 357 } … … 527 657 TDecTop* TAppDecTop::getTDecTop( Int viewId, Bool isDepth ) 528 658 { 659 #if FLEX_CODING_ORDER 660 Int viewnumber=0; 661 Int i=0; 662 Bool FCO_flag=0; 663 if (viewId>FCO_viewDepthId) 664 { 665 return NULL; 666 } 667 else 668 { 669 if (isDepth) 670 { 671 for ( i=0; i<=FCO_viewDepthId;i++) 672 { 673 if (FCO_Order[i]=='D') 674 { 675 if (viewnumber==viewId) 676 { 677 FCO_flag=1; 678 break; 679 } 680 else 681 viewnumber++; 682 } 683 } 684 } 685 else 686 { 687 for ( i=0; i<=FCO_viewDepthId;i++) 688 { 689 if (FCO_Order[i]=='T') 690 { 691 if (viewnumber==viewId) 692 { 693 FCO_flag=1; 694 break; 695 } 696 else 697 viewnumber++; 698 } 699 } 700 } 701 if (FCO_flag) 702 { 703 return m_tDecTop[i]; 704 } 705 else 706 return NULL; 707 708 } 709 710 // coding order T0D0T1D1T2D2 711 #else 529 712 return m_tDecTop[(isDepth ? 1 : 0) + viewId * 2]; // coding order T0D0T1D1T2D2 713 #endif 714 530 715 } 531 716 … … 546 731 assert( ( viewId >= 0 ) ); 547 732 733 #if FLEX_CODING_ORDER 734 if (getTDecTop(viewId,isDepth)) 735 { 736 TComList<TComPic*>* apcListPic = getTDecTop( viewId, isDepth )->getListPic(); 737 TComPic* pcPic = NULL; 738 for( TComList<TComPic*>::iterator it=apcListPic->begin(); it!=apcListPic->end(); it++ ) 739 { 740 if( (*it)->getPOC() == poc ) 741 { 742 pcPic = *it; 743 break; 744 } 745 } 746 return pcPic; 747 } 748 else 749 return NULL; 750 #else 751 548 752 TComList<TComPic*>* apcListPic = getTDecTop( viewId, isDepth )->getListPic(); 549 753 TComPic* pcPic = NULL; … … 557 761 } 558 762 return pcPic; 763 #endif 559 764 } 560 765 //! \} -
branches/HTM-5.0-Nokia/source/App/TAppDecoder/TAppDecTop.h
r195 r200 71 71 Bool m_useDepth; 72 72 73 #if FLEX_CODING_ORDER 74 Int FCO_viewDepthId; 75 Char FCO_Order[MAX_VIEW_NUM*2]; 76 #endif 77 73 78 FILE* m_pScaleOffsetFile; 74 79 CamParsCollector m_cCamParsCollector; -
branches/HTM-5.0-Nokia/source/App/TAppEncoder/TAppEncCfg.cpp
r197 r200 111 111 if (m_pchBitstreamFile != NULL) 112 112 free (m_pchBitstreamFile) ; 113 114 #if FLEX_CODING_ORDER 115 if (m_pchMVCJointCodingOrder != NULL) 116 { 117 free(m_pchMVCJointCodingOrder) ; 118 } 119 #endif 120 113 121 #if HHI_VSO 114 122 if ( m_pchVSOConfig != NULL) … … 203 211 string cfg_RowHeight; 204 212 string cfg_ScalingListFile; 213 214 #if FLEX_CODING_ORDER 215 string cfg_JointCodingOrdering; 216 #endif 217 205 218 po::Options opts; 206 219 opts.addOptions() … … 246 259 247 260 ("NumberOfViews", m_iNumberOfViews, 0, "Number of views") 261 262 #if FLEX_CODING_ORDER 263 ("FCO", m_b3DVFlexOrder, false, "flexible coding order flag" ) 264 ("FCOCodingOrder", cfg_JointCodingOrdering, string(""), "The coding order for joint texture-depth coding") 265 #endif 266 248 267 /* Unit definition parameters */ 249 268 ("MaxCUWidth", m_uiMaxCUWidth, 64u) … … 533 552 m_pchBitstreamFile = cfg_BitstreamFile.empty() ? NULL : strdup(cfg_BitstreamFile.c_str()); 534 553 m_pchdQPFile = cfg_dQPFile.empty() ? NULL : strdup(cfg_dQPFile.c_str()); 554 555 #if FLEX_CODING_ORDER 556 m_pchMVCJointCodingOrder= cfg_JointCodingOrdering.empty()?NULL:strdup(cfg_JointCodingOrdering.c_str()); 557 // If flexible order is enabled and if depth comes before the texture for a view, disable VSO 558 #if HHI_VSO && DISABLE_FCO_FOR_VSO 559 Bool depthComesFirst = false; 560 int iter = 0; 561 if ( m_b3DVFlexOrder ) 562 { 563 for(Int iViewIdx=0; iViewIdx<m_iNumberOfViews; iViewIdx++) 564 { 565 iter = 0; 566 for ( Int ii=1; ii<12; ii+=2 ) 567 { 568 Int iViewIdxCfg = (Int)(m_pchMVCJointCodingOrder[ii]-'0'); 569 if ( iViewIdxCfg == iViewIdx ) 570 { 571 iter ++; 572 if ( m_pchMVCJointCodingOrder[ii-1]=='D' ) // depth comes first for this view 573 { 574 if(iter == 1) 575 { 576 depthComesFirst = true; 577 break; 578 } 579 } 580 else 581 { 582 assert(m_pchMVCJointCodingOrder[ii-1]=='T'); 583 } 584 } 585 } 586 } 587 } 588 if (depthComesFirst) 589 { 590 m_bUseVSO = false; 591 } 592 #endif 593 #endif 594 595 596 597 535 598 536 599 m_pchColumnWidth = cfg_ColumnWidth.empty() ? NULL: strdup(cfg_ColumnWidth.c_str()); -
branches/HTM-5.0-Nokia/source/App/TAppEncoder/TAppEncCfg.h
r197 r200 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 90 96 // coding structure 91 97 Int m_iIntraPeriod; ///< period of I-slice (random access period) -
branches/HTM-5.0-Nokia/source/App/TAppEncoder/TAppEncTop.cpp
r197 r200 400 400 for(Int iViewIdx=0; iViewIdx<m_iNumberOfViews; iViewIdx++) 401 401 { 402 403 #if FLEX_CODING_ORDER 404 // Detect whether depth comes before than texture for this view 405 Bool isDepthFirst = false; 406 if ( m_b3DVFlexOrder ) 407 { 408 for ( Int ii=1; ii<12; ii+=2 ) 409 { 410 Int iViewIdxCfg = (Int)(m_pchMVCJointCodingOrder[ii]-'0'); 411 if ( iViewIdxCfg == iViewIdx ) 412 { 413 if ( m_pchMVCJointCodingOrder[ii-1]=='D' ) // depth comes first for this view 414 { 415 isDepthFirst = true; 416 } 417 else 418 { 419 assert(m_pchMVCJointCodingOrder[ii-1]=='T'); 420 } 421 break; 422 } 423 } 424 } 425 #endif 426 402 427 m_depthFrameRcvd.push_back(0); 403 428 m_acTEncDepthTopList.push_back(new TEncTop); … … 682 707 m_acTEncDepthTopList[iViewIdx]->setUseDMM ( m_bUseDMM ); 683 708 #endif 709 710 #if FLEX_CODING_ORDER && HHI_DMM_PRED_TEX 711 m_acTEncDepthTopList[iViewIdx]->setUseDMM34( (m_b3DVFlexOrder && isDepthFirst) ? false : m_bUseDMM ); 712 #endif 713 684 714 #if OL_QTLIMIT_PREDCODING_B0068 685 715 m_acTEncDepthTopList[iViewIdx]->setUseQTLPC (m_bUseQTLPC); 686 716 #endif 717 687 718 #if HHI_MPI 688 m_acTEncDepthTopList[iViewIdx]->setUseMVI( m_bUseMVI ); 689 #endif 719 #if FLEX_CODING_ORDER 720 m_acTEncDepthTopList[iViewIdx]->setUseMVI( (m_b3DVFlexOrder && isDepthFirst) ? false : m_bUseMVI ); 721 #else 722 m_acTEncDepthTopList[iViewIdx]->setUseMVI( m_bUseMVI ); 723 #endif 724 #endif 725 726 690 727 #if RWTH_SDC_DLT_B0036 691 728 m_acTEncDepthTopList[iViewIdx]->setUseDLT ( m_bUseDLT ); … … 1003 1040 } 1004 1041 #endif 1042 1043 #if FLEX_CODING_ORDER 1044 if (m_b3DVFlexOrder) 1045 { 1046 Int iNumDepthEncoded = 0; 1047 iNumEncoded = 0; 1048 Int i=0; 1049 Int iViewIdx=0; 1050 Int iNumberofDepthViews = m_bUsingDepthMaps?m_iNumberOfViews:0; 1051 for (Int j=0; j < (m_iNumberOfViews+ iNumberofDepthViews); j++ ) 1052 { 1053 if (m_pchMVCJointCodingOrder[i]=='T') 1054 { 1055 1056 i++; 1057 assert(isdigit(m_pchMVCJointCodingOrder[i])); 1058 iViewIdx = (Int)(m_pchMVCJointCodingOrder[i]-'0'); 1059 1060 m_acTEncTopList[iViewIdx]->encode( eos[iViewIdx], pcPicYuvOrg, *m_picYuvRec[iViewIdx], outputAccessUnits, iNumEncoded, gopId ); 1061 xWriteOutput(bitstreamFile, iNumEncoded, outputAccessUnits, iViewIdx, false); 1062 outputAccessUnits.clear(); 1063 i++; 1064 } 1065 else if ( m_pchMVCJointCodingOrder[i] == 'D') 1066 { 1067 1068 i++; 1069 if( m_bUsingDepthMaps ) 1070 { 1071 assert(isdigit(m_pchMVCJointCodingOrder[i])); 1072 iViewIdx = (Int)(m_pchMVCJointCodingOrder[i]-'0'); 1073 #if SAIT_VSO_EST_A0033 1074 if( m_bUseVSO && iNextPoc < m_iFrameToBeEncoded ) 1075 { 1076 m_cCameraData.xSetDispCoeff( iNextPoc, iViewIdx ); 1077 m_acTEncDepthTopList[iViewIdx]->setDispCoeff( m_cCameraData.getDispCoeff() ); 1078 } 1079 #endif 1080 m_acTEncDepthTopList[iViewIdx]->encode( depthEos[iViewIdx], pcDepthPicYuvOrg, *m_picYuvDepthRec[iViewIdx], outputAccessUnits, iNumDepthEncoded, gopId ); 1081 xWriteOutput(bitstreamFile, iNumDepthEncoded, outputAccessUnits, iViewIdx, true); 1082 outputAccessUnits.clear(); 1083 i++; 1084 } 1085 } 1086 } 1087 } 1088 else 1089 { 1090 1091 #endif 1092 1093 //original code 1094 1095 1096 1097 1098 1099 1005 1100 for(Int iViewIdx=0; iViewIdx < m_iNumberOfViews; iViewIdx++ ) 1006 1101 { … … 1026 1121 } 1027 1122 } 1123 1124 #if FLEX_CODING_ORDER 1125 } 1126 #endif 1127 1028 1128 #if HHI_INTERVIEW_SKIP || HHI_INTER_VIEW_MOTION_PRED || HHI_INTER_VIEW_RESIDUAL_PRED 1029 1129 for( Int iViewIdx = 0; iViewIdx < m_iNumberOfViews; iViewIdx++ ) -
branches/HTM-5.0-Nokia/source/Lib/TLibCommon/TComSlice.cpp
r195 r200 1594 1594 , m_bUseDMM (false) 1595 1595 #endif 1596 1597 #if FLEX_CODING_ORDER && HHI_DMM_PRED_TEX 1598 , m_bUseDMM34 (false) 1599 #endif 1600 1596 1601 #if OL_QTLIMIT_PREDCODING_B0068 1597 1602 , m_bUseQTLPC (false) -
branches/HTM-5.0-Nokia/source/Lib/TLibCommon/TComSlice.h
r195 r200 394 394 #endif 395 395 396 #if HHI_DMM_PRED_TEX && FLEX_CODING_ORDER 397 Bool m_bUseDMM34; 398 #endif 399 396 400 #if OL_QTLIMIT_PREDCODING_B0068 397 401 Bool m_bUseQTLPC; … … 674 678 #endif 675 679 680 #if HHI_DMM_PRED_TEX && FLEX_CODING_ORDER 681 Bool getUseDMM34() { return m_bUseDMM34; } 682 Void setUseDMM34( Bool b ) { m_bUseDMM34 = b; } 683 #endif 684 676 685 #if OL_QTLIMIT_PREDCODING_B0068 677 686 Void setUseQTLPC( Bool b ) { m_bUseQTLPC = b; } -
branches/HTM-5.0-Nokia/source/Lib/TLibCommon/TypeDef.h
r198 r200 62 62 63 63 64 // FCO 65 #define FLEX_CODING_ORDER 1 66 #if FLEX_CODING_ORDER 67 #define DISABLE_FCO_FOR_VSO 0 // Optional compile settings to disable VSO with FCO. 68 #endif 69 64 70 ///// ***** PATCHES ********* 65 71 #define TMVP_DEPTH_SWITCH 1 // JCT3V-B0092 additional encoder option only -
branches/HTM-5.0-Nokia/source/Lib/TLibDecoder/TDecTop.cpp
r195 r200 1002 1002 assert( m_tAppDecTop != NULL ); 1003 1003 TComPic * const pcTexturePic = m_isDepth ? m_tAppDecTop->getPicFromView( m_viewId, pcSlice->getPOC(), false ) : NULL; 1004 1005 #if FLEX_CODING_ORDER 1006 if (pcTexturePic != NULL) 1007 { 1008 assert( !m_isDepth || pcTexturePic != NULL ); 1009 pcSlice->setTexturePic( pcTexturePic ); 1010 } 1011 #else 1004 1012 assert( !m_isDepth || pcTexturePic != NULL ); 1005 1013 pcSlice->setTexturePic( pcTexturePic ); 1014 #endif 1015 1006 1016 1007 1017 std::vector<TComPic*> apcInterViewRefPics = m_tAppDecTop->getInterViewRefPics( m_viewId, pcSlice->getPOC(), m_isDepth, pcSlice->getSPS() ); -
branches/HTM-5.0-Nokia/source/Lib/TLibEncoder/TEncCfg.h
r197 r200 327 327 #endif 328 328 329 #if HHI_DMM_PRED_TEX && FLEX_CODING_ORDER 330 Bool m_bUseDMM34; 331 #endif 332 329 333 #if OL_QTLIMIT_PREDCODING_B0068 330 334 Bool m_bUseQTLPC; … … 844 848 #endif 845 849 850 #if HHI_DMM_PRED_TEX && FLEX_CODING_ORDER 851 Void setUseDMM34( Bool b) { m_bUseDMM34 = b; } 852 Bool getUseDMM34() { return m_bUseDMM34; } 853 #endif 854 846 855 #if OL_QTLIMIT_PREDCODING_B0068 847 856 Void setUseQTLPC( Bool b ) { m_bUseQTLPC = b; } -
branches/HTM-5.0-Nokia/source/Lib/TLibEncoder/TEncGOP.cpp
r195 r200 363 363 assert( tAppEncTop != NULL ); 364 364 365 366 #if FLEX_CODING_ORDER 367 TComPic * pcTexturePic; 368 if(m_pcEncTop->getIsDepth() == 1) 369 { 370 TComPicYuv * recText; 371 recText = tAppEncTop->getPicYuvFromView(m_pcEncTop->getViewId(), pcSlice->getPOC(), false ,true); 372 if(recText == NULL) 373 { 374 pcSlice->setTexturePic(NULL); 375 } 376 else 377 { 378 pcTexturePic = m_pcEncTop->getIsDepth() ? tAppEncTop->getPicFromView( m_pcEncTop->getViewId(), pcSlice->getPOC(), false ) : NULL; 379 pcSlice->setTexturePic( pcTexturePic ); 380 } 381 } 382 else 383 { 384 pcTexturePic = m_pcEncTop->getIsDepth() ? tAppEncTop->getPicFromView( m_pcEncTop->getViewId(), pcSlice->getPOC(), false ) : NULL; 385 assert( !m_pcEncTop->getIsDepth() || pcTexturePic != NULL ); 386 pcSlice->setTexturePic( pcTexturePic ); 387 } 388 389 #else 365 390 TComPic * const pcTexturePic = m_pcEncTop->getIsDepth() ? tAppEncTop->getPicFromView( m_pcEncTop->getViewId(), pcSlice->getPOC(), false ) : NULL; 366 391 assert( !m_pcEncTop->getIsDepth() || pcTexturePic != NULL ); 367 392 pcSlice->setTexturePic( pcTexturePic ); 368 393 394 #endif 369 395 std::vector<TComPic*> apcInterViewRefPics = tAppEncTop->getInterViewRefPics( m_pcEncTop->getViewId(), pcSlice->getPOC(), m_pcEncTop->getIsDepth(), pcSlice->getSPS() ); 370 396 pcSlice->setRefPicListMvc( rcListPic, apcInterViewRefPics ); … … 466 492 467 493 #if SAIT_VSO_EST_A0033 468 m_pcRdCost->setVideoRecPicYuv( m_pcEncTop->getEncTop()->getPicYuvFromView( pcSlice->getViewId(), pcSlice->getPOC(), false, true ) ); 494 { 495 Bool flag_rec; 496 flag_rec = ((m_pcEncTop->getEncTop()->getPicYuvFromView( pcSlice->getViewId(), pcSlice->getPOC(), false, true) == NULL) ? false: true); 497 m_pcRdCost->setVideoRecPicYuv( m_pcEncTop->getEncTop()->getPicYuvFromView( pcSlice->getViewId(), pcSlice->getPOC(), false, flag_rec ) ); 469 498 m_pcRdCost->setDepthPicYuv ( m_pcEncTop->getEncTop()->getPicYuvFromView( pcSlice->getViewId(), pcSlice->getPOC(), true, false ) ); 499 } 470 500 #endif 471 501 #if LGE_WVSO_A0119 -
branches/HTM-5.0-Nokia/source/Lib/TLibEncoder/TEncSbac.cpp
r195 r200 1076 1076 #endif 1077 1077 #if HHI_DMM_PRED_TEX 1078 1079 #if FLEX_CODING_ORDER 1080 if ( !pcCU->getSlice()->getSPS()->getUseDMM34() ) 1081 { 1082 assert( uiDir != DMM_WEDGE_PREDTEX_D_IDX ); 1083 assert( uiDir != DMM_CONTOUR_PREDTEX_D_IDX ); 1084 } 1085 #endif 1086 1078 1087 if( uiDir == DMM_WEDGE_PREDTEX_D_IDX ) { xCodeWedgePredTexDeltaInfo ( pcCU, uiAbsPartIdx ); } 1079 1088 if( uiDir == DMM_CONTOUR_PREDTEX_D_IDX ) { xCodeContourPredTexDeltaInfo( pcCU, uiAbsPartIdx ); } -
branches/HTM-5.0-Nokia/source/Lib/TLibEncoder/TEncSearch.cpp
r197 r200 2244 2244 #endif 2245 2245 #if HHI_DMM_PRED_TEX 2246 2247 #if FLEX_CODING_ORDER 2248 if ( pcCU->getSlice()->getSPS()->getUseDMM34() ) 2249 { 2250 #endif 2246 2251 UInt uiTexTabIdx = 0; 2247 2252 Int iTexDeltaDC1 = 0; … … 2267 2272 uiRdModeList[ numModesForFullRD++ ] = DMM_CONTOUR_PREDTEX_D_IDX; 2268 2273 } 2274 #if FLEX_CODING_ORDER 2275 } 2276 #endif 2269 2277 #endif 2270 2278 } … … 2311 2319 2312 2320 #if HHI_DMM_WEDGE_INTRA || HHI_DMM_PRED_TEX 2321 #if HHI_DMM_PRED_TEX && FLEX_CODING_ORDER 2322 if( m_pcEncCfg->getIsDepth() && !predIntraLumaDMMAvailable( uiOrgMode, uiWidth, uiHeight, pcCU->getSlice()->getSPS()->getUseDMM34() ) 2323 #if LGE_EDGE_INTRA 2324 && uiOrgMode < EDGE_INTRA_IDX 2325 #endif 2326 ) 2327 2328 #else 2329 2313 2330 if( m_pcEncCfg->getIsDepth() && !predIntraLumaDMMAvailable( uiOrgMode, uiWidth, uiHeight ) 2314 #if LGE_EDGE_INTRA _A00702331 #if LGE_EDGE_INTRA 2315 2332 && uiOrgMode < EDGE_INTRA_IDX 2316 2333 #endif 2317 2334 ) 2335 #endif 2318 2336 { 2319 2337 continue; … … 6466 6484 6467 6485 #if HHI_DMM_WEDGE_INTRA || HHI_DMM_PRED_TEX 6486 #if ((HHI_DMM_WEDGE_INTRA || HHI_DMM_PRED_TEX)&&FLEX_CODING_ORDER) 6487 Bool TEncSearch::predIntraLumaDMMAvailable( UInt uiMode, UInt uiWidth, UInt uiHeight, Bool bDMMAvailable34 ) 6488 #else 6468 6489 Bool TEncSearch::predIntraLumaDMMAvailable( UInt uiMode, UInt uiWidth, UInt uiHeight ) 6490 #endif 6469 6491 { 6470 6492 if( uiMode < NUM_INTRA_MODE ) return true; … … 6494 6516 bDMMAvailable = false; 6495 6517 } 6518 6519 #if FLEX_CODING_ORDER 6520 if ( !bDMMAvailable34 ) 6521 { 6522 bDMMAvailable = false; 6523 } 6524 #endif 6525 6496 6526 } 6497 6527 #endif -
branches/HTM-5.0-Nokia/source/Lib/TLibEncoder/TEncSearch.h
r197 r200 333 333 334 334 #if HHI_DMM_WEDGE_INTRA || HHI_DMM_PRED_TEX 335 335 336 Bool predIntraLumaDMMAvailable ( UInt uiMode, 336 337 UInt uiWidth, 337 UInt uiHeight ); 338 #if HHI_DMM_PRED_TEX && FLEX_CODING_ORDER 339 UInt uiHeight, 340 Bool bDMMAvailable34 ); 341 #else 342 UInt uiHeight ); 343 #endif 344 338 345 Void xGetWedgeDeltaDCsMinDist ( TComWedgelet* pcWedgelet, 339 346 TComDataCU* pcCU, -
branches/HTM-5.0-Nokia/source/Lib/TLibEncoder/TEncTop.cpp
r197 r200 769 769 m_cSPS.setUseDMM( m_bUseDMM ); 770 770 #endif 771 772 #if HHI_DMM_PRED_TEX && FLEX_CODING_ORDER 773 m_cSPS.setUseDMM34( m_bUseDMM34 ); 774 #endif 775 771 776 #if OL_QTLIMIT_PREDCODING_B0068 772 777 m_cSPS.setUseQTLPC( m_bUseQTLPC );
Note: See TracChangeset for help on using the changeset viewer.