<div dir="ltr"># HG changeset patch<br># User Deepthi Nandakumar <<a href="mailto:deepthi@multicorewareinc.com">deepthi@multicorewareinc.com</a>><br># Date 1379334518 -19800<br># Node ID 46b065f7d676e7ff26c46a40f1790bdae290d7fa<br>
# Parent 881444f5910b2b0e0f286a6ca47fcc743515cbb2<br>CLI options: Eliminate rdoqts option; cleanup<br><br>1. Eliminate rdoqts CLI option: enabled when rdoq and ts are both enabled.<br>2. Rearrange default initialisations in x265_param_ t structure<br>
<br>diff -r 881444f5910b -r 46b065f7d676 source/common/common.cpp<br>--- a/source/common/common.cpp Mon Sep 16 09:41:34 2013 +0530<br>+++ b/source/common/common.cpp Mon Sep 16 17:58:38 2013 +0530<br>@@ -115,45 +115,58 @@<br>
va_end(arg);<br> }<br> <br>-extern "C"<br> void x265_param_default(x265_param_t *param)<br> {<br> memset(param, 0, sizeof(x265_param_t));<br>+<br>+ /* Applying non-zero default values to all elements in the param structure */<br>
+ param->logLevel = X265_LOG_INFO;<br>+ param->bEnableWavefront = 1;<br> param->frameNumThreads = 1;<br>- param->logLevel = X265_LOG_INFO;<br>+ <br>+ param->internalBitDepth = 8;<br>+<br>
+ /* CU definitions */<br>+ param->maxCUSize = 64;<br>+ param->tuQTMaxInterDepth = 3;<br>+ param->tuQTMaxIntraDepth = 3;<br>+<br>+ /* Coding Structure */<br>+ param->decodingRefreshType = 1;<br>
+ param->keyframeMin = 0;<br>+ param->keyframeMax = 250;<br>+ param->bframes = 3;<br>+ param->lookaheadDepth = 10;<br>+ param->bFrameAdaptive = X265_B_ADAPT_FAST;<br>+ param->scenecutThreshold = 40; /* Magic number pulled in from x264*/<br>
+<br>+ /* Intra Coding Tools */<br>+ param->bEnableStrongIntraSmoothing = 1;<br>+<br>+ /* Inter Coding tools */<br> param->searchMethod = X265_STAR_SEARCH;<br> param->subpelRefine = 5;<br> param->searchRange = 60;<br>
param->bipredSearchRange = 4;<br>- param->internalBitDepth = 8;<br>- param->decodingRefreshType = 1;<br>- param->maxCUSize = 64;<br>- param->tuQTMaxInterDepth = 3;<br>- param->tuQTMaxIntraDepth = 3;<br>
+ param->maxNumMergeCand = 5u;<br> param->bEnableAMP = 1;<br> param->bEnableRectInter = 1;<br>- <br>- param->bEnableLoopFilter = 1;<br>- param->bEnableSAO = 1;<br>- param->bEnableWavefront = 1;<br>
- param->saoLcuBasedOptimization = 1;<br>- param->maxNumMergeCand = 5u;<br>+ param->bRDLevel = X265_FULL_RDO;<br>+ param->bEnableRDO = 1;<br>+ param->bEnableRDOQ = 1;<br>+ param->bEnableRDOQTS = 1;<br>
param->bEnableSignHiding = 1;<br>- param->bEnableStrongIntraSmoothing = 1;<br>- <br>- param->bEnableRDOQTS = 1;<br> param->bEnableTransformSkip = 1;<br> param->bEnableTSkipFast = 1;<br>
+<br>+ /* Loop Filter */<br>+ param->bEnableLoopFilter = 1;<br> <br>- param->bRDLevel = X265_FULL_RDO;<br>-<br>- param->bFrameAdaptive = X265_B_ADAPT_FAST;<br>- param->lookaheadDepth = 10;<br>
- param->bframes = 3;<br>- param->scenecutThreshold = 40; /* Magic number pulled in from x264*/<br>- param->keyframeMin = 0;<br>- param->keyframeMax = 250;<br>-<br>+ /*SAO Loop Filter */<br>+ param->bEnableSAO = 1;<br>
+ param->saoLcuBasedOptimization = 1;<br>+ <br>+ /* Rate control options */<br> param->rc.bitrate = 0;<br> param->rc.rateTolerance = 0.1;<br> param->rc.qCompress = 0.6;<br>diff -r 881444f5910b -r 46b065f7d676 source/encoder/encoder.cpp<br>
--- a/source/encoder/encoder.cpp Mon Sep 16 09:41:34 2013 +0530<br>+++ b/source/encoder/encoder.cpp Mon Sep 16 17:58:38 2013 +0530<br>@@ -219,6 +219,11 @@<br> _param->rc.rateControlMode = X265_RC_ABR;<br>
}<br> <br>+ if(!(_param->bEnableRDOQ && _param->bEnableTransformSkip))<br>+ {<br>+ _param->bEnableRDOQTS = 0;<br>+ }<br>+<br> /* Set flags according to RDLevel specified - check_params has verified that RDLevel is within range */<br>
switch(_param->bRDLevel)<br> {<br>diff -r 881444f5910b -r 46b065f7d676 source/x265opts.h<br>--- a/source/x265opts.h Mon Sep 16 09:41:34 2013 +0530<br>+++ b/source/x265opts.h Mon Sep 16 17:58:38 2013 +0530<br>
@@ -80,8 +80,6 @@<br> OPT("cbqpoffs", param->cbQpOffset, required_argument, 0, "Chroma Cb QP Offset")<br> OPT("crqpoffs", param->crQpOffset, required_argument, 0, "Chroma Cr QP Offset")<br>
OPT("rd", param->bRDLevel, required_argument, 0, "Level of RD in mode decision 0:least....2:full RDO")<br>-OPT("no-rdoqts", param->bEnableRDOQTS, no_argument, 0, "Disable RDO quantization with transform skip")<br>
-OPT("rdoqts", param->bEnableRDOQTS, no_argument, 0, "Enable RDO quantization with transform skip")<br> OPT("no-signhide", param->bEnableSignHiding, no_argument, 0, "Disable hide sign bit of one coeff per TU (rdo)")<br>
OPT("signhide", param->bEnableSignHiding, no_argument, 0, "Hide sign bit of one coeff per TU (rdo)")<br> <br><br></div>