<div dir="ltr">Pushed in the default branch <div><br clear="all"><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div>Thanks,</div><div dir="ltr"><span></span><span></span>Kalyan Goswami, PhD</div><div dir="ltr"><span style="font-size:12.8px">Video Architect @ MulticoreWare</span></div><div dir="ltr"><div><a href="http://www.multicorewareinc.com/" target="_blank">http:</a><a href="http://www.multicorewareinc.com/" style="font-size:12.8px" target="_blank">//www.multicorewareinc.com</a></div><div><span style="font-size:12.8px">+91 9884989331</span><br></div><div></div></div></div></div></div></div></div></div></div></div></div></div></div><br></div></div><br><div class="gmail_quote"><div dir="ltr">On Fri, Dec 28, 2018 at 2:47 PM <<a href="mailto:jayashri@multicorewareinc.com">jayashri@multicorewareinc.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"># HG changeset patch<br>
# User Jayashri Murugan<br>
# Date 1537392648 25200<br>
# Wed Sep 19 14:30:48 2018 -0700<br>
# Node ID 23a8a7456916d98040b56a09a93ce3b1149613d9<br>
# Parent 3cd0b5ed0b91bcb3d5d6cfa1395cb502fc6d01ca<br>
Rename refine-mv-type to accommodate reuse of CU depth functionality<br>
<br>
diff -r 3cd0b5ed0b91 -r 23a8a7456916 source/common/frame.cpp<br>
--- a/source/common/frame.cpp Thu Dec 27 14:43:54 2018 +0530<br>
+++ b/source/common/frame.cpp Wed Sep 19 14:30:48 2018 -0700<br>
@@ -80,7 +80,7 @@<br>
}<br>
}<br>
<br>
- if (param->bMVType == AVC_INFO)<br>
+ if (param->bAnalysisType == AVC_INFO)<br>
{<br>
m_analysisData.wt = NULL;<br>
m_analysisData.intraData = NULL;<br>
diff -r 3cd0b5ed0b91 -r 23a8a7456916 source/common/param.cpp<br>
--- a/source/common/param.cpp Thu Dec 27 14:43:54 2018 +0530<br>
+++ b/source/common/param.cpp Wed Sep 19 14:30:48 2018 -0700<br>
@@ -311,7 +311,7 @@<br>
<br>
/* DCT Approximations */<br>
param->bLowPassDct = 0;<br>
- param->bMVType = 0;<br>
+ param->bAnalysisType = 0;<br>
param->bSingleSeiNal = 0;<br>
<br>
/* SEI messages */<br>
@@ -1151,15 +1151,15 @@<br>
OPT("vbv-end") p->vbvBufferEnd = atof(value);<br>
OPT("vbv-end-fr-adj") p->vbvEndFrameAdjust = atof(value);<br>
OPT("copy-pic") p->bCopyPicToFrame = atobool(value);<br>
- OPT("refine-mv-type")<br>
+ OPT("refine-analysis-type")<br>
{<br>
if (strcmp(strdup(value), "avc") == 0)<br>
{<br>
- p->bMVType = AVC_INFO;<br>
+ p->bAnalysisType = AVC_INFO;<br>
}<br>
else if (strcmp(strdup(value), "off") == 0)<br>
{<br>
- p->bMVType = NO_INFO;<br>
+ p->bAnalysisType = NO_INFO;<br>
}<br>
else<br>
{<br>
@@ -1713,8 +1713,8 @@<br>
TOOLVAL(param->lookaheadSlices, "lslices=%d");<br>
TOOLVAL(param->lookaheadThreads, "lthreads=%d")<br>
TOOLVAL(param->bCTUInfo, "ctu-info=%d");<br>
- if (param->bMVType == AVC_INFO)<br>
- TOOLOPT(param->bMVType, "refine-mv-type=avc");<br>
+ if (param->bAnalysisType == AVC_INFO)<br>
+ TOOLOPT(param->bAnalysisType, "refine-analysis-type=avc");<br>
TOOLOPT(param->bDynamicRefine, "dynamic-refine");<br>
if (param->maxSlices > 1)<br>
TOOLVAL(param->maxSlices, "slices=%d");<br>
@@ -1958,7 +1958,7 @@<br>
BOOL(p->bLimitSAO, "limit-sao");<br>
s += sprintf(s, " ctu-info=%d", p->bCTUInfo);<br>
BOOL(p->bLowPassDct, "lowpass-dct");<br>
- s += sprintf(s, " refine-mv-type=%d", p->bMVType);<br>
+ s += sprintf(s, " refine-analysis-type=%d", p->bAnalysisType);<br>
s += sprintf(s, " copy-pic=%d", p->bCopyPicToFrame);<br>
s += sprintf(s, " max-ausize-factor=%.1f", p->maxAUSizeFactor);<br>
BOOL(p->bDynamicRefine, "dynamic-refine");<br>
diff -r 3cd0b5ed0b91 -r 23a8a7456916 source/encoder/analysis.cpp<br>
--- a/source/encoder/analysis.cpp Thu Dec 27 14:43:54 2018 +0530<br>
+++ b/source/encoder/analysis.cpp Wed Sep 19 14:30:48 2018 -0700<br>
@@ -234,9 +234,9 @@<br>
}<br>
else<br>
{<br>
- bool bCopyAnalysis = ((m_param->analysisLoad && m_param->analysisReuseLevel == 10) || (m_param->bMVType && m_param->analysisReuseLevel >= 7 && ctu.m_numPartitions <= 16));<br>
- bool BCompressInterCUrd0_4 = (m_param->bMVType && m_param->analysisReuseLevel >= 7 && m_param->rdLevel <= 4);<br>
- bool BCompressInterCUrd5_6 = (m_param->bMVType && m_param->analysisReuseLevel >= 7 && m_param->rdLevel >= 5 && m_param->rdLevel <= 6);<br>
+ bool bCopyAnalysis = ((m_param->analysisLoad && m_param->analysisReuseLevel == 10) || (m_param->bAnalysisType == AVC_INFO && m_param->analysisReuseLevel >= 7 && ctu.m_numPartitions <= 16));<br>
+ bool BCompressInterCUrd0_4 = (m_param->bAnalysisType == AVC_INFO && m_param->analysisReuseLevel >= 7 && m_param->rdLevel <= 4);<br>
+ bool BCompressInterCUrd5_6 = (m_param->bAnalysisType == AVC_INFO && m_param->analysisReuseLevel >= 7 && m_param->rdLevel >= 5 && m_param->rdLevel <= 6);<br>
bCopyAnalysis = bCopyAnalysis || BCompressInterCUrd0_4 || BCompressInterCUrd5_6;<br>
<br>
if (bCopyAnalysis)<br>
@@ -249,7 +249,7 @@<br>
for (int list = 0; list < m_slice->isInterB() + 1; list++)<br>
memcpy(ctu.m_skipFlag[list], &m_frame->m_analysisData.modeFlag[list][posCTU], sizeof(uint8_t) * numPartition);<br>
<br>
- if ((m_slice->m_sliceType == P_SLICE || m_param->bIntraInBFrames) && !m_param->bMVType)<br>
+ if ((m_slice->m_sliceType == P_SLICE || m_param->bIntraInBFrames) && !(m_param->bAnalysisType == AVC_INFO))<br>
{<br>
x265_analysis_intra_data* intraDataCTU = m_frame->m_analysisData.intraData;<br>
memcpy(ctu.m_lumaIntraDir, &intraDataCTU->modes[posCTU], sizeof(uint8_t) * numPartition);<br>
@@ -275,14 +275,14 @@<br>
/* generate residual for entire CTU at once and copy to reconPic */<br>
encodeResidue(ctu, cuGeom);<br>
}<br>
- else if ((m_param->analysisLoad && m_param->analysisReuseLevel == 10) || ((m_param->bMVType == AVC_INFO) && m_param->analysisReuseLevel >= 7 && ctu.m_numPartitions <= 16))<br>
+ else if ((m_param->analysisLoad && m_param->analysisReuseLevel == 10) || ((m_param->bAnalysisType == AVC_INFO) && m_param->analysisReuseLevel >= 7 && ctu.m_numPartitions <= 16))<br>
{<br>
x265_analysis_inter_data* interDataCTU = m_frame->m_analysisData.interData;<br>
int posCTU = ctu.m_cuAddr * numPartition;<br>
memcpy(ctu.m_cuDepth, &interDataCTU->depth[posCTU], sizeof(uint8_t) * numPartition);<br>
memcpy(ctu.m_predMode, &interDataCTU->modes[posCTU], sizeof(uint8_t) * numPartition);<br>
memcpy(ctu.m_partSize, &interDataCTU->partSize[posCTU], sizeof(uint8_t) * numPartition);<br>
- if ((m_slice->m_sliceType == P_SLICE || m_param->bIntraInBFrames) && !(m_param->bMVType == AVC_INFO))<br>
+ if ((m_slice->m_sliceType == P_SLICE || m_param->bIntraInBFrames) && !(m_param->bAnalysisType == AVC_INFO))<br>
{<br>
x265_analysis_intra_data* intraDataCTU = m_frame->m_analysisData.intraData;<br>
memcpy(ctu.m_lumaIntraDir, &intraDataCTU->modes[posCTU], sizeof(uint8_t) * numPartition);<br>
@@ -1162,9 +1162,9 @@<br>
PicYuv& reconPic = *m_frame->m_reconPic;<br>
SplitData splitCUData;<br>
<br>
- bool bHEVCBlockAnalysis = (m_param->bMVType && cuGeom.numPartitions > 16);<br>
+ bool bHEVCBlockAnalysis = (m_param->bAnalysisType == AVC_INFO && cuGeom.numPartitions > 16);<br>
bool bRefineAVCAnalysis = (m_param->analysisReuseLevel == 7 && (m_modeFlag[0] || m_modeFlag[1]));<br>
- bool bNooffloading = !m_param->bMVType;<br>
+ bool bNooffloading = !(m_param->bAnalysisType == AVC_INFO);<br>
<br>
if (bHEVCBlockAnalysis || bRefineAVCAnalysis || bNooffloading)<br>
{<br>
@@ -1299,7 +1299,7 @@<br>
}<br>
}<br>
/* Step 1. Evaluate Merge/Skip candidates for likely early-outs, if skip mode was not set above */<br>
- if ((mightNotSplit && depth >= minDepth && !md.bestMode && !bCtuInfoCheck) || (m_param->bMVType && m_param->analysisReuseLevel == 7 && (m_modeFlag[0] || m_modeFlag[1]))) /* TODO: Re-evaluate if analysis load/save still works */<br>
+ if ((mightNotSplit && depth >= minDepth && !md.bestMode && !bCtuInfoCheck) || (m_param->bAnalysisType == AVC_INFO && m_param->analysisReuseLevel == 7 && (m_modeFlag[0] || m_modeFlag[1]))) /* TODO: Re-evaluate if analysis load/save still works */<br>
{<br>
/* Compute Merge Cost */<br>
md.pred[PRED_MERGE].cu.initSubCU(parentCTU, cuGeom, qp);<br>
@@ -1309,7 +1309,7 @@<br>
skipModes = (m_param->bEnableEarlySkip || m_refineLevel == 2)<br>
&& md.bestMode && md.bestMode->cu.isSkipped(0); // TODO: sa8d threshold per depth<br>
}<br>
- if (md.bestMode && m_param->bEnableRecursionSkip && !bCtuInfoCheck && !(m_param->bMVType && m_param->analysisReuseLevel == 7 && (m_modeFlag[0] || m_modeFlag[1])))<br>
+ if (md.bestMode && m_param->bEnableRecursionSkip && !bCtuInfoCheck && !(m_param->bAnalysisType == AVC_INFO && m_param->analysisReuseLevel == 7 && (m_modeFlag[0] || m_modeFlag[1])))<br>
{<br>
skipRecursion = md.bestMode->cu.isSkipped(0);<br>
if (mightSplit && depth >= minDepth && !skipRecursion)<br>
@@ -1320,7 +1320,7 @@<br>
skipRecursion = complexityCheckCU(*md.bestMode);<br>
}<br>
}<br>
- if (m_param->bMVType && md.bestMode && cuGeom.numPartitions <= 16 && m_param->analysisReuseLevel == 7)<br>
+ if (m_param->bAnalysisType == AVC_INFO && md.bestMode && cuGeom.numPartitions <= 16 && m_param->analysisReuseLevel == 7)<br>
skipRecursion = true;<br>
/* Step 2. Evaluate each of the 4 split sub-blocks in series */<br>
if (mightSplit && !skipRecursion)<br>
@@ -1377,7 +1377,7 @@<br>
splitPred->sa8dCost = m_rdCost.calcRdSADCost((uint32_t)splitPred->distortion, splitPred->sa8dBits);<br>
}<br>
/* If analysis mode is simple do not Evaluate other modes */<br>
- if (m_param->bMVType && m_param->analysisReuseLevel == 7)<br>
+ if (m_param->bAnalysisType == AVC_INFO && m_param->analysisReuseLevel == 7)<br>
{<br>
if (m_slice->m_sliceType == P_SLICE)<br>
{<br>
@@ -1794,7 +1794,7 @@<br>
}<br>
else<br>
{<br>
- if (m_param->bMVType && cuGeom.numPartitions <= 16)<br>
+ if (m_param->bAnalysisType == AVC_INFO && cuGeom.numPartitions <= 16)<br>
{<br>
qprdRefine(parentCTU, cuGeom, qp, qp);<br>
<br>
@@ -1855,9 +1855,9 @@<br>
<br>
SplitData splitCUData;<br>
<br>
- bool bHEVCBlockAnalysis = (m_param->bMVType && cuGeom.numPartitions > 16);<br>
+ bool bHEVCBlockAnalysis = (m_param->bAnalysisType == AVC_INFO && cuGeom.numPartitions > 16);<br>
bool bRefineAVCAnalysis = (m_param->analysisReuseLevel == 7 && (m_modeFlag[0] || m_modeFlag[1]));<br>
- bool bNooffloading = !m_param->bMVType;<br>
+ bool bNooffloading = !(m_param->bAnalysisType == AVC_INFO);<br>
<br>
if (bHEVCBlockAnalysis || bRefineAVCAnalysis || bNooffloading)<br>
{<br>
@@ -1998,7 +1998,7 @@<br>
}<br>
/* Step 1. Evaluate Merge/Skip candidates for likely early-outs */<br>
if ((mightNotSplit && !md.bestMode && !bCtuInfoCheck) ||<br>
- (m_param->bMVType && m_param->analysisReuseLevel == 7 && (m_modeFlag[0] || m_modeFlag[1])))<br>
+ (m_param->bAnalysisType == AVC_INFO && m_param->analysisReuseLevel == 7 && (m_modeFlag[0] || m_modeFlag[1])))<br>
{<br>
md.pred[PRED_SKIP].cu.initSubCU(parentCTU, cuGeom, qp);<br>
md.pred[PRED_MERGE].cu.initSubCU(parentCTU, cuGeom, qp);<br>
@@ -2013,7 +2013,7 @@<br>
if (m_param->bEnableRecursionSkip && depth && m_modeDepth[depth - 1].bestMode)<br>
skipRecursion = md.bestMode && !md.bestMode->cu.getQtRootCbf(0);<br>
}<br>
- if (m_param->bMVType && md.bestMode && cuGeom.numPartitions <= 16 && m_param->analysisReuseLevel == 7)<br>
+ if (m_param->bAnalysisType == AVC_INFO && md.bestMode && cuGeom.numPartitions <= 16 && m_param->analysisReuseLevel == 7)<br>
skipRecursion = true;<br>
// estimate split cost<br>
/* Step 2. Evaluate each of the 4 split sub-blocks in series */<br>
@@ -2067,7 +2067,7 @@<br>
checkDQPForSplitPred(*splitPred, cuGeom);<br>
}<br>
/* If analysis mode is simple do not Evaluate other modes */<br>
- if (m_param->bMVType && m_param->analysisReuseLevel == 7)<br>
+ if (m_param->bAnalysisType == AVC_INFO && m_param->analysisReuseLevel == 7)<br>
{<br>
if (m_slice->m_sliceType == P_SLICE)<br>
{<br>
@@ -2362,7 +2362,7 @@<br>
}<br>
else<br>
{<br>
- if (m_param->bMVType && cuGeom.numPartitions <= 16)<br>
+ if (m_param->bAnalysisType == AVC_INFO && cuGeom.numPartitions <= 16)<br>
{<br>
qprdRefine(parentCTU, cuGeom, qp, qp);<br>
<br>
@@ -2454,7 +2454,7 @@<br>
for (uint32_t part = 0; part < numPU; part++)<br>
{<br>
PredictionUnit pu(<a href="http://mode.cu" rel="noreferrer" target="_blank">mode.cu</a>, cuGeom, part);<br>
- if ((m_param->analysisLoad && m_param->analysisReuseLevel == 10) || (m_param->bMVType == AVC_INFO && m_param->analysisReuseLevel >= 7))<br>
+ if ((m_param->analysisLoad && m_param->analysisReuseLevel == 10) || (m_param->bAnalysisType == AVC_INFO && m_param->analysisReuseLevel >= 7))<br>
{<br>
x265_analysis_inter_data* interDataCTU = m_frame->m_analysisData.interData;<br>
int cuIdx = (mode.cu.m_cuAddr * parentCTU.m_numPartitions) + cuGeom.absPartIdx;<br>
@@ -2541,7 +2541,7 @@<br>
checkDQPForSplitPred(*md.bestMode, cuGeom);<br>
}<br>
<br>
- if (m_param->bMVType && m_param->analysisReuseLevel == 7)<br>
+ if (m_param->bAnalysisType == AVC_INFO && m_param->analysisReuseLevel == 7)<br>
{<br>
for (int list = 0; list < m_slice->isInterB() + 1; list++)<br>
{<br>
diff -r 3cd0b5ed0b91 -r 23a8a7456916 source/encoder/api.cpp<br>
--- a/source/encoder/api.cpp Thu Dec 27 14:43:54 2018 +0530<br>
+++ b/source/encoder/api.cpp Wed Sep 19 14:30:48 2018 -0700<br>
@@ -454,7 +454,7 @@<br>
}<br>
<br>
//Allocate memory for weightParam pointer<br>
- if (!(param->bMVType == AVC_INFO))<br>
+ if (!(param->bAnalysisType == AVC_INFO))<br>
CHECKED_MALLOC_ZERO(analysis->wt, x265_weight_param, numPlanes * numDir);<br>
<br>
if (param->analysisReuseLevel < 2)<br>
@@ -540,7 +540,7 @@<br>
}<br>
<br>
/* Early exit freeing weights alone if level is 1 (when there is no analysis inter/intra) */<br>
- if (analysis->wt && !(param->bMVType == AVC_INFO))<br>
+ if (analysis->wt && !(param->bAnalysisType == AVC_INFO))<br>
X265_FREE(analysis->wt);<br>
<br>
if (param->analysisReuseLevel < 2)<br>
@@ -621,7 +621,7 @@<br>
pic->rpu.payloadSize = 0;<br>
pic->rpu.payload = NULL;<br>
<br>
- if ((param->analysisSave || param->analysisLoad) || (param->bMVType == AVC_INFO))<br>
+ if ((param->analysisSave || param->analysisLoad) || (param->bAnalysisType == AVC_INFO))<br>
{<br>
uint32_t widthInCU = (param->sourceWidth + param->maxCUSize - 1) >> param->maxLog2CUSize;<br>
uint32_t heightInCU = (param->sourceHeight + param->maxCUSize - 1) >> param->maxLog2CUSize;<br>
diff -r 3cd0b5ed0b91 -r 23a8a7456916 source/encoder/encoder.cpp<br>
--- a/source/encoder/encoder.cpp Thu Dec 27 14:43:54 2018 +0530<br>
+++ b/source/encoder/encoder.cpp Wed Sep 19 14:30:48 2018 -0700<br>
@@ -1253,7 +1253,7 @@<br>
x265_frame_stats* frameData = NULL;<br>
<br>
/* Free up pic_in->analysisData since it has already been used */<br>
- if ((m_param->analysisLoad && !m_param->analysisSave) || (m_param->bMVType && slice->m_sliceType != I_SLICE))<br>
+ if ((m_param->analysisLoad && !m_param->analysisSave) || ((m_param->bAnalysisType == AVC_INFO) && slice->m_sliceType != I_SLICE))<br>
x265_free_analysis_data(m_param, &outFrame->m_analysisData);<br>
<br>
if (pic_out)<br>
@@ -2710,17 +2710,17 @@<br>
void Encoder::configure(x265_param *p)<br>
{<br>
this->m_param = p;<br>
- if (p->bMVType == AVC_INFO)<br>
+ if (p->bAnalysisType == AVC_INFO)<br>
this->m_externalFlush = true;<br>
else <br>
this->m_externalFlush = false;<br>
<br>
- if (p->bMVType == AVC_INFO && (p->limitTU == 3 || p->limitTU == 4))<br>
+ if (p->bAnalysisType == AVC_INFO && (p->limitTU == 3 || p->limitTU == 4))<br>
{<br>
x265_log(p, X265_LOG_WARNING, "limit TU = 3 or 4 with MVType AVCINFO produces inconsistent output\n");<br>
}<br>
<br>
- if (p->bMVType == AVC_INFO && p->minCUSize != 8)<br>
+ if (p->bAnalysisType == AVC_INFO && p->minCUSize != 8)<br>
{<br>
p->minCUSize = 8;<br>
x265_log(p, X265_LOG_WARNING, "Setting minCuSize = 8, AVCINFO expects 8x8 blocks\n");<br>
diff -r 3cd0b5ed0b91 -r 23a8a7456916 source/encoder/frameencoder.cpp<br>
--- a/source/encoder/frameencoder.cpp Thu Dec 27 14:43:54 2018 +0530<br>
+++ b/source/encoder/frameencoder.cpp Wed Sep 19 14:30:48 2018 -0700<br>
@@ -335,7 +335,7 @@<br>
while (!m_frame->m_ctuInfo)<br>
m_frame->m_copied.wait();<br>
}<br>
- if ((m_param->bMVType == AVC_INFO) && !m_param->analysisSave && !m_param->analysisLoad && !(IS_X265_TYPE_I(m_frame->m_lowres.sliceType)))<br>
+ if ((m_param->bAnalysisType == AVC_INFO) && !m_param->analysisSave && !m_param->analysisLoad && !(IS_X265_TYPE_I(m_frame->m_lowres.sliceType)))<br>
{<br>
while (((m_frame->m_analysisData.interData == NULL && m_frame->m_analysisData.intraData == NULL) || (uint32_t)m_frame->m_poc != m_frame->m_analysisData.poc))<br>
m_frame->m_copyMVType.wait();<br>
diff -r 3cd0b5ed0b91 -r 23a8a7456916 source/encoder/search.cpp<br>
--- a/source/encoder/search.cpp Thu Dec 27 14:43:54 2018 +0530<br>
+++ b/source/encoder/search.cpp Wed Sep 19 14:30:48 2018 -0700<br>
@@ -2201,7 +2201,7 @@<br>
cu.getNeighbourMV(puIdx, pu.puAbsPartIdx, interMode.interNeighbours);<br>
/* Uni-directional prediction */<br>
if ((m_param->analysisLoad && m_param->analysisReuseLevel > 1 && m_param->analysisReuseLevel != 10)<br>
- || (m_param->analysisMultiPassRefine && m_param->rc.bStatRead) || (m_param->bMVType == AVC_INFO) || (useAsMVP))<br>
+ || (m_param->analysisMultiPassRefine && m_param->rc.bStatRead) || (m_param->bAnalysisType == AVC_INFO) || (useAsMVP))<br>
{<br>
for (int list = 0; list < numPredDir; list++)<br>
{<br>
diff -r 3cd0b5ed0b91 -r 23a8a7456916 source/x265.h<br>
--- a/source/x265.h Thu Dec 27 14:43:54 2018 +0530<br>
+++ b/source/x265.h Wed Sep 19 14:30:48 2018 -0700<br>
@@ -317,7 +317,7 @@<br>
{<br>
NO_INFO = 0,<br>
AVC_INFO = 1,<br>
-}MVRefineType;<br>
+}AnalysisRefineType;<br>
<br>
/* Arbitrary User SEI<br>
* Payload size is in bytes and the payload pointer must be non-NULL. <br>
@@ -1701,7 +1701,7 @@<br>
double vbvEndFrameAdjust;<br>
<br>
/* Reuse MV information obtained through API */<br>
- int bMVType;<br>
+ int bAnalysisType;<br>
/* Allow the encoder to have a copy of the planes of x265_picture in Frame */<br>
int bCopyPicToFrame;<br>
<br>
diff -r 3cd0b5ed0b91 -r 23a8a7456916 source/x265cli.h<br>
--- a/source/x265cli.h Thu Dec 27 14:43:54 2018 +0530<br>
+++ b/source/x265cli.h Wed Sep 19 14:30:48 2018 -0700<br>
@@ -297,7 +297,7 @@<br>
{ "splitrd-skip", no_argument, NULL, 0 },<br>
{ "no-splitrd-skip", no_argument, NULL, 0 },<br>
{ "lowpass-dct", no_argument, NULL, 0 },<br>
- { "refine-mv-type", required_argument, NULL, 0 },<br>
+ { "refine-analysis-type", required_argument, NULL, 0 },<br>
{ "copy-pic", no_argument, NULL, 0 },<br>
{ "no-copy-pic", no_argument, NULL, 0 },<br>
{ "max-ausize-factor", required_argument, NULL, 0 },<br>
@@ -501,7 +501,7 @@<br>
H0(" --analysis-load <filename> Load analysis buffers from the file specified. Default Disabled\n");<br>
H0(" --analysis-reuse-file <filename> Specify file name used for either dumping or reading analysis data. Deault x265_analysis.dat\n");<br>
H0(" --analysis-reuse-level <1..10> Level of analysis reuse indicates amount of info stored/reused in save/load mode, 1:least..10:most. Default %d\n", param->analysisReuseLevel);<br>
- H0(" --refine-mv-type <string> Reuse MV information received through API call. Supported option is avc. Default disabled - %d\n", param->bMVType);<br>
+ H0(" --refine-analysis-type <string> Reuse anlaysis information received through API call. Supported options are avc. Default disabled - %d\n", param->bAnalysisType);<br>
H0(" --scale-factor <int> Specify factor by which input video is scaled down for analysis save mode. Default %d\n", param->scaleFactor);<br>
H0(" --refine-intra <0..4> Enable intra refinement for encode that uses analysis-load.\n"<br>
" - 0 : Forces both mode and depth from the save encode.\n"<br>
_______________________________________________<br>
x265-devel mailing list<br>
<a href="mailto:x265-devel@videolan.org" target="_blank">x265-devel@videolan.org</a><br>
<a href="https://mailman.videolan.org/listinfo/x265-devel" rel="noreferrer" target="_blank">https://mailman.videolan.org/listinfo/x265-devel</a><br>
</blockquote></div>