# 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 <[email protected]> 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 > [email protected] > https://mailman.videolan.org/listinfo/x265-devel >
_______________________________________________ x265-devel mailing list [email protected] https://mailman.videolan.org/listinfo/x265-devel
