[FFmpeg-devel] [PATCH] avfilter/vf_scale: add ov/hsub
Stefano Sabatini
stefasab at gmail.com
Mon Nov 4 14:36:14 CET 2013
On date Monday 2013-11-04 14:26:44 +0100, Michael Niedermayer encoded:
> Suggested-by: divVerent
> Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
> ---
> doc/filters.texi | 7 ++++++-
> libavfilter/vf_scale.c | 7 +++++++
> 2 files changed, 13 insertions(+), 1 deletion(-)
>
> 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/vf_scale.c b/libavfilter/vf_scale.c
> index 283c0b7..c9fb7c6 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;
nit: vertial align
LGTM with micro bump.
--
FFmpeg = Frightening & Fascinating MultiPurpose Extended Generator
More information about the ffmpeg-devel
mailing list