<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Jun 16, 2014 at 9:33 AM, Steve Borho <span dir="ltr"><<a href="mailto:steve@borho.org" target="_blank">steve@borho.org</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div class="">On Sun, Jun 15, 2014 at 1:50 PM,  <<a href="mailto:aarthi@multicorewareinc.com">aarthi@multicorewareinc.com</a>> wrote:<br>

> # HG changeset patch<br>
> # User Aarthi Thirumalai<<a href="mailto:aarthi@multicorewareinc.com">aarthi@multicorewareinc.com</a>><br>
> # Date 1402856954 -19800<br>
> #      Sun Jun 15 23:59:14 2014 +0530<br>
> # Node ID 438a03ff94830fbc17457b6f324397e643c17cba<br>
> # Parent  e69a427e461f8c8944b68323a3d77295b65ec779<br>
> rc: introduce param variables for 2 pass<br>
<br>
</div>Yeah! two-pass patches \o/<br>
<div class=""><br>
> diff -r e69a427e461f -r 438a03ff9483 source/x265.h<br>
> --- a/source/x265.h     Thu Jun 12 22:53:47 2014 -0500<br>
> +++ b/source/x265.h     Sun Jun 15 23:59:14 2014 +0530<br>
> @@ -745,8 +745,26 @@<br>
><br>
>          /* In CRF mode, minimum CRF as caused by VBV */<br>
>          double    rfConstantMin;<br>
> +<br>
> +        /* 2pass */<br>
> +        /* Enable stat writing in psz_stat_out */<br>
> +        bool         statWrite;<br>
<br>
</div>these comments are pasted from x264, with their variable names, which<br>
is unhelpful.<br></blockquote><div>sorry, my bad. ll clean up properly. </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">

<br>
we don't allow bool types in x265.h; all types must be C native types<br>
<div class=""><br>
> +<br>
> +        /* Read stat from psz_stat_in and use it */<br>
> +        int         statRead;<br>
<br>
</div>parameters with boolean behaviors should start with lower case b.<br>
<div class=""><br>
> +        /* output filename of the 2pass stats file */<br>
> +        char        *pszStatOut;<br>
<br>
</div>can statWrite be implied from pszStatOut, and statRead from pszStatIn?<br>
<br>
should statRead be a bool like statWrite? Can it be implied from<br>
pszStatIn? Can we assume the user wants to read a stats file if they<br>
supply an input filename (and abort if the file cannot be opened)?<br></blockquote><div>actually, we can do away with both statWrite and statRead bool..if we shouldn't use default file names to set up pszStatIn/Out ,</div>
<div>then the user should necessarily provide a filename for each pass, we can set it to either input/output file or both according to the pass sequence (--pass)</div><div>and use them to detect the pass type later on. </div>
<div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div class=""><br>
> +<br>
> +        /* input filename of the 2pass stats file */<br>
> +        char        *pszStatIn;<br>
<br>
</div>Lets not sneak in hungarian prefixes for filenames. I know these come<br>
from x264, but that isn't a good enough excuse to add "pointer to<br>
string zero-terminated" to the start of our param variables.<br></blockquote><div>ok </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">

<div class=""><br>
> +        /* temporally blur quants */<br>
> +        double       qblur;<br>
> +<br>
> +        /* temporally blur complexity */<br>
> +        float        complexityBlur;<br>
>      } rc;<br>
> -<br>
>      /*== Video Usability Information ==*/<br>
>      struct<br>
>      {<br>
> @@ -876,6 +894,10 @@<br>
>  #define X265_PARAM_BAD_VALUE (-2)<br>
>  int x265_param_parse(x265_param *p, const char *name, const char *value);<br>
><br>
> +/* x265_param_fastfirstpass:<br>
> +        Applies param settings for doing a faster encode in the 1st pass of a multi-pass encode. */<br>
> +void x265_param_apply_fastfirstpass(x265_param *param);<br>
<br>
</div>it would be good to give a hint here of what trade-offs are made for<br>
first-pass encodes<br>
<div class="">probably i can do this first pass speed up tuning later on, once i get the basic thing to work.  <br>
>  /* x265_param_apply_profile:<br>
>   *      Applies the restrictions of the given profile. (one of below) */<br>
>  static const char * const x265_profile_names[] = { "main", "main10", "mainstillpicture", 0 };<br>
</div>> _______________________________________________<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" target="_blank">https://mailman.videolan.org/listinfo/x265-devel</a><br>
<span class=""><font color="#888888"><br>
<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" target="_blank">https://mailman.videolan.org/listinfo/x265-devel</a><br>
</font></span></blockquote></div><br></div></div>