|
|
|
@ -341,34 +341,35 @@ static av_cold void uninit(AVFilterContext *ctx) |
|
|
|
|
static int query_formats(AVFilterContext *ctx) |
|
|
|
|
{ |
|
|
|
|
AVFilterFormats *formats; |
|
|
|
|
const AVPixFmtDescriptor *desc; |
|
|
|
|
enum AVPixelFormat pix_fmt; |
|
|
|
|
int ret; |
|
|
|
|
|
|
|
|
|
const AVPixFmtDescriptor *desc = NULL; |
|
|
|
|
formats = NULL; |
|
|
|
|
while ((desc = av_pix_fmt_desc_next(desc))) { |
|
|
|
|
pix_fmt = av_pix_fmt_desc_get_id(desc); |
|
|
|
|
if ((sws_isSupportedInput(pix_fmt) || |
|
|
|
|
sws_isSupportedEndiannessConversion(pix_fmt)) |
|
|
|
|
&& (ret = ff_add_format(&formats, pix_fmt)) < 0) { |
|
|
|
|
return ret; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
if ((ret = ff_formats_ref(formats, &ctx->inputs[0]->outcfg.formats)) < 0) |
|
|
|
|
desc = NULL; |
|
|
|
|
formats = NULL; |
|
|
|
|
while ((desc = av_pix_fmt_desc_next(desc))) { |
|
|
|
|
pix_fmt = av_pix_fmt_desc_get_id(desc); |
|
|
|
|
if ((sws_isSupportedInput(pix_fmt) || |
|
|
|
|
sws_isSupportedEndiannessConversion(pix_fmt)) |
|
|
|
|
&& (ret = ff_add_format(&formats, pix_fmt)) < 0) { |
|
|
|
|
return ret; |
|
|
|
|
|
|
|
|
|
desc = NULL; |
|
|
|
|
formats = NULL; |
|
|
|
|
while ((desc = av_pix_fmt_desc_next(desc))) { |
|
|
|
|
pix_fmt = av_pix_fmt_desc_get_id(desc); |
|
|
|
|
if ((sws_isSupportedOutput(pix_fmt) || pix_fmt == AV_PIX_FMT_PAL8 || |
|
|
|
|
sws_isSupportedEndiannessConversion(pix_fmt)) |
|
|
|
|
&& (ret = ff_add_format(&formats, pix_fmt)) < 0) { |
|
|
|
|
return ret; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
if ((ret = ff_formats_ref(formats, &ctx->outputs[0]->incfg.formats)) < 0) |
|
|
|
|
} |
|
|
|
|
if ((ret = ff_formats_ref(formats, &ctx->inputs[0]->outcfg.formats)) < 0) |
|
|
|
|
return ret; |
|
|
|
|
|
|
|
|
|
desc = NULL; |
|
|
|
|
formats = NULL; |
|
|
|
|
while ((desc = av_pix_fmt_desc_next(desc))) { |
|
|
|
|
pix_fmt = av_pix_fmt_desc_get_id(desc); |
|
|
|
|
if ((sws_isSupportedOutput(pix_fmt) || pix_fmt == AV_PIX_FMT_PAL8 || |
|
|
|
|
sws_isSupportedEndiannessConversion(pix_fmt)) |
|
|
|
|
&& (ret = ff_add_format(&formats, pix_fmt)) < 0) { |
|
|
|
|
return ret; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
if ((ret = ff_formats_ref(formats, &ctx->outputs[0]->incfg.formats)) < 0) |
|
|
|
|
return ret; |
|
|
|
|
|
|
|
|
|
return 0; |
|
|
|
|
} |
|
|
|
|