vf_pad: add support for a "sar" variable
authorStefano Sabatini <stefano.sabatini-lala@poste.it>
Sat, 2 Jul 2011 15:31:18 +0000 (17:31 +0200)
committerStefano Sabatini <stefano.sabatini-lala@poste.it>
Mon, 4 Jul 2011 09:20:00 +0000 (11:20 +0200)
Also add a "dar" alias for "a", for avoiding confusion with sar/dar.

doc/filters.texi
libavfilter/avfilter.h
libavfilter/vf_pad.c

index 6707683..b3e4681 100644 (file)
@@ -1129,9 +1129,12 @@ same as @var{out_w} and @var{out_h}
 x and y offsets as specified by the @var{x} and @var{y}
 expressions, or NAN if not yet specified
 
-@item a
+@item dar, a
 input display aspect ratio, same as @var{iw} / @var{ih}
 
+@item sar
+input sample aspect ratio
+
 @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 a6869cc..704b77d 100644 (file)
@@ -30,7 +30,7 @@
 
 #define LIBAVFILTER_VERSION_MAJOR  2
 #define LIBAVFILTER_VERSION_MINOR 24
-#define LIBAVFILTER_VERSION_MICRO  2
+#define LIBAVFILTER_VERSION_MICRO  3
 
 #define LIBAVFILTER_VERSION_INT AV_VERSION_INT(LIBAVFILTER_VERSION_MAJOR, \
                                                LIBAVFILTER_VERSION_MINOR, \
index 809e458..879a0b5 100644 (file)
@@ -45,7 +45,8 @@ static const char *var_names[] = {
     "out_h",  "oh",
     "x",
     "y",
-    "a",
+    "a", "dar",
+    "sar",
     "hsub",
     "vsub",
     NULL
@@ -61,7 +62,8 @@ enum var_name {
     VAR_OUT_H,  VAR_OH,
     VAR_X,
     VAR_Y,
-    VAR_A,
+    VAR_A, VAR_DAR,
+    VAR_SAR,
     VAR_HSUB,
     VAR_VSUB,
     VARS_NB
@@ -156,7 +158,9 @@ static int config_input(AVFilterLink *inlink)
     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_A]     = (float) inlink->w / inlink->h;
+    var_values[VAR_DAR]   = var_values[VAR_A] = (float) inlink->w / inlink->h;
+    var_values[VAR_SAR]   = inlink->sample_aspect_ratio.num ?
+        (float) inlink->sample_aspect_ratio.num / inlink->sample_aspect_ratio.den : 1;
     var_values[VAR_HSUB]  = 1<<pad->hsub;
     var_values[VAR_VSUB]  = 2<<pad->vsub;