[x265] [PATCH] no-rdo: Use entropy encoder for bit estimation
Deepthi Nandakumar
deepthi at multicorewareinc.com
Thu Oct 31 10:01:52 CET 2013
Posting the efficiency results FYI. The performance drop will be taken care
of once the rd 0/1 refactor is complete.
Before BasketballPass_416x240_50 (11.04 fps), 328.96 kb/s, Global
PSNR: 35.613
After BasketballPass_416x240_50 (10.70 fps), 326.64 kb/s, Global
PSNR: 35.609
Before big_buck_bunny_360p24 (9.68 fps), 52.08 kb/s, Global PSNR:
43.549
After big_buck_bunny_360p24 (9.12 fps), 51.80 kb/s, Global PSNR:
43.561
Before FourPeople_1280x720_60 (5.33 fps), 510.23 kb/s, Global
PSNR: 39.653
After FourPeople_1280x720_60 (5.11 fps), 505.69 kb/s, Global
PSNR: 39.654
Before sintel_trailer_2k_720p24 (4.62 fps), 88.32 kb/s, Global PSNR:
54.869
After sintel_trailer_2k_720p24 (4.36 fps), 87.23 kb/s, Global PSNR:
54.802
Before Johnny_1280x720_60 (6.11 fps), 296.06 kb/s, Global
PSNR: 40.525
After Johnny_1280x720_60 (5.96 fps), 294.26 kb/s, Global
PSNR: 40.548
Before Kimono1_1920x1080_24 (1.07 fps), 1811.05 kb/s, Global
PSNR: 38.624
After Kimono1_1920x1080_24 (1.02 fps), 1798.91 kb/s, Global
PSNR: 38.625
Before BasketballDrive_1920x1080 (1.16 fps), 3849.92 kb/s, Global
PSNR: 37.146
After BasketballDrive_1920x1080 (1.06 fps), 3820.42 kb/s, Global
PSNR: 37.150
On Thu, Oct 31, 2013 at 12:44 PM, <deepthidevaki at multicorewareinc.com>wrote:
> # HG changeset patch
> # User Deepthi Devaki <deepthidevaki at multicorewareinc.com>
> # Date 1383203307 -19800
> # Node ID 4b4332d038832ab8812773d618b38329ec75ae4b
> # Parent ec6b4d35f11053b06d0e1ea46df798ff89a4c127
> no-rdo: Use entropy encoder for bit estimation.
>
> Instead of me-bit estimation, use entropy encoder.
>
> diff -r ec6b4d35f110 -r 4b4332d03883 source/Lib/TLibEncoder/TEncSearch.h
> --- a/source/Lib/TLibEncoder/TEncSearch.h Thu Oct 31 00:09:49 2013
> -0500
> +++ b/source/Lib/TLibEncoder/TEncSearch.h Thu Oct 31 12:38:27 2013
> +0530
> @@ -165,6 +165,12 @@
>
> void xSetIntraResultQT(TComDataCU* cu, uint32_t trDepth, uint32_t
> absPartIdx, bool bLumaOnly, TComYuv* reconYuv);
>
> + //
> -------------------------------------------------------------------------------------------------------------------
> + // compute symbol bits
> + //
> -------------------------------------------------------------------------------------------------------------------
> +
> + uint32_t xSymbolBitsInter(TComDataCU* cu);
> +
> protected:
>
> //
> --------------------------------------------------------------------------------------------
> @@ -232,12 +238,6 @@
> UInt64 &rdCost, uint32_t &outBits, uint32_t
> &outDist, uint32_t *puiZeroDist);
> void xSetResidualQTData(TComDataCU* cu, uint32_t absPartIdx, uint32_t
> absTUPartIdx, TShortYUV* resiYuv, uint32_t depth, bool bSpatial);
>
> - //
> -------------------------------------------------------------------------------------------------------------------
> - // compute symbol bits
> - //
> -------------------------------------------------------------------------------------------------------------------
> -
> - uint32_t xSymbolBitsInter(TComDataCU* cu);
> -
> void setWpScalingDistParam(TComDataCU* cu, int refIdx, int picList);
> };
> }
> diff -r ec6b4d35f110 -r 4b4332d03883 source/encoder/compress.cpp
> --- a/source/encoder/compress.cpp Thu Oct 31 00:09:49 2013 -0500
> +++ b/source/encoder/compress.cpp Thu Oct 31 12:38:27 2013 +0530
> @@ -228,6 +228,9 @@
> int part = partitionFromSizes(outTempCU->getWidth(0),
> outTempCU->getHeight(0));
> uint32_t distortion =
> primitives.sse_pp[part](m_origYuv[depth]->getLumaAddr(),
> m_origYuv[depth]->getStride(),
>
> outPredYuv->getLumaAddr(), outPredYuv->getStride());
> +
> m_rdGoOnSbacCoder->load(m_rdSbacCoders[outTempCU->getDepth(0)][CI_CURR_BEST]);
> + outTempCU->m_totalBits = m_search->xSymbolBitsInter(outTempCU);
> +
> outTempCU->m_totalCost = m_rdCost->calcRdCost(distortion,
> outTempCU->m_totalBits);
> }
>
> _______________________________________________
> 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/20131031/c4c18d82/attachment.html>
More information about the x265-devel
mailing list