[x265] [PATCH 1 of 2] ratecontrol: clean up confusing if-checks in calcAdaptiveQuantFrame
Aarthi Priya Thirumalai
aarthi at multicorewareinc.com
Fri Feb 21 12:48:53 CET 2014
On Fri, Feb 21, 2014 at 4:53 PM, <deepthi at multicorewareinc.com> wrote:
> # HG changeset patch
> # User Deepthi Nandakumar <deepthi at multicorewareinc.com>
> # Date 1392976266 -19800
> # Node ID 3275142274c8e424c9a9a57dbc2c70b0707ea996
> # Parent 5e2043f89aa11363dffe33a0ff06550a7d862326
> ratecontrol: clean up confusing if-checks in calcAdaptiveQuantFrame
>
> diff -r 5e2043f89aa1 -r 3275142274c8 source/encoder/ratecontrol.cpp
> --- a/source/encoder/ratecontrol.cpp Fri Feb 21 03:05:48 2014 -0600
> +++ b/source/encoder/ratecontrol.cpp Fri Feb 21 15:21:06 2014 +0530
> @@ -105,23 +105,20 @@
> int block_xy = 0;
> int block_x = 0, block_y = 0;
> double strength = 0.f;
> - if (cfg->param.rc.aqMode == X265_AQ_NONE || cfg->param.rc.aqStrength
> == 0)
> +
> + if (cfg->param.rc.cuTree && cfg->param.rc.aqStrength == 0) /* CUTree
> is enabled with zero strength AQ */
> {
>
-- the above change will give wrong results when cutree is 0 and aqStrength
= 0. It should still enter this branch in this scenario.
better way : if (cfg->param.rc.cuTree || cfg->param.rc.aqMode ==
X265_AQ_NONE)
- /* Need to init it anyways for CU tree */
> int cuWidth = ((maxCol / 2) + X265_LOWRES_CU_SIZE - 1) >>
> X265_LOWRES_CU_BITS;
> int cuHeight = ((maxRow / 2) + X265_LOWRES_CU_SIZE - 1) >>
> X265_LOWRES_CU_BITS;
> int cuCount = cuWidth * cuHeight;
> -
> - if (cfg->param.rc.aqMode && cfg->param.rc.aqStrength == 0)
> +
> + memset(pic->m_lowres.qpOffset, 0, cuCount * sizeof(double));
> + memset(pic->m_lowres.qpAqOffset, 0, cuCount * sizeof(double));
> + for (int cuxy = 0; cuxy < cuCount; cuxy++)
> {
> - memset(pic->m_lowres.qpOffset, 0, cuCount * sizeof(double));
> - memset(pic->m_lowres.qpAqOffset, 0, cuCount * sizeof(double));
> - for (int cuxy = 0; cuxy < cuCount; cuxy++)
> - {
> - pic->m_lowres.invQscaleFactor[cuxy] = 256;
> - }
> + pic->m_lowres.invQscaleFactor[cuxy] = 256;
> }
> -
> +
> /* Need variance data for weighted prediction */
> if (cfg->param.bEnableWeightedPred)
> {
> _______________________________________________
> x265-devel mailing list
> x265-devel at videolan.org
> https://mailman.videolan.org/listinfo/x265-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/x265-devel/attachments/20140221/0bcf6db3/attachment.html>
More information about the x265-devel
mailing list