Commit 27d8f6b6 authored by Stefano Sabatini's avatar Stefano Sabatini
Browse files

Make the scale filter set in the input and output links only the

 respective pixel formats effectively supported by libswscale.

Originally committed as revision 21105 to svn://svn.ffmpeg.org/ffmpeg/trunk
parent a7ac9c2f
...@@ -69,13 +69,27 @@ static av_cold void uninit(AVFilterContext *ctx) ...@@ -69,13 +69,27 @@ static av_cold void uninit(AVFilterContext *ctx)
static int query_formats(AVFilterContext *ctx) static int query_formats(AVFilterContext *ctx)
{ {
AVFilterFormats *formats; AVFilterFormats *formats;
enum PixelFormat pix_fmt;
int ret;
if (ctx->inputs[0]) { if (ctx->inputs[0]) {
formats = avfilter_all_colorspaces(); formats = NULL;
for (pix_fmt = 0; pix_fmt < PIX_FMT_NB; pix_fmt++)
if ( sws_isSupportedInput(pix_fmt)
&& (ret = avfilter_add_colorspace(&formats, pix_fmt)) < 0) {
avfilter_formats_unref(&formats);
return ret;
}
avfilter_formats_ref(formats, &ctx->inputs[0]->out_formats); avfilter_formats_ref(formats, &ctx->inputs[0]->out_formats);
} }
if (ctx->outputs[0]) { if (ctx->outputs[0]) {
formats = avfilter_all_colorspaces(); formats = NULL;
for (pix_fmt = 0; pix_fmt < PIX_FMT_NB; pix_fmt++)
if ( sws_isSupportedOutput(pix_fmt)
&& (ret = avfilter_add_colorspace(&formats, pix_fmt)) < 0) {
avfilter_formats_unref(&formats);
return ret;
}
avfilter_formats_ref(formats, &ctx->outputs[0]->in_formats); avfilter_formats_ref(formats, &ctx->outputs[0]->in_formats);
} }
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment