diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2012-10-12 17:04:58 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2012-10-12 17:04:58 +0200 |
commit | 13afee951a49964abb6d3e2d11644ac9d5ded2c7 (patch) | |
tree | ba98a70ac6f80dea08f21badfbbb64319541d826 /libavfilter/vf_scale.c | |
parent | af7dd79a323090b14a7fb9ef24a3f6a24dc6d2db (diff) | |
parent | 59ee9f78b0cc4fb84ae606fa317d8102ad32a627 (diff) | |
download | ffmpeg-13afee951a49964abb6d3e2d11644ac9d5ded2c7.tar.gz |
Merge commit '59ee9f78b0cc4fb84ae606fa317d8102ad32a627'
* commit '59ee9f78b0cc4fb84ae606fa317d8102ad32a627':
lavfi: do not use av_pix_fmt_descriptors directly.
Conflicts:
libavfilter/buffersrc.c
libavfilter/drawutils.c
libavfilter/filtfmts.c
libavfilter/vf_ass.c
libavfilter/vf_boxblur.c
libavfilter/vf_drawtext.c
libavfilter/vf_lut.c
libavfilter/vf_pad.c
libavfilter/vf_scale.c
libavfilter/vf_showinfo.c
libavfilter/vf_transpose.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavfilter/vf_scale.c')
-rw-r--r-- | libavfilter/vf_scale.c | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/libavfilter/vf_scale.c b/libavfilter/vf_scale.c index 66f4f2fa93..bc7f20c3d7 100644 --- a/libavfilter/vf_scale.c +++ b/libavfilter/vf_scale.c @@ -163,6 +163,7 @@ static int config_props(AVFilterLink *outlink) AVFilterLink *inlink = outlink->src->inputs[0]; enum AVPixelFormat outfmt = outlink->format; ScaleContext *scale = ctx->priv; + const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(inlink->format); int64_t w, h; double var_values[VARS_NB], res; char *expr; @@ -176,8 +177,8 @@ static int config_props(AVFilterLink *outlink) 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<<av_pix_fmt_descriptors[inlink->format].log2_chroma_w; - var_values[VAR_VSUB] = 1<<av_pix_fmt_descriptors[inlink->format].log2_chroma_h; + var_values[VAR_HSUB] = 1 << desc->log2_chroma_w; + var_values[VAR_VSUB] = 1 << desc->log2_chroma_h; /* evaluate width and height */ av_expr_parse_and_eval(&res, (expr = scale->w_expr), @@ -226,11 +227,11 @@ static int config_props(AVFilterLink *outlink) /* TODO: make algorithm configurable */ - scale->input_is_pal = av_pix_fmt_descriptors[inlink->format].flags & PIX_FMT_PAL || - av_pix_fmt_descriptors[inlink->format].flags & PIX_FMT_PSEUDOPAL; + scale->input_is_pal = desc->flags & PIX_FMT_PAL || + desc->flags & PIX_FMT_PSEUDOPAL; if (outfmt == AV_PIX_FMT_PAL8) outfmt = AV_PIX_FMT_BGR8; - scale->output_is_pal = av_pix_fmt_descriptors[outfmt].flags & PIX_FMT_PAL || - av_pix_fmt_descriptors[outfmt].flags & PIX_FMT_PSEUDOPAL; + scale->output_is_pal = av_pix_fmt_desc_get(outfmt)->flags & PIX_FMT_PAL || + av_pix_fmt_desc_get(outfmt)->flags & PIX_FMT_PSEUDOPAL; if (scale->sws) sws_freeContext(scale->sws); @@ -261,9 +262,9 @@ static int config_props(AVFilterLink *outlink) outlink->sample_aspect_ratio = inlink->sample_aspect_ratio; av_log(ctx, AV_LOG_VERBOSE, "w:%d h:%d fmt:%s sar:%d/%d -> w:%d h:%d fmt:%s sar:%d/%d flags:0x%0x\n", - inlink ->w, inlink ->h, av_pix_fmt_descriptors[ inlink->format].name, + inlink ->w, inlink ->h, av_get_pix_fmt_name( inlink->format), inlink->sample_aspect_ratio.num, inlink->sample_aspect_ratio.den, - outlink->w, outlink->h, av_pix_fmt_descriptors[outlink->format].name, + outlink->w, outlink->h, av_get_pix_fmt_name(outlink->format), outlink->sample_aspect_ratio.num, outlink->sample_aspect_ratio.den, scale->flags); return 0; @@ -281,6 +282,7 @@ static int start_frame(AVFilterLink *link, AVFilterBufferRef *picref) ScaleContext *scale = link->dst->priv; AVFilterLink *outlink = link->dst->outputs[0]; AVFilterBufferRef *outpicref, *for_next_filter; + const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(link->format); int ret = 0; if( picref->video->w != link->w @@ -306,8 +308,8 @@ static int start_frame(AVFilterLink *link, AVFilterBufferRef *picref) return ff_start_frame(outlink, outpicref); } - scale->hsub = av_pix_fmt_descriptors[link->format].log2_chroma_w; - scale->vsub = av_pix_fmt_descriptors[link->format].log2_chroma_h; + scale->hsub = desc->log2_chroma_w; + scale->vsub = desc->log2_chroma_h; outpicref = ff_get_video_buffer(outlink, AV_PERM_WRITE|AV_PERM_ALIGN, outlink->w, outlink->h); if (!outpicref) |