<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Oct 28, 2013 at 5:07 AM, Gopu Govindaswamy <span dir="ltr"><<a href="mailto:gopu@multicorewareinc.com" target="_blank">gopu@multicorewareinc.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"># HG changeset patch<br>
# User Gopu Govindaswamy <<a href="mailto:gopu@multicorewareinc.com">gopu@multicorewareinc.com</a>><br>
# Date 1382954866 -19800<br>
# Node ID ebca77b70ffdbd76b1c853a29e2b6536d1160ce6<br>
# Parent  68042ac00ad6af0d9d7d85654e8c9968809ce8ce<br>
tenccfg : move Tool list config params from tenccfg to x265_param structure<br></blockquote><div><br></div><div>all the same comments apply to this patch as the last one.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

diff -r 68042ac00ad6 -r ebca77b70ffd source/Lib/TLibEncoder/TEncCfg.h<br>
--- a/source/Lib/TLibEncoder/TEncCfg.h  Mon Oct 28 15:08:49 2013 +0530<br>
+++ b/source/Lib/TLibEncoder/TEncCfg.h  Mon Oct 28 15:37:46 2013 +0530<br>
@@ -89,25 +89,6 @@<br>
     //====== Quality control ========<br>
     int       m_maxCuDQPDepth;                  //  Max. depth for a minimum CuDQP (0:default)<br>
<br>
-    //====== Tool list ========<br>
-    bool      m_bUseASR;<br>
-    bool      m_usePCM;<br>
-    UInt      m_pcmLog2MaxSize;<br>
-    UInt      m_pcmLog2MinSize;<br>
-<br>
-    bool      m_bPCMInputBitDepthFlag;<br>
-    UInt      m_pcmBitDepthLuma;<br>
-    UInt      m_pcmBitDepthChroma;<br>
-    bool      m_bPCMFilterDisableFlag;<br>
-    bool      m_loopFilterAcrossTilesEnabledFlag;<br>
-<br>
-    int       m_bufferingPeriodSEIEnabled;<br>
-    int       m_pictureTimingSEIEnabled;<br>
-    int       m_recoveryPointSEIEnabled;<br>
-    int       m_displayOrientationSEIAngle;<br>
-    int       m_gradualDecodingRefreshInfoEnabled;<br>
-    int       m_decodingUnitInfoSEIEnabled;<br>
-<br>
     //====== Weighted Prediction ========<br>
<br>
     UInt      m_log2ParallelMergeLevelMinus2;                 ///< Parallel merge estimation region<br>
@@ -183,33 +164,6 @@<br>
     //====== Lossless ========<br>
     bool getUseLossless() { return m_useLossless; }<br>
<br>
-    //==== Tool list ========<br>
-    bool getUseASR() { return m_bUseASR; }<br>
-<br>
-    bool getPCMInputBitDepthFlag() { return m_bPCMInputBitDepthFlag; }<br>
-<br>
-    bool getPCMFilterDisableFlag() { return m_bPCMFilterDisableFlag; }<br>
-<br>
-    bool getUsePCM() { return m_usePCM; }<br>
-<br>
-    UInt getPCMLog2MaxSize() { return m_pcmLog2MaxSize; }<br>
-<br>
-    UInt getPCMLog2MinSize() { return m_pcmLog2MinSize; }<br>
-<br>
-    bool  getLFCrossTileBoundaryFlag() { return m_loopFilterAcrossTilesEnabledFlag; }<br>
-<br>
-    int   getBufferingPeriodSEIEnabled() { return m_bufferingPeriodSEIEnabled; }<br>
-<br>
-    int   getPictureTimingSEIEnabled() { return m_pictureTimingSEIEnabled; }<br>
-<br>
-    int   getRecoveryPointSEIEnabled() { return m_recoveryPointSEIEnabled; }<br>
-<br>
-    int   getDisplayOrientationSEIAngle() { return m_displayOrientationSEIAngle; }<br>
-<br>
-    int   getGradualDecodingRefreshInfoEnabled() { return m_gradualDecodingRefreshInfoEnabled; }<br>
-<br>
-    int   getDecodingUnitInfoSEIEnabled() { return m_decodingUnitInfoSEIEnabled; }<br>
-<br>
     UInt getLog2ParallelMergeLevelMinus2() { return m_log2ParallelMergeLevelMinus2; }<br>
<br>
     int  getUseScalingListId() { return m_useScalingListId; }<br>
diff -r 68042ac00ad6 -r ebca77b70ffd source/encoder/encoder.cpp<br>
--- a/source/encoder/encoder.cpp        Mon Oct 28 15:08:49 2013 +0530<br>
+++ b/source/encoder/encoder.cpp        Mon Oct 28 15:37:46 2013 +0530<br>
@@ -712,9 +712,9 @@<br>
     sps->setLog2MinCodingBlockSize(log2MinCUSize);<br>
     sps->setLog2DiffMaxMinCodingBlockSize(sps->getMaxCUDepth() - g_addCUDepth);<br>
<br>
-    sps->setPCMLog2MinSize(m_pcmLog2MinSize);<br>
-    sps->setUsePCM(m_usePCM);<br>
-    sps->setPCMLog2MaxSize(m_pcmLog2MaxSize);<br>
+    sps->setPCMLog2MinSize(param.pcmLog2MinSize);<br>
+    sps->setUsePCM(param.busePCM);<br>
+    sps->setPCMLog2MaxSize(param.pcmLog2MaxSize);<br>
<br>
     sps->setQuadtreeTULog2MaxSize(m_quadtreeTULog2MaxSize);<br>
     sps->setQuadtreeTULog2MinSize(m_quadtreeTULog2MinSize);<br>
@@ -759,7 +759,7 @@<br>
     sps->setPCMBitDepthLuma(X265_DEPTH);<br>
     sps->setPCMBitDepthChroma(X265_DEPTH);<br>
<br>
-    sps->setPCMFilterDisableFlag(m_bPCMFilterDisableFlag);<br>
+    sps->setPCMFilterDisableFlag(param.bPCMFilterDisableFlag);<br>
<br>
     sps->setScalingListFlag((m_useScalingListId == 0) ? 0 : 1);<br>
<br>
@@ -857,7 +857,7 @@<br>
<br>
     pps->setTransquantBypassEnableFlag(getTransquantBypassEnableFlag());<br>
     pps->setUseTransformSkip(param.bEnableTransformSkip);<br>
-    pps->setLoopFilterAcrossTilesEnabledFlag(m_loopFilterAcrossTilesEnabledFlag);<br>
+    pps->setLoopFilterAcrossTilesEnabledFlag(param.bloopFilterAcrossTilesEnabledFlag);<br>
 }<br>
<br>
 void Encoder::determineLevelAndProfile(x265_param *_param)<br>
@@ -1060,7 +1060,7 @@<br>
     param.loopFilterOffsetInPPS = 0;<br>
     param.loopFilterBetaOffsetDiv2 = 0;<br>
     param.loopFilterTcOffsetDiv2 = 0;<br>
-    m_loopFilterAcrossTilesEnabledFlag = 1;<br>
+    param.bloopFilterAcrossTilesEnabledFlag = 1;<br>
<br>
     //====== HM Settings not exposed for configuration ======<br>
     TComVPS vps;<br>
@@ -1122,13 +1122,13 @@<br>
     m_interlacedSourceFlag = false;<br>
     m_nonPackedConstraintFlag = false;<br>
     m_frameOnlyConstraintFlag = false;<br>
-    m_bUseASR = false; // adapt search range based on temporal distances<br>
-    m_recoveryPointSEIEnabled = 0;<br>
-    m_bufferingPeriodSEIEnabled = 0;<br>
-    m_pictureTimingSEIEnabled = 0;<br>
-    m_displayOrientationSEIAngle = 0;<br>
-    m_gradualDecodingRefreshInfoEnabled = 0;<br>
-    m_decodingUnitInfoSEIEnabled = 0;<br>
+    param.bUseASR = false; // adapt search range based on temporal distances<br>
+    param.recoveryPointSEIEnabled = 0;<br>
+    param.bufferingPeriodSEIEnabled = 0;<br>
+    param.pictureTimingSEIEnabled = 0;<br>
+    param.displayOrientationSEIAngle = 0;<br>
+    param.gradualDecodingRefreshInfoEnabled = 0;<br>
+    param.decodingUnitInfoSEIEnabled = 0;<br>
     m_useScalingListId = 0;<br>
     m_activeParameterSetsSEIEnabled = 0;<br>
     m_vuiParametersPresentFlag = false;<br>
@@ -1158,11 +1158,11 @@<br>
     m_maxBitsPerMinCuDenom = 1;<br>
     m_log2MaxMvLengthHorizontal = 15;<br>
     m_log2MaxMvLengthVertical = 15;<br>
-    m_usePCM = 0;<br>
-    m_pcmLog2MinSize = 3;<br>
-    m_pcmLog2MaxSize = 5;<br>
-    m_bPCMInputBitDepthFlag = true;<br>
-    m_bPCMFilterDisableFlag = false;<br>
+    param.busePCM = 0;<br>
+    param.pcmLog2MinSize = 3;<br>
+    param.pcmLog2MaxSize = 5;<br>
+    param.bPCMInputBitDepthFlag = true;<br>
+    param.bPCMFilterDisableFlag = false;<br>
<br>
     m_useLossless = false;  // x264 configures this via --qp=0<br>
     m_TransquantBypassEnableFlag = false;<br>
diff -r 68042ac00ad6 -r ebca77b70ffd source/encoder/frameencoder.cpp<br>
--- a/source/encoder/frameencoder.cpp   Mon Oct 28 15:08:49 2013 +0530<br>
+++ b/source/encoder/frameencoder.cpp   Mon Oct 28 15:37:46 2013 +0530<br>
@@ -136,11 +136,11 @@<br>
     top->initPPS(&m_pps);<br>
<br>
     m_sps.setNumLongTermRefPicSPS(0);<br>
-    if (m_cfg->getPictureTimingSEIEnabled() || m_cfg->getDecodingUnitInfoSEIEnabled())<br>
+    if (m_cfg->param.pictureTimingSEIEnabled || m_cfg->param.decodingUnitInfoSEIEnabled)<br>
     {<br>
         m_sps.setHrdParameters(m_cfg->param.frameRate, 0, m_cfg->param.rc.bitrate, m_cfg->param.bframes > 0);<br>
     }<br>
-    if (m_cfg->getBufferingPeriodSEIEnabled() || m_cfg->getPictureTimingSEIEnabled() || m_cfg->getDecodingUnitInfoSEIEnabled())<br>
+    if (m_cfg->param.bufferingPeriodSEIEnabled || m_cfg->param.pictureTimingSEIEnabled || m_cfg->param.decodingUnitInfoSEIEnabled)<br>
     {<br>
         m_sps.getVuiParameters()->setHrdParametersPresentFlag(true);<br>
     }<br>
@@ -228,13 +228,13 @@<br>
         count++;<br>
     }<br>
<br>
-    if (m_cfg->getDisplayOrientationSEIAngle())<br>
+    if (m_cfg->param.displayOrientationSEIAngle)<br>
     {<br>
         SEIDisplayOrientation sei;<br>
         sei.cancelFlag = false;<br>
         sei.horFlip = false;<br>
         sei.verFlip = false;<br>
-        sei.anticlockwiseRotation = m_cfg->getDisplayOrientationSEIAngle();<br>
+        sei.anticlockwiseRotation = m_cfg->param.displayOrientationSEIAngle;<br>
<br>
         nalu = NALUnit(NAL_UNIT_PREFIX_SEI);<br>
         entropyCoder->setBitstream(&nalu.m_Bitstream);<br>
@@ -372,7 +372,7 @@<br>
     TComOutputBitstream*  bitstreamRedirect = new TComOutputBitstream;<br>
     TComOutputBitstream*  outStreams = new TComOutputBitstream[numSubstreams];<br>
<br>
-    if (m_cfg->getUseASR() && !slice->isIntra())<br>
+    if (m_cfg->param.bUseASR && !slice->isIntra())<br>
     {<br>
         int pocCurr = slice->getPOC();<br>
         int maxSR = m_cfg->param.searchRange;<br>
@@ -491,9 +491,9 @@<br>
     }<br>
<br>
     m_wp.xRestoreWPparam(slice);<br>
-    if ((m_cfg->getRecoveryPointSEIEnabled()) && (slice->getSliceType() == I_SLICE))<br>
+    if ((m_cfg->param.recoveryPointSEIEnabled) && (slice->getSliceType() == I_SLICE))<br>
     {<br>
-        if (m_cfg->getGradualDecodingRefreshInfoEnabled() && !slice->getRapPicFlag())<br>
+        if (m_cfg->param.gradualDecodingRefreshInfoEnabled && !slice->getRapPicFlag())<br>
         {<br>
             // Gradual decoding refresh SEI<br>
             OutputNALUnit nalu(NAL_UNIT_PREFIX_SEI);<br>
diff -r 68042ac00ad6 -r ebca77b70ffd source/x265.h<br>
--- a/source/x265.h     Mon Oct 28 15:08:49 2013 +0530<br>
+++ b/source/x265.h     Mon Oct 28 15:37:46 2013 +0530<br>
@@ -340,6 +340,25 @@<br>
     int       loopFilterTcOffsetDiv2;<br>
     int       maxNumOffsetsPerPic;<br>
<br>
+    //====== Tool list ==================<br>
+    bool      bUseASR;<br>
+    bool      busePCM;<br>
+    uint32_t  pcmLog2MaxSize;<br>
+    uint32_t  pcmLog2MinSize;<br>
+<br>
+    bool      bPCMInputBitDepthFlag;<br>
+    uint32_t  pcmBitDepthLuma;<br>
+    uint32_t  pcmBitDepthChroma;<br>
+    bool      bPCMFilterDisableFlag;<br>
+    bool      bloopFilterAcrossTilesEnabledFlag;<br>
+<br>
+    int       bufferingPeriodSEIEnabled;<br>
+    int       pictureTimingSEIEnabled;<br>
+    int       recoveryPointSEIEnabled;<br>
+    int       displayOrientationSEIAngle;<br>
+    int       gradualDecodingRefreshInfoEnabled;<br>
+    int       decodingUnitInfoSEIEnabled;<br>
+<br>
 } x265_param;<br>
<br>
 /***<br>
_______________________________________________<br>
x265-devel mailing list<br>
<a href="mailto:x265-devel@videolan.org">x265-devel@videolan.org</a><br>
<a href="https://mailman.videolan.org/listinfo/x265-devel" target="_blank">https://mailman.videolan.org/listinfo/x265-devel</a><br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br>Steve Borho
</div></div>