<p dir="ltr"><br>
On Nov 27, 2014 12:57 AM, "Steve Borho" <<a href="mailto:steve@borho.org">steve@borho.org</a>> wrote:<br>
><br>
> On 11/27, <a href="mailto:aarthi@multicorewareinc.com">aarthi@multicorewareinc.com</a> wrote:<br>
> > # HG changeset patch<br>
> > # User Aarthi Thirumalai<br>
> > # Date 1417027125 -19800<br>
> > #      Thu Nov 27 00:08:45 2014 +0530<br>
> > # Node ID f8900bdec0ae488441e33b8b9127351ce9981f7e<br>
> > # Parent  e9170b02106e06feed757eeba1e771ca14c64f27<br>
> > rc: introduce cli option to tune for cbr.<br>
><br>
> I've queued the series along with some documentation updates.<br>
><br>
> > diff -r e9170b02106e -r f8900bdec0ae source/CMakeLists.txt<br>
> > --- a/source/CMakeLists.txt   Tue Nov 25 18:05:57 2014 +0530<br>
> > +++ b/source/CMakeLists.txt   Thu Nov 27 00:08:45 2014 +0530<br>
> > @@ -21,7 +21,7 @@<br>
> >  include(CheckCXXCompilerFlag)<br>
> ><br>
> >  # X265_BUILD must be incremented each time the public API is changed<br>
> > -set(X265_BUILD 37)<br>
> > +set(X265_BUILD 38)<br>
> >  configure_file("${PROJECT_SOURCE_DIR}/<a href="http://x265.def.in">x265.def.in</a>"<br>
> >                 "${PROJECT_BINARY_DIR}/x265.def")<br>
> >  configure_file("${PROJECT_SOURCE_DIR}/<a href="http://x265_config.h.in">x265_config.h.in</a>"<br>
> > diff -r e9170b02106e -r f8900bdec0ae source/common/param.cpp<br>
> > --- a/source/common/param.cpp Tue Nov 25 18:05:57 2014 +0530<br>
> > +++ b/source/common/param.cpp Thu Nov 27 00:08:45 2014 +0530<br>
> > @@ -420,6 +420,11 @@<br>
> >              param->rc.aqStrength = 0.3;<br>
> >              param->rc.qCompress = 0.8;<br>
> >          }<br>
> > +        else if (!strcmp(tune, "cbr"))<br>
> > +        {<br>
> > +            param->rc.pbFactor = 1.0;<br>
> > +            param->rc.rateTolerance = 0.5;<br>
><br>
> Just curious, did you also experiment with qcomp?<br>
Not yet. I shall be running more tests to look for the effect of other factors in cbr shortly. <br>
><br>
> > +        }<br>
> >          else<br>
> >              return -1;<br>
> >      }<br>
> > diff -r e9170b02106e -r f8900bdec0ae source/encoder/ratecontrol.cpp<br>
> > --- a/source/encoder/ratecontrol.cpp  Tue Nov 25 18:05:57 2014 +0530<br>
> > +++ b/source/encoder/ratecontrol.cpp  Thu Nov 27 00:08:45 2014 +0530<br>
> > @@ -410,8 +410,6 @@<br>
> >      }<br>
> ><br>
> >      m_isCbr = m_param->rc.rateControlMode == X265_RC_ABR && m_isVbv && !m_2pass && m_param->rc.vbvMaxBitrate <= m_param->rc.bitrate;<br>
> > -    if (m_isCbr)<br>
> > -        m_param->rc.pbFactor = 1.0;<br>
> >      m_leadingBframes = m_param->bframes;<br>
> >      m_bframeBits = 0;<br>
> >      m_leadingNoBSatd = 0;<br>
> > diff -r e9170b02106e -r f8900bdec0ae source/x265.cpp<br>
> > --- a/source/x265.cpp Tue Nov 25 18:05:57 2014 +0530<br>
> > +++ b/source/x265.cpp Thu Nov 27 00:08:45 2014 +0530<br>
> > @@ -389,7 +389,7 @@<br>
> >      H0("-p/--preset <string>             Trade off performance for compression efficiency. Default medium\n");<br>
> >      H0("                                 ultrafast, superfast, veryfast, faster, fast, medium, slow, slower, veryslow, or placebo\n");<br>
> >      H0("-t/--tune <string>               Tune the settings for a particular type of source or situation:\n");<br>
> > -    H0("                                 psnr, ssim, grain, zerolatency, or fastdecode\n");<br>
> > +    H0("                                 psnr, ssim, grain, zerolatency, fastdecode or cbr\n");<br>
> >      H0("\nQuad-Tree size and depth:\n");<br>
> >      H0("-s/--ctu <64|32|16>              Maximum CU size (WxH). Default %d\n", param->maxCUSize);<br>
> >      H0("   --tu-intra-depth <integer>    Max TU recursive depth for intra CUs. Default %d\n", param->tuQTMaxIntraDepth);<br>
> > diff -r e9170b02106e -r f8900bdec0ae source/x265.h<br>
> > --- a/source/x265.h   Tue Nov 25 18:05:57 2014 +0530<br>
> > +++ b/source/x265.h   Thu Nov 27 00:08:45 2014 +0530<br>
> > @@ -1025,7 +1025,7 @@<br>
> >   *      100 times faster than placebo!<br>
> >   *<br>
> >   *      Currently available tunings are: */<br>
> > -static const char * const x265_tune_names[] = { "psnr", "ssim", "zerolatency", "fastdecode", 0 };<br>
> > +static const char * const x265_tune_names[] = { "psnr", "ssim", "zerolatency", "fastdecode", "cbr", 0 };<br>
> ><br>
> >  /*      returns 0 on success, negative on failure (e.g. invalid preset/tune name). */<br>
> >  int x265_param_default_preset(x265_param *, const char *preset, const char *tune);<br>
> > _______________________________________________<br>
> > x265-devel mailing list<br>
> > <a href="mailto:x265-devel@videolan.org">x265-devel@videolan.org</a><br>
> > <a href="https://mailman.videolan.org/listinfo/x265-devel">https://mailman.videolan.org/listinfo/x265-devel</a><br>
><br>
> --<br>
> Steve Borho<br>
> _______________________________________________<br>
> x265-devel mailing list<br>
> <a href="mailto:x265-devel@videolan.org">x265-devel@videolan.org</a><br>
> <a href="https://mailman.videolan.org/listinfo/x265-devel">https://mailman.videolan.org/listinfo/x265-devel</a><br>
</p>