From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id BF5264738D for ; Wed, 6 Sep 2023 05:35:16 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 089AD68C767; Wed, 6 Sep 2023 08:35:13 +0300 (EEST) Received: from mout-p-102.mailbox.org (mout-p-102.mailbox.org [80.241.56.152]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 60A1E68C2DC for ; Wed, 6 Sep 2023 08:35:06 +0300 (EEST) Received: from smtp202.mailbox.org (smtp202.mailbox.org [IPv6:2001:67c:2050:b231:465::202]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-384) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mout-p-102.mailbox.org (Postfix) with ESMTPS id 4RgWKg3zpyz9stp for ; Wed, 6 Sep 2023 07:35:03 +0200 (CEST) Message-ID: <263c33e9-2584-1f08-a752-43a937596957@gyani.pro> Date: Wed, 6 Sep 2023 11:04:49 +0530 MIME-Version: 1.0 Content-Language: en-US To: ffmpeg-devel@ffmpeg.org References: <20230826011030.76116-1-stefasab@gmail.com> From: Gyan Doshi In-Reply-To: <20230826011030.76116-1-stefasab@gmail.com> X-Rspamd-Queue-Id: 4RgWKg3zpyz9stp Subject: Re: [FFmpeg-devel] [PATCH 1/3] doc/encoders/libx264: review and extend option description X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="us-ascii"; Format="flowed" Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: On 2023-08-26 06:40 am, Stefano Sabatini wrote: > Also, merge x264opts and x264-opts option docs to avoid duplication > and make it even more clearer they provide the same functionality. > --- > doc/encoders.texi | 66 ++++++++++++++++++++++++++--------------------- > 1 file changed, 37 insertions(+), 29 deletions(-) > > diff --git a/doc/encoders.texi b/doc/encoders.texi > index 6f8f5e127e..947b0c3320 100644 > --- a/doc/encoders.texi > +++ b/doc/encoders.texi > @@ -2418,6 +2418,10 @@ To get a more accurate and extensive documentation of the libx264 > options, invoke the command @command{x264 --fullhelp} or consult > the libx264 documentation. > > +In the list below, note that the @command{x264} option name is shown > +in parentheses after the libavcodec corresponding name, in case there > +is a direct mapping. > + > @table @option > @item b (@emph{bitrate}) > Set bitrate in bits/s. Note that FFmpeg's @option{b} option is > @@ -2425,17 +2429,19 @@ expressed in bits/s, while @command{x264}'s @option{bitrate} is in > kilobits/s. > > @item bf (@emph{bframes}) > +Number of B-frames between I and P-frames > > @item g (@emph{keyint}) > +Maximum GOP size > > @item qmin (@emph{qpmin}) > -Minimum quantizer scale. > +Minimum quantizer scale > > @item qmax (@emph{qpmax}) > -Maximum quantizer scale. > +Maximum quantizer scale > > @item qdiff (@emph{qpstep}) > -Maximum difference between quantizer scales. > +Maximum difference between quantizer scales > > @item qblur (@emph{qblur}) > Quantizer curve blur > @@ -2444,7 +2450,7 @@ Quantizer curve blur > Quantizer curve compression factor > > @item refs (@emph{ref}) > -Number of reference frames each P-frame can use. The range is from @var{0-16}. > +Number of reference frames each P-frame can use. The allowed range is @var{0-16}. Allowed is implicit in the statement. Also, most statements of range don't contain allow so prefer to keep it consistent. > @item sc_threshold (@emph{scenecut}) > Sets the threshold for the scene change detection. > @@ -2452,7 +2458,8 @@ Sets the threshold for the scene change detection. > @item trellis (@emph{trellis}) > Performs Trellis quantization to increase efficiency. Enabled by default. > > -@item nr (@emph{nr}) > +@item nr (@emph{nr}) > +Noise reduction > > @item me_range (@emph{merange}) > Maximum range of the motion search in pixels. > @@ -2533,6 +2540,7 @@ open GOP by setting it to @code{-cgop}. The result is similar to > the behavior of @command{x264}'s @option{--open-gop} option. > > @item rc_init_occupancy (@emph{vbv-init}) > +Initial VBV buffer occupancy > > @item preset (@emph{preset}) > Set the encoding preset. > @@ -2578,7 +2586,7 @@ Set AQ strength, reduce blocking and blurring in flat and textured areas. > Use psychovisual optimizations when set to 1. When set to 0, it has the > same effect as @command{x264}'s @option{--no-psy} option. > > -@item psy-rd (@emph{psy-rd}) > +@item psy-rd (@emph{psy-rd}) > Set strength of psychovisual optimization, in > @var{psy-rd}:@var{psy-trellis} format. > > @@ -2610,7 +2618,7 @@ to 1. > > @item avcintra-class (@emph{class}) > Configure the encoder to generate AVC-Intra. > -Valid values are 50,100 and 200 > +Valid values are 50, 100 and 200 > > @item bluray-compat (@emph{bluray-compat}) > Configure the encoder to be compatible with the bluray standard. > @@ -2661,8 +2669,8 @@ Set loop filter parameters, in @var{alpha}:@var{beta} form. > Set fluctuations reduction in QP (before curve compression). > > @item partitions (@emph{partitions}) > -Set partitions to consider as a comma-separated list of. Possible > -values in the list: > +Set partitions to consider as a comma-separated list of > +values. Possible values in the list: > > @table @samp > @item p8x8 > @@ -2718,19 +2726,33 @@ Variable bit rate. > Constant bit rate (not allowed in MP4 container). > @end table > > -@item x264opts (N.A.) > -Set any x264 option, see @command{x264 --fullhelp} for a list. > +@item x264opts @var{opts} > +@item x264-params @var{opts} > +Override the x264 configuration using a :-separated list of key=value > +options. > > -Argument is a list of @var{key}=@var{value} couples separated by > -":". In @var{filter} and @var{psy-rd} options that use ":" as a separator > -themselves, use "," instead. They accept it as well since long ago but this > -is kept undocumented for some reason. > +@option{x264-param} is functionally the same as the @option{x264opts}, > +but is duplicated for compatibility with the Libav fork. There is a difference, in that x264opts accepts boolean args without a value. > + > +The argument for both options is a list of @var{key}=@var{value} > +couples separated by ":". In @var{filter} and @var{psy-rd} options > +that use ":" as a separator themselves, use "," instead. They accept > +it as well since long ago but this is kept undocumented for some > +reason. > + > +For example, the options might be provided as: > +@example > +level=30:bframes=0:weightp=0:cabac=0:ref=1:vbv-maxrate=768:vbv-bufsize=2000:analyse=all:me=umh:no-fast-pskip=1:subq=6:8x8dct=0:trellis=0 > +@end example > > For example to specify libx264 encoding options with @command{ffmpeg}: > @example > ffmpeg -i foo.mpg -c:v libx264 -x264opts keyint=123:min-keyint=20 -an out.mkv > @end example > > +To get the complete list of the libx264 options, invoke the command > +@command{x264 --fullhelp} or consult the libx264 documentation. May want to make it clear that x264 refers to the standalone CLI tool. Regards, Gyan > + > @item a53cc @var{boolean} > Import closed captions (which must be ATSC compatible format) into output. > Only the mpeg2 and h264 decoders provide these. Default is 1 (on). > @@ -2741,20 +2763,6 @@ Import user data unregistered SEI if available into output. Default is 0 (off). > @item mb_info @var{boolean} > Set mb_info data through AVFrameSideData, only useful when used from the > API. Default is 0 (off). > - > -@item x264-params (N.A.) > -Override the x264 configuration using a :-separated list of key=value > -parameters. > - > -This option is functionally the same as the @option{x264opts}, but is > -duplicated for compatibility with the Libav fork. > - > -For example to specify libx264 encoding options with @command{ffmpeg}: > -@example > -ffmpeg -i INPUT -c:v libx264 -x264-params level=30:bframes=0:weightp=0:\ > -cabac=0:ref=1:vbv-maxrate=768:vbv-bufsize=2000:analyse=all:me=umh:\ > -no-fast-pskip=1:subq=6:8x8dct=0:trellis=0 OUTPUT > -@end example > @end table > > Encoding ffpresets for common usages are provided so they can be used with the _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".