[x265] [PATCH] Fix issues in configuring cbQpOffset and crQpOffset for 444 input
Dinesh Kumar Reddy
dinesh at multicorewareinc.com
Tue May 14 13:29:27 CEST 2019
# HG changeset patch
# User gopi Satykrishna Akisetty
# Date 1557138241 -19800
# Mon May 06 15:54:01 2019 +0530
# Node ID 27b80b586cf86c6786b70d41b3e95ac4dc4a967b
# Parent feec4bdf98663ac4a2561b63e1ccec423c7d26a4
Fix issues in configuring cbQpOffset and crQpOffset for 444 input
Pushed code to x265 public repo.
Thanks & Regards,
Dinesh
On Tue, May 7, 2019 at 11:03 AM <gopi.satykrishna at multicorewareinc.com>
wrote:
> # HG changeset patch
> # User gopi Satykrishna Akisetty
> # Date 1557138241 -19800
> # Mon May 06 15:54:01 2019 +0530
> # Node ID 27b80b586cf86c6786b70d41b3e95ac4dc4a967b
> # Parent feec4bdf98663ac4a2561b63e1ccec423c7d26a4
> Fix issues in configuring cbQpOffset and crQpOffset for 444 input
>
> diff -r feec4bdf9866 -r 27b80b586cf8 doc/reST/cli.rst
> --- a/doc/reST/cli.rst Tue Apr 30 09:41:10 2019 +0530
> +++ b/doc/reST/cli.rst Mon May 06 15:54:01 2019 +0530
> @@ -1333,6 +1333,10 @@
> judder is happening, and allow the encoder to use some blur in these
> areas of high motion.
>
> +In 444, chroma gets twice as much resolution, so halve the quality when
> psy-rd is enabled.
> +So when psy-rd is enabled for 444 videos, cbQpOffset and crQpOffset are
> set to value 6,
> +if they are not explicitly set.
> +
> .. option:: --psy-rd <float>
>
> Influence rate distortion optimizated mode decision to preserve the
> diff -r feec4bdf9866 -r 27b80b586cf8 source/encoder/encoder.cpp
> --- a/source/encoder/encoder.cpp Tue Apr 30 09:41:10 2019 +0530
> +++ b/source/encoder/encoder.cpp Mon May 06 15:54:01 2019 +0530
> @@ -80,6 +80,7 @@
> * TODO: come up an algorithm for adoptive threshold */
> #define MVTHRESHOLD (10*10)
> #define PU_2Nx2N 1
> +#define MAX_CHROMA_QP_OFFSET 12
> static const char* defaultAnalysisFileName = "x265_analysis.dat";
>
> using namespace X265_NS;
> @@ -2802,8 +2803,13 @@
> /* In 444, chroma gets twice as much resolution, so halve quality
> when psy-rd is enabled */
> if (p->internalCsp == X265_CSP_I444 && p->psyRd)
> {
> - p->cbQpOffset += 6;
> - p->crQpOffset += 6;
> + if (!p->cbQpOffset && !p->crQpOffset)
> + {
> + p->cbQpOffset = MAX_CHROMA_QP_OFFSET / 2;
> + p->crQpOffset = MAX_CHROMA_QP_OFFSET / 2;
> + x265_log(p, X265_LOG_WARNING, "halving the quality when
> psy-rd is enabled for 444 input."
> + " Setting cbQpOffset = %d and crQpOffset = %d\n",
> p->cbQpOffset, p->crQpOffset);
> + }
> }
>
> if (p->bLossless)
> _______________________________________________
> 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/20190514/5de8527a/attachment.html>
More information about the x265-devel
mailing list