From patchwork Thu Aug 10 11:46:42 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nicolas George X-Patchwork-Id: 4685 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.103.46.211 with SMTP id u202csp2309658vsu; Thu, 10 Aug 2017 04:49:14 -0700 (PDT) X-Received: by 10.223.172.86 with SMTP id v80mr9305434wrc.112.1502365754431; Thu, 10 Aug 2017 04:49:14 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1502365754; cv=none; d=google.com; s=arc-20160816; b=G9e1YPzeu+2gXt2UGzE10vx/BHM9mAtEfO/MBMn+bSFJ+/+vPb8jW4rONuAGgKv6Xx BovfuX93XjKfxOD4v5oo9kLU3OJ1y0yuy1luMysGsw43n4sZsZ2qQJ69y6js/7vz8dHe 2vq1OCzpkn4EEPHP3q2xK8Ou6yWVpSJBBlDi1MzkQoNFxoJ4FSpq3P/h9TPMlBYbkris WPdvRYegSGAvrgGhovfqhihB3Hkra2uTiOBFXbBmXHKWn/L0mF9pMnaMZWqkEMbl+kqr AyXKaexlVwkqJMww81jCCfHDBjHlNUqnqkatElqEnca3LTzdkqv6wSebLDYheNRt/4um S+DA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:mime-version:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:references:in-reply-to:message-id:date :to:from:delivered-to:arc-authentication-results; bh=7PVXMzymf1MfjdWPv3P4jPX8bFTgBLm7bp5eccITVMc=; b=ol97jOfBBW/IJ/mOa030t8kUTG9wPTK0fsefv7Cw3ca62S2E4/KM/yrgUSK4UVaOhw dVlLrwtanyjdHuXZZ2zDxL01LU9t8WbWbZiCSRuGOWMYCm6jwsZfgSaYaR0qRNYPSCoj xFBkv8/pURSRfa/5vKIbzC0L8NegohQb2m0RFf4bnTXqkc/VyQMSK27zrIaNgYXVoqMu Y+/LEqLObvtDwVQlpnmKu+btcs95kNVfgKSTpFQo3esjsV0GKW9VaXm1TEB3uA3mw81D 1lDMRvv11UOw5HKKsysTSorE6g2FuBmUwMYB7w25BvQLn4ufMvKbJUbSCKp/5RdsyaGv tEZA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id i4si5329057wra.237.2017.08.10.04.49.14; Thu, 10 Aug 2017 04:49:14 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 296AF689D11; Thu, 10 Aug 2017 14:47:00 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from nef2.ens.fr (nef2.ens.fr [129.199.96.40]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id BADB6689CE3 for ; Thu, 10 Aug 2017 14:46:56 +0300 (EEST) Received: from phare.normalesup.org (archicubes.ens.fr [129.199.129.80]) by nef2.ens.fr (8.13.6/1.01.28121999) with ESMTP id v7ABkxWV043779 for ; Thu, 10 Aug 2017 13:46:59 +0200 (CEST) Received: by phare.normalesup.org (Postfix, from userid 1001) id F2A8AE00F5; Thu, 10 Aug 2017 13:46:58 +0200 (CEST) From: Nicolas George To: ffmpeg-devel@ffmpeg.org Date: Thu, 10 Aug 2017 13:46:42 +0200 Message-Id: <20170810114642.26779-16-george@nsup.org> X-Mailer: git-send-email 2.13.2 In-Reply-To: <20170810114642.26779-1-george@nsup.org> References: <20170810114642.26779-1-george@nsup.org> X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.4.3 (nef2.ens.fr [129.199.96.32]); Thu, 10 Aug 2017 13:46:59 +0200 (CEST) Subject: [FFmpeg-devel] [PATCH 16/16] doc/filters: document framesync options. X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 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 MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Signed-off-by: Nicolas George --- Changelog | 2 ++ doc/filters.texi | 76 +++++++++++++++++++++++++++++++++----------------------- 2 files changed, 47 insertions(+), 31 deletions(-) diff --git a/Changelog b/Changelog index 78286e3606..d5ffa0a1f2 100644 --- a/Changelog +++ b/Changelog @@ -35,6 +35,8 @@ version : - The order of options in filters is no longer considered stable. If long-term stability is necessary (i.e. for scripts), use named options (e.g. overlay=50:100 -> overlay=x=50:y=100). +- Some video filters with several inputs now use a common set of options: + blend, libvmaf, lut3d, overlay, psnr, ssim. version 3.3: - CrystalHD decoder moved to new decode API diff --git a/doc/filters.texi b/doc/filters.texi index 470ffa60a1..5c7d48738f 100644 --- a/doc/filters.texi +++ b/doc/filters.texi @@ -316,6 +316,39 @@ See @code{ffmpeg -filters} to view which filters have timeline support. @c man end FILTERGRAPH DESCRIPTION +@anchor{framesync} +@chapter Options for filters with several inputs (framesync) +@c man begin OPTIONS FOR FILTERS WITH SEVERAL INPUTS + +Some filters with several inputs support a common set of options. +These options can only be set by name, not with the short notation. + +@table @option +@item eof_action +The action to take when EOF is encountered on the secondary input; it accepts +one of the following values: + +@table @option +@item repeat +Repeat the last frame (the default). +@item endall +End both streams. +@item pass +Pass the main input through. +@end table + +@item shortest +If set to 1, force the output to terminate when the shortest input +terminates. Default value is 0. + +@item repeatlast +If set to 1, force the filter to draw the last overlay frame over the +main input until the end of the stream. A value of 0 disables this +behavior. Default value is 1. +@end table + +@c man end OPTIONS FOR FILTERS WITH SEVERAL INPUTS + @chapter Audio Filters @c man begin AUDIO FILTERS @@ -4937,17 +4970,10 @@ Value of pixel component at current location for first video frame (top layer). @item BOTTOM, B Value of pixel component at current location for second video frame (bottom layer). @end table - -@item shortest -Force termination when the shortest input terminates. Default is -@code{0}. This option is only defined for the @code{blend} filter. - -@item repeatlast -Continue applying the last bottom frame after the end of the stream. A value of -@code{0} disable the filter after the last frame of the bottom layer is reached. -Default is @code{1}. This option is only defined for the @code{blend} filter. @end table +The @code{blend} filter also supports the @ref{framesync} options. + @subsection Examples @itemize @@ -9745,6 +9771,8 @@ Enables computing ms_ssim along with vmaf. Set the pool method to be used for computing vmaf. @end table +This filter also supports the @ref{framesync} options. + For example: @example ffmpeg -i main.mpg -i ref.mpg -lavfi libvmaf -f null - @@ -9826,6 +9854,8 @@ Interpolate values using a tetrahedron. @end table @end table +This filter also supports the @ref{framesync} options. + @section lumakey Turn certain luma values into transparency. @@ -10854,19 +10884,6 @@ on the main video. Default value is "0" for both expressions. In case the expression is invalid, it is set to a huge value (meaning that the overlay will not be displayed within the output visible area). -@item eof_action -The action to take when EOF is encountered on the secondary input; it accepts -one of the following values: - -@table @option -@item repeat -Repeat the last frame (the default). -@item endall -End both streams. -@item pass -Pass the main input through. -@end table - @item eval Set when the expressions for @option{x}, and @option{y} are evaluated. @@ -10882,10 +10899,6 @@ evaluate expressions for each incoming frame Default value is @samp{frame}. -@item shortest -If set to 1, force the output to terminate when the shortest input -terminates. Default value is 0. - @item format Set the format for the output video. @@ -10911,11 +10924,6 @@ automatically pick format @end table Default value is @samp{yuv420}. - -@item repeatlast -If set to 1, force the filter to draw the last overlay frame over the -main input until the end of the stream. A value of 0 disables this -behavior. Default value is 1. @end table The @option{x}, and @option{y} expressions can contain the following @@ -10952,6 +10960,8 @@ The timestamp, expressed in seconds. It's NAN if the input timestamp is unknown. @end table +This filter also supports the @ref{framesync} options. + Note that the @var{n}, @var{pos}, @var{t} variables are available only when evaluation is done @emph{per frame}, and will evaluate to NAN when @option{eval} is set to @samp{init}. @@ -11829,6 +11839,8 @@ Requires stats_version >= 2. If this is set and stats_version < 2, the filter will return an error. @end table +This filter also supports the @ref{framesync} options. + The file printed if @var{stats_file} is selected, contains a sequence of key/value pairs of the form @var{key}:@var{value} for each compared couple of frames. @@ -13582,6 +13594,8 @@ SSIM of the compared frames for the whole frame. Same as above but in dB representation. @end table +This filter also supports the @ref{framesync} options. + For example: @example movie=ref_movie.mpg, setpts=PTS-STARTPTS [main];