[FFmpeg-cvslog] avfilter/vf_scale: add ov/hsub
Michael Niedermayer
git at videolan.org
Mon Nov 4 15:47:56 CET 2013
ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Mon Nov 4 14:18:09 2013 +0100| [d0ac60730d26f1d59817c675806ed199abbef906] | committer: Michael Niedermayer
avfilter/vf_scale: add ov/hsub
Suggested-by: divVerent
Reviewed-by: Stefano
Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=d0ac60730d26f1d59817c675806ed199abbef906
---
doc/filters.texi | 7 ++++++-
libavfilter/version.h | 2 +-
libavfilter/vf_scale.c | 7 +++++++
3 files changed, 14 insertions(+), 2 deletions(-)
diff --git a/doc/filters.texi b/doc/filters.texi
index 7f07848..9fae339 100644
--- a/doc/filters.texi
+++ b/doc/filters.texi
@@ -6820,7 +6820,12 @@ input display aspect ratio. Calculated from @code{(iw / ih) * sar}.
@item hsub
@item vsub
-horizontal and vertical chroma subsample values. For example for the
+horizontal and vertical input chroma subsample values. For example for the
+pixel format "yuv422p" @var{hsub} is 2 and @var{vsub} is 1.
+
+ at item ohsub
+ at item ovsub
+horizontal and vertical output chroma subsample values. For example for the
pixel format "yuv422p" @var{hsub} is 2 and @var{vsub} is 1.
@end table
diff --git a/libavfilter/version.h b/libavfilter/version.h
index b9159a7..a293d3b 100644
--- a/libavfilter/version.h
+++ b/libavfilter/version.h
@@ -31,7 +31,7 @@
#define LIBAVFILTER_VERSION_MAJOR 3
#define LIBAVFILTER_VERSION_MINOR 90
-#define LIBAVFILTER_VERSION_MICRO 100
+#define LIBAVFILTER_VERSION_MICRO 101
#define LIBAVFILTER_VERSION_INT AV_VERSION_INT(LIBAVFILTER_VERSION_MAJOR, \
LIBAVFILTER_VERSION_MINOR, \
diff --git a/libavfilter/vf_scale.c b/libavfilter/vf_scale.c
index 283c0b7..2e692cf 100644
--- a/libavfilter/vf_scale.c
+++ b/libavfilter/vf_scale.c
@@ -51,6 +51,8 @@ static const char *const var_names[] = {
"dar",
"hsub",
"vsub",
+ "ohsub",
+ "ovsub",
NULL
};
@@ -64,6 +66,8 @@ enum var_name {
VAR_DAR,
VAR_HSUB,
VAR_VSUB,
+ VAR_OHSUB,
+ VAR_OVSUB,
VARS_NB
};
@@ -227,6 +231,7 @@ static int config_props(AVFilterLink *outlink)
enum AVPixelFormat outfmt = outlink->format;
ScaleContext *scale = ctx->priv;
const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(inlink->format);
+ const AVPixFmtDescriptor *out_desc = av_pix_fmt_desc_get(outlink->format);
int64_t w, h;
double var_values[VARS_NB], res;
char *expr;
@@ -242,6 +247,8 @@ static int config_props(AVFilterLink *outlink)
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;
+ var_values[VAR_OHSUB] = 1 << out_desc->log2_chroma_w;
+ var_values[VAR_OVSUB] = 1 << out_desc->log2_chroma_h;
/* evaluate width and height */
av_expr_parse_and_eval(&res, (expr = scale->w_expr),
More information about the ffmpeg-cvslog
mailing list