vf_scale: make the dar variable return the DAR.
authorRudolf Polzer <divVerent@xonotic.org>
Sat, 2 Nov 2013 10:57:25 +0000 (11:57 +0100)
committerAnton Khirnov <anton@khirnov.net>
Sat, 2 Nov 2013 20:16:29 +0000 (21:16 +0100)
Before, it just returned width/height. Correct is width/height*sar.

That way it is consistent with DAR as in probe output and setdar.

Signed-off-by: Rudolf Polzer <divverent@xonotic.org>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Changelog
doc/filters.texi
libavfilter/version.h
libavfilter/vf_scale.c

index 540aa08..74ef59f 100644 (file)
--- a/Changelog
+++ b/Changelog
@@ -46,6 +46,7 @@ version 10:
 - remove avplay -vismv option, which has not worked for a long time
 - Live HDS muxer
 - setsar/setdar filters now support variables in ratio expressions
+- dar variable in the scale filter now returns the actual DAR (i.e. a * sar)
 
 
 version 9:
index afb48b1..85c78b1 100644 (file)
@@ -1856,12 +1856,15 @@ the output (cropped) width and height
 @item ow, oh
 same as @var{out_w} and @var{out_h}
 
-@item dar, a
-input display aspect ratio, same as @var{iw} / @var{ih}
+@item a
+same as @var{iw} / @var{ih}
 
 @item sar
 input sample aspect ratio
 
+@item dar
+input display aspect ratio, it is the same as (@var{iw} / @var{ih}) * @var{sar}
+
 @item hsub, vsub
 horizontal and vertical chroma subsample values. For example for the
 pixel format "yuv422p" @var{hsub} is 2 and @var{vsub} is 1.
index 02f348e..bc079b4 100644 (file)
@@ -31,7 +31,7 @@
 
 #define LIBAVFILTER_VERSION_MAJOR  3
 #define LIBAVFILTER_VERSION_MINOR  11
-#define LIBAVFILTER_VERSION_MICRO  0
+#define LIBAVFILTER_VERSION_MICRO  1
 
 #define LIBAVFILTER_VERSION_INT AV_VERSION_INT(LIBAVFILTER_VERSION_MAJOR, \
                                                LIBAVFILTER_VERSION_MINOR, \
index 096397f..c47c6f3 100644 (file)
@@ -163,9 +163,10 @@ static int config_props(AVFilterLink *outlink)
     var_values[VAR_IN_H]  = var_values[VAR_IH] = inlink->h;
     var_values[VAR_OUT_W] = var_values[VAR_OW] = NAN;
     var_values[VAR_OUT_H] = var_values[VAR_OH] = NAN;
-    var_values[VAR_DAR]   = var_values[VAR_A]  = (double) inlink->w / inlink->h;
+    var_values[VAR_A]     = (double) inlink->w / inlink->h;
     var_values[VAR_SAR]   = inlink->sample_aspect_ratio.num ?
         (double) inlink->sample_aspect_ratio.num / inlink->sample_aspect_ratio.den : 1;
+    var_values[VAR_DAR]   = var_values[VAR_A] * var_values[VAR_SAR];
     var_values[VAR_HSUB]  = 1 << desc->log2_chroma_w;
     var_values[VAR_VSUB]  = 1 << desc->log2_chroma_h;