[x265] [PATCH] tenccfg : move Tool list config params from tenccfg to x265_param structure
Steve Borho
steve at borho.org
Mon Oct 28 18:00:09 CET 2013
On Mon, Oct 28, 2013 at 5:07 AM, Gopu Govindaswamy <
gopu at multicorewareinc.com> wrote:
> # HG changeset patch
> # User Gopu Govindaswamy <gopu at multicorewareinc.com>
> # Date 1382954866 -19800
> # Node ID ebca77b70ffdbd76b1c853a29e2b6536d1160ce6
> # Parent 68042ac00ad6af0d9d7d85654e8c9968809ce8ce
> tenccfg : move Tool list config params from tenccfg to x265_param structure
>
all the same comments apply to this patch as the last one.
> diff -r 68042ac00ad6 -r ebca77b70ffd source/Lib/TLibEncoder/TEncCfg.h
> --- a/source/Lib/TLibEncoder/TEncCfg.h Mon Oct 28 15:08:49 2013 +0530
> +++ b/source/Lib/TLibEncoder/TEncCfg.h Mon Oct 28 15:37:46 2013 +0530
> @@ -89,25 +89,6 @@
> //====== Quality control ========
> int m_maxCuDQPDepth; // Max. depth for a
> minimum CuDQP (0:default)
>
> - //====== Tool list ========
> - bool m_bUseASR;
> - bool m_usePCM;
> - UInt m_pcmLog2MaxSize;
> - UInt m_pcmLog2MinSize;
> -
> - bool m_bPCMInputBitDepthFlag;
> - UInt m_pcmBitDepthLuma;
> - UInt m_pcmBitDepthChroma;
> - bool m_bPCMFilterDisableFlag;
> - bool m_loopFilterAcrossTilesEnabledFlag;
> -
> - int m_bufferingPeriodSEIEnabled;
> - int m_pictureTimingSEIEnabled;
> - int m_recoveryPointSEIEnabled;
> - int m_displayOrientationSEIAngle;
> - int m_gradualDecodingRefreshInfoEnabled;
> - int m_decodingUnitInfoSEIEnabled;
> -
> //====== Weighted Prediction ========
>
> UInt m_log2ParallelMergeLevelMinus2; ///<
> Parallel merge estimation region
> @@ -183,33 +164,6 @@
> //====== Lossless ========
> bool getUseLossless() { return m_useLossless; }
>
> - //==== Tool list ========
> - bool getUseASR() { return m_bUseASR; }
> -
> - bool getPCMInputBitDepthFlag() { return m_bPCMInputBitDepthFlag; }
> -
> - bool getPCMFilterDisableFlag() { return m_bPCMFilterDisableFlag; }
> -
> - bool getUsePCM() { return m_usePCM; }
> -
> - UInt getPCMLog2MaxSize() { return m_pcmLog2MaxSize; }
> -
> - UInt getPCMLog2MinSize() { return m_pcmLog2MinSize; }
> -
> - bool getLFCrossTileBoundaryFlag() { return
> m_loopFilterAcrossTilesEnabledFlag; }
> -
> - int getBufferingPeriodSEIEnabled() { return
> m_bufferingPeriodSEIEnabled; }
> -
> - int getPictureTimingSEIEnabled() { return
> m_pictureTimingSEIEnabled; }
> -
> - int getRecoveryPointSEIEnabled() { return
> m_recoveryPointSEIEnabled; }
> -
> - int getDisplayOrientationSEIAngle() { return
> m_displayOrientationSEIAngle; }
> -
> - int getGradualDecodingRefreshInfoEnabled() { return
> m_gradualDecodingRefreshInfoEnabled; }
> -
> - int getDecodingUnitInfoSEIEnabled() { return
> m_decodingUnitInfoSEIEnabled; }
> -
> UInt getLog2ParallelMergeLevelMinus2() { return
> m_log2ParallelMergeLevelMinus2; }
>
> int getUseScalingListId() { return m_useScalingListId; }
> diff -r 68042ac00ad6 -r ebca77b70ffd source/encoder/encoder.cpp
> --- a/source/encoder/encoder.cpp Mon Oct 28 15:08:49 2013 +0530
> +++ b/source/encoder/encoder.cpp Mon Oct 28 15:37:46 2013 +0530
> @@ -712,9 +712,9 @@
> sps->setLog2MinCodingBlockSize(log2MinCUSize);
> sps->setLog2DiffMaxMinCodingBlockSize(sps->getMaxCUDepth() -
> g_addCUDepth);
>
> - sps->setPCMLog2MinSize(m_pcmLog2MinSize);
> - sps->setUsePCM(m_usePCM);
> - sps->setPCMLog2MaxSize(m_pcmLog2MaxSize);
> + sps->setPCMLog2MinSize(param.pcmLog2MinSize);
> + sps->setUsePCM(param.busePCM);
> + sps->setPCMLog2MaxSize(param.pcmLog2MaxSize);
>
> sps->setQuadtreeTULog2MaxSize(m_quadtreeTULog2MaxSize);
> sps->setQuadtreeTULog2MinSize(m_quadtreeTULog2MinSize);
> @@ -759,7 +759,7 @@
> sps->setPCMBitDepthLuma(X265_DEPTH);
> sps->setPCMBitDepthChroma(X265_DEPTH);
>
> - sps->setPCMFilterDisableFlag(m_bPCMFilterDisableFlag);
> + sps->setPCMFilterDisableFlag(param.bPCMFilterDisableFlag);
>
> sps->setScalingListFlag((m_useScalingListId == 0) ? 0 : 1);
>
> @@ -857,7 +857,7 @@
>
> pps->setTransquantBypassEnableFlag(getTransquantBypassEnableFlag());
> pps->setUseTransformSkip(param.bEnableTransformSkip);
> -
> pps->setLoopFilterAcrossTilesEnabledFlag(m_loopFilterAcrossTilesEnabledFlag);
> +
> pps->setLoopFilterAcrossTilesEnabledFlag(param.bloopFilterAcrossTilesEnabledFlag);
> }
>
> void Encoder::determineLevelAndProfile(x265_param *_param)
> @@ -1060,7 +1060,7 @@
> param.loopFilterOffsetInPPS = 0;
> param.loopFilterBetaOffsetDiv2 = 0;
> param.loopFilterTcOffsetDiv2 = 0;
> - m_loopFilterAcrossTilesEnabledFlag = 1;
> + param.bloopFilterAcrossTilesEnabledFlag = 1;
>
> //====== HM Settings not exposed for configuration ======
> TComVPS vps;
> @@ -1122,13 +1122,13 @@
> m_interlacedSourceFlag = false;
> m_nonPackedConstraintFlag = false;
> m_frameOnlyConstraintFlag = false;
> - m_bUseASR = false; // adapt search range based on temporal distances
> - m_recoveryPointSEIEnabled = 0;
> - m_bufferingPeriodSEIEnabled = 0;
> - m_pictureTimingSEIEnabled = 0;
> - m_displayOrientationSEIAngle = 0;
> - m_gradualDecodingRefreshInfoEnabled = 0;
> - m_decodingUnitInfoSEIEnabled = 0;
> + param.bUseASR = false; // adapt search range based on temporal
> distances
> + param.recoveryPointSEIEnabled = 0;
> + param.bufferingPeriodSEIEnabled = 0;
> + param.pictureTimingSEIEnabled = 0;
> + param.displayOrientationSEIAngle = 0;
> + param.gradualDecodingRefreshInfoEnabled = 0;
> + param.decodingUnitInfoSEIEnabled = 0;
> m_useScalingListId = 0;
> m_activeParameterSetsSEIEnabled = 0;
> m_vuiParametersPresentFlag = false;
> @@ -1158,11 +1158,11 @@
> m_maxBitsPerMinCuDenom = 1;
> m_log2MaxMvLengthHorizontal = 15;
> m_log2MaxMvLengthVertical = 15;
> - m_usePCM = 0;
> - m_pcmLog2MinSize = 3;
> - m_pcmLog2MaxSize = 5;
> - m_bPCMInputBitDepthFlag = true;
> - m_bPCMFilterDisableFlag = false;
> + param.busePCM = 0;
> + param.pcmLog2MinSize = 3;
> + param.pcmLog2MaxSize = 5;
> + param.bPCMInputBitDepthFlag = true;
> + param.bPCMFilterDisableFlag = false;
>
> m_useLossless = false; // x264 configures this via --qp=0
> m_TransquantBypassEnableFlag = false;
> diff -r 68042ac00ad6 -r ebca77b70ffd source/encoder/frameencoder.cpp
> --- a/source/encoder/frameencoder.cpp Mon Oct 28 15:08:49 2013 +0530
> +++ b/source/encoder/frameencoder.cpp Mon Oct 28 15:37:46 2013 +0530
> @@ -136,11 +136,11 @@
> top->initPPS(&m_pps);
>
> m_sps.setNumLongTermRefPicSPS(0);
> - if (m_cfg->getPictureTimingSEIEnabled() ||
> m_cfg->getDecodingUnitInfoSEIEnabled())
> + if (m_cfg->param.pictureTimingSEIEnabled ||
> m_cfg->param.decodingUnitInfoSEIEnabled)
> {
> m_sps.setHrdParameters(m_cfg->param.frameRate, 0,
> m_cfg->param.rc.bitrate, m_cfg->param.bframes > 0);
> }
> - if (m_cfg->getBufferingPeriodSEIEnabled() ||
> m_cfg->getPictureTimingSEIEnabled() ||
> m_cfg->getDecodingUnitInfoSEIEnabled())
> + if (m_cfg->param.bufferingPeriodSEIEnabled ||
> m_cfg->param.pictureTimingSEIEnabled ||
> m_cfg->param.decodingUnitInfoSEIEnabled)
> {
> m_sps.getVuiParameters()->setHrdParametersPresentFlag(true);
> }
> @@ -228,13 +228,13 @@
> count++;
> }
>
> - if (m_cfg->getDisplayOrientationSEIAngle())
> + if (m_cfg->param.displayOrientationSEIAngle)
> {
> SEIDisplayOrientation sei;
> sei.cancelFlag = false;
> sei.horFlip = false;
> sei.verFlip = false;
> - sei.anticlockwiseRotation =
> m_cfg->getDisplayOrientationSEIAngle();
> + sei.anticlockwiseRotation =
> m_cfg->param.displayOrientationSEIAngle;
>
> nalu = NALUnit(NAL_UNIT_PREFIX_SEI);
> entropyCoder->setBitstream(&nalu.m_Bitstream);
> @@ -372,7 +372,7 @@
> TComOutputBitstream* bitstreamRedirect = new TComOutputBitstream;
> TComOutputBitstream* outStreams = new
> TComOutputBitstream[numSubstreams];
>
> - if (m_cfg->getUseASR() && !slice->isIntra())
> + if (m_cfg->param.bUseASR && !slice->isIntra())
> {
> int pocCurr = slice->getPOC();
> int maxSR = m_cfg->param.searchRange;
> @@ -491,9 +491,9 @@
> }
>
> m_wp.xRestoreWPparam(slice);
> - if ((m_cfg->getRecoveryPointSEIEnabled()) && (slice->getSliceType()
> == I_SLICE))
> + if ((m_cfg->param.recoveryPointSEIEnabled) && (slice->getSliceType()
> == I_SLICE))
> {
> - if (m_cfg->getGradualDecodingRefreshInfoEnabled() &&
> !slice->getRapPicFlag())
> + if (m_cfg->param.gradualDecodingRefreshInfoEnabled &&
> !slice->getRapPicFlag())
> {
> // Gradual decoding refresh SEI
> OutputNALUnit nalu(NAL_UNIT_PREFIX_SEI);
> diff -r 68042ac00ad6 -r ebca77b70ffd source/x265.h
> --- a/source/x265.h Mon Oct 28 15:08:49 2013 +0530
> +++ b/source/x265.h Mon Oct 28 15:37:46 2013 +0530
> @@ -340,6 +340,25 @@
> int loopFilterTcOffsetDiv2;
> int maxNumOffsetsPerPic;
>
> + //====== Tool list ==================
> + bool bUseASR;
> + bool busePCM;
> + uint32_t pcmLog2MaxSize;
> + uint32_t pcmLog2MinSize;
> +
> + bool bPCMInputBitDepthFlag;
> + uint32_t pcmBitDepthLuma;
> + uint32_t pcmBitDepthChroma;
> + bool bPCMFilterDisableFlag;
> + bool bloopFilterAcrossTilesEnabledFlag;
> +
> + int bufferingPeriodSEIEnabled;
> + int pictureTimingSEIEnabled;
> + int recoveryPointSEIEnabled;
> + int displayOrientationSEIAngle;
> + int gradualDecodingRefreshInfoEnabled;
> + int decodingUnitInfoSEIEnabled;
> +
> } x265_param;
>
> /***
> _______________________________________________
> x265-devel mailing list
> x265-devel at videolan.org
> https://mailman.videolan.org/listinfo/x265-devel
>
--
Steve Borho
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/x265-devel/attachments/20131028/3bfc99d2/attachment-0001.html>
More information about the x265-devel
mailing list