Changeset 305 in 3DVCSoftware for branches/HTM-6.0-LG/source/Lib/TLibEncoder
- Timestamp:
- 15 Mar 2013, 05:18:01 (12 years ago)
- Location:
- branches/HTM-6.0-LG/source/Lib/TLibEncoder
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-6.0-LG/source/Lib/TLibEncoder/TEncCavlc.cpp
r303 r305 1116 1116 } 1117 1117 #endif 1118 1118 1119 #if FIX_LGE_WP_FOR_3D_C0223 1120 if ( (pcSlice->getPPS()->getUseWP() && pcSlice->getSliceType()==P_SLICE) || (pcSlice->getPPS()->getWPBiPredIdc() && pcSlice->getSliceType()==B_SLICE) ) 1121 #else 1119 1122 if ( (pcSlice->getPPS()->getUseWP() && pcSlice->getSliceType()==P_SLICE) || (pcSlice->getPPS()->getWPBiPredIdc()==1 && pcSlice->getSliceType()==B_SLICE) ) 1123 #endif 1120 1124 { 1121 1125 xCodePredWeightTable( pcSlice ); -
branches/HTM-6.0-LG/source/Lib/TLibEncoder/TEncSlice.cpp
r303 r305 677 677 xCalcACDCParamSlice(pcSlice); 678 678 } 679 680 Bool bWp_explicit = (pcSlice->getSliceType()==P_SLICE && pcSlice->getPPS()->getUseWP()) || (pcSlice->getSliceType()==B_SLICE && pcSlice->getPPS()->getWPBiPredIdc()==1); 681 Bool bWp_implicit = (pcSlice->getSliceType()==B_SLICE && pcSlice->getPPS()->getWPBiPredIdc()==2); 682 683 if ( bWp_explicit || bWp_implicit ) 679 #if FIX_LGE_WP_FOR_3D_C0223 680 Bool bWp_explicit = (pcSlice->getSliceType()==P_SLICE && pcSlice->getPPS()->getUseWP()) || (pcSlice->getSliceType()==B_SLICE && pcSlice->getPPS()->getWPBiPredIdc()); 681 682 if ( bWp_explicit ) 684 683 { 685 684 //------------------------------------------------------------------------------ … … 690 689 printf("Weighted Prediction is not supported with slice mode determined by max number of bins.\n"); exit(0); 691 690 } 691 xEstimateWPParamSlice( pcSlice ); 692 pcSlice->initWpScaling(); 693 #if !FIX_LGE_WP_FOR_3D_C0223 // Interim fix for encoder/decoder mismatch of non-fade sequence 694 // check WP on/off 695 xCheckWPEnable( pcSlice ); 696 #endif 697 } 698 #else 699 700 Bool bWp_explicit = (pcSlice->getSliceType()==P_SLICE && pcSlice->getPPS()->getUseWP()) || (pcSlice->getSliceType()==B_SLICE && pcSlice->getPPS()->getWPBiPredIdc()==1); 701 Bool bWp_implicit = (pcSlice->getSliceType()==B_SLICE && pcSlice->getPPS()->getWPBiPredIdc()==2); 702 703 if ( bWp_explicit || bWp_implicit ) 704 { 705 //------------------------------------------------------------------------------ 706 // Weighted Prediction implemented at Slice level. SliceMode=2 is not supported yet. 707 //------------------------------------------------------------------------------ 708 if ( pcSlice->getSliceMode()==2 || pcSlice->getEntropySliceMode()==2 ) 709 { 710 printf("Weighted Prediction is not supported with slice mode determined by max number of bins.\n"); exit(0); 711 } 692 712 693 713 if( bWp_explicit ) … … 704 724 } 705 725 } 706 726 #endif 707 727 #if ADAPTIVE_QP_SELECTION 708 728 if( m_pcCfg->getUseAdaptQpSelect() )
Note: See TracChangeset for help on using the changeset viewer.