Changeset 468 in SHVCSoftware for branches/SHM-4.0-dev/source/Lib
- Timestamp:
- 14 Nov 2013, 09:02:43 (11 years ago)
- Location:
- branches/SHM-4.0-dev/source/Lib
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/SHM-4.0-dev/source/Lib/TLibCommon/TComUpsampleFilter.cpp
r467 r468 279 279 #if N0214_INTERMEDIATE_BUFFER_16BITS 280 280 #if O0194_JOINT_US_BITSHIFT 281 Int nShift = 20 - g_bitDepthYLayer[1];281 Int nShift = 20 - g_bitDepthYLayer[1]; 282 282 #else 283 283 Int nShift = US_FILTER_PREC*2 - shift1; -
branches/SHM-4.0-dev/source/Lib/TLibCommon/TypeDef.h
r467 r468 45 45 #define RANDOM_ACCESS_SEI_FIX 1 46 46 #if SVC_EXTENSION 47 #define MFM_ENCCONSTRAINT 1 ///< JCTVC-O0216: Encoder constraint for motion field mapping 48 49 #define O0194_DIFFERENT_BITDEPTH_EL_BL 1 ///< JCTVC-O0194: Support for different bitdepth values for BL and EL, add required configuration parameters 47 #define O0194_DIFFERENT_BITDEPTH_EL_BL 1 ///< JCTVC-O0194: Support for different bitdepth values for BL and EL, add required configuration parameters (and Some bugfixes when REPN_FORMAT_IN_VPS (JCTVC-N0092) is enabled) 50 48 #define O0194_JOINT_US_BITSHIFT 1 ///< JCTVC-O0194: Joint Upsampling and bit-shift 51 49 #define O0194_WEIGHTED_PREDICTION_CGS 1 ///< JCTVC-O0194: Weighted prediciton for color gamut scalability 52 #define O0194_REPN_FORMAT_IN_VPS_BUGFIX 1 ///< JCTVC-O0194: Some bugfixes when REPN_FORMAT_IN_VPS (JCTVC-N0092) is enabled 53 50 #define MFM_ENCCONSTRAINT 1 ///< JCTVC-O0216: Encoder constraint for motion field mapping 54 51 #define VPS_NUH_LAYER_ID 1 ///< JCTVC-N0085: Assert that the nuh_layer_id of VPS NAL unit should be 0 55 52 #define MAX_LAYERS 2 ///< max number of layers the codec is supposed to handle -
branches/SHM-4.0-dev/source/Lib/TLibDecoder/TDecCAVLC.cpp
r467 r468 2007 2007 2008 2008 #if REPN_FORMAT_IN_VPS 2009 #if O0194_ REPN_FORMAT_IN_VPS_BUGFIX2009 #if O0194_DIFFERENT_BITDEPTH_EL_BL 2010 2010 g_bitDepthYLayer[rpcSlice->getLayerId()] = rpcSlice->getBitDepthY(); 2011 2011 g_bitDepthCLayer[rpcSlice->getLayerId()] = rpcSlice->getBitDepthC(); -
branches/SHM-4.0-dev/source/Lib/TLibDecoder/TDecCu.cpp
r466 r468 616 616 curChromaQpOffset = pcCU->getSlice()->getPPS()->getChromaCrQpOffset() + pcCU->getSlice()->getSliceQpDeltaCr(); 617 617 } 618 #if O0194_REPN_FORMAT_IN_VPS_BUGFIX 618 #if O0194_DIFFERENT_BITDEPTH_EL_BL 619 // Bug-fix 619 620 #if REPN_FORMAT_IN_VPS 620 621 m_pcTrQuant->setQPforQuant ( pcCU->getQP(0), eText, pcCU->getSlice()->getQpBDOffsetC(), curChromaQpOffset ); … … 776 777 // Cb and Cr 777 778 Int curChromaQpOffset = pcCU->getSlice()->getPPS()->getChromaCbQpOffset() + pcCU->getSlice()->getSliceQpDeltaCb(); 778 #if O0194_REPN_FORMAT_IN_VPS_BUGFIX 779 #if O0194_DIFFERENT_BITDEPTH_EL_BL 780 // Bug-fix 779 781 #if REPN_FORMAT_IN_VPS 780 782 m_pcTrQuant->setQPforQuant( pcCU->getQP( uiAbsPartIdx ), TEXT_CHROMA, pcCU->getSlice()->getQpBDOffsetC(), curChromaQpOffset ); … … 792 794 793 795 curChromaQpOffset = pcCU->getSlice()->getPPS()->getChromaCrQpOffset() + pcCU->getSlice()->getSliceQpDeltaCr(); 794 #if O0194_REPN_FORMAT_IN_VPS_BUGFIX 796 #if O0194_DIFFERENT_BITDEPTH_EL_BL 797 // Bug-fix 795 798 #if REPN_FORMAT_IN_VPS 796 799 m_pcTrQuant->setQPforQuant( pcCU->getQP( uiAbsPartIdx ), TEXT_CHROMA, pcCU->getSlice()->getQpBDOffsetC(), curChromaQpOffset ); -
branches/SHM-4.0-dev/source/Lib/TLibEncoder/TEncSlice.cpp
r466 r468 931 931 } 932 932 #if O0194_WEIGHTED_PREDICTION_CGS 933 else{ 933 else 934 { 934 935 // Calculate for the base layer to be used in EL as Inter layer reference 935 936 xCalcACDCParamSlice(pcSlice); -
branches/SHM-4.0-dev/source/Lib/TLibEncoder/WeightPredAnalysis.cpp
r467 r468 232 232 slice->getRefPic(eRefPicList, refIdxTemp)->getSlice(0)->getWpAcDcParam(refWeightACDCParam); 233 233 #if O0194_WEIGHTED_PREDICTION_CGS 234 if (slice->getRefPic(eRefPicList, refIdxTemp)->isILR(1)){ 234 if (slice->getRefPic(eRefPicList, refIdxTemp)->isILR(slice->getLayerId())) 235 { 235 236 refWeightACDCParam = (wpACDCParam *)g_refWeightACDCParam; 236 237 } … … 250 251 Int64 refAC = refWeightACDCParam[comp].iAC; 251 252 #if O0194_WEIGHTED_PREDICTION_CGS 252 if (slice->getRefPic(eRefPicList, refIdxTemp)->isILR(1)){ 253 if (slice->getRefPic(eRefPicList, refIdxTemp)->isILR(slice->getLayerId())) 254 { 253 255 refAC *= (double)currWeightACDCParam[comp].iSamples/refWeightACDCParam[comp].iSamples; 254 256 #if O0194_JOINT_US_BITSHIFT … … 264 266 Int offset = (Int)( ((currDC<<log2Denom) - ((Int64)weight * refDC) + (Int64)realOffset) >> realLog2Denom ); 265 267 #if O0194_WEIGHTED_PREDICTION_CGS 266 if (slice->getRefPic(eRefPicList, refIdxTemp)->isILR( 1)){268 if (slice->getRefPic(eRefPicList, refIdxTemp)->isILR(slice->getLayerId())){ 267 269 } 268 270 else{ … … 293 295 #if O0194_WEIGHTED_PREDICTION_CGS 294 296 // make sure the reference frames other than ILR are not using weighted prediction 295 if (!(slice->getRefPic(eRefPicList, refIdxTemp)->isILR(1))) 296 { 297 if (!(slice->getRefPic(eRefPicList, refIdxTemp)->isILR(slice->getLayerId()))){ 297 298 continue; 298 299 }
Note: See TracChangeset for help on using the changeset viewer.