[x265] [PATCH] fix bug in copying vbv information when scalefactor is 0
Ashok Kumar Mishra
ashok at multicorewareinc.com
Tue May 29 14:22:17 CEST 2018
On Tue, May 29, 2018 at 5:15 PM, <kavitha at multicorewareinc.com> wrote:
> # HG changeset patch
> # User Kavitha Sampath <kavitha at multicorewareinc.com>
> # Date 1527499557 -19800
> # Mon May 28 14:55:57 2018 +0530
> # Branch stable
> # Node ID fe3c44a200eeb3c1bdf9467071cd593e94959866
> # Parent 478bfe2b7673e93ca9283a4ce9424ac3a1ba476e
> fix bug in copying vbv information when scalefactor is 0
>
> diff -r 478bfe2b7673 -r fe3c44a200ee source/encoder/encoder.cpp
> --- a/source/encoder/encoder.cpp Mon May 21 14:05:52 2018 +0530
> +++ b/source/encoder/encoder.cpp Mon May 28 14:55:57 2018 +0530
> @@ -3408,24 +3408,28 @@
> allocAnalysis(analysis);
> if (m_param->bDisableLookahead && m_rateControl->m_isVbv)
> {
> + int vbvCount = m_param->lookaheadDepth + m_param->bframes + 2;
> X265_FREAD(analysis->lookahead.intraVbvCost, sizeof(uint32_t),
> analysis->numCUsInFrame, m_analysisFileIn, picData->lookahead.
> intraVbvCost);
> X265_FREAD(analysis->lookahead.vbvCost, sizeof(uint32_t),
> analysis->numCUsInFrame, m_analysisFileIn, picData->lookahead.vbvCost);
> X265_FREAD(analysis->lookahead.satdForVbv, sizeof(uint32_t),
> analysis->numCuInHeight, m_analysisFileIn, picData->lookahead.satdForVbv);
> X265_FREAD(analysis->lookahead.intraSatdForVbv,
> sizeof(uint32_t), analysis->numCuInHeight, m_analysisFileIn,
> picData->lookahead.intraSatdForVbv);
> -
> - int vbvCount = m_param->lookaheadDepth + m_param->bframes + 2;
> - for (int index = 0; index < vbvCount; index++)
> - analysis->lookahead.plannedSatd[index] = picData->lookahead.plannedSatd[index]
> * (2 * m_param->scaleFactor);
> -
> - for (uint32_t i = 0; i < analysis->numCuInHeight; i++)
> + X265_FREAD(analysis->lookahead.plannedSatd, sizeof(int64_t),
> vbvCount, m_analysisFileIn, picData->lookahead.plannedSatd);
> +
> + if (m_param->scaleFactor)
> {
> - analysis->lookahead.satdForVbv[i] = analysis->lookahead.satdForVbv[i]
> * (2* m_param->scaleFactor);
> - analysis->lookahead.intraSatdForVbv[i] = analysis->lookahead.intraSatdForVbv[i]
> * (2 * m_param->scaleFactor);
> - }
> - for (uint32_t i = 0; i < analysis->numCUsInFrame; i++)
> - {
> - analysis->lookahead.vbvCost[i] =
> analysis->lookahead.vbvCost[i] * (2 * m_param->scaleFactor);
> - analysis->lookahead.intraVbvCost[i] = analysis->lookahead.intraVbvCost[i]
> * (2 * m_param->scaleFactor);
> + for (int index = 0; index < vbvCount; index++)
> + analysis->lookahead.plannedSatd[index] *= factor;
> +
> + for (uint32_t i = 0; i < analysis->numCuInHeight; i++)
> + {
> + analysis->lookahead.satdForVbv[i] *= factor;
> + analysis->lookahead.intraSatdForVbv[i] *= factor;
> + }
> + for (uint32_t i = 0; i < analysis->numCUsInFrame; i++)
> + {
> + analysis->lookahead.vbvCost[i] *= factor;
> + analysis->lookahead.intraVbvCost[i] *= factor;
> + }
> }
> }
> if (analysis->sliceType == X265_TYPE_IDR || analysis->sliceType ==
> X265_TYPE_I)
>
> _______________________________________________
> x265-devel mailing list
> x265-devel at videolan.org
> https://mailman.videolan.org/listinfo/x265-devel
>
>
Pushed.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/x265-devel/attachments/20180529/c6e6a3af/attachment.html>
More information about the x265-devel
mailing list