|
|
|
@ -60,24 +60,21 @@ typedef struct StackContext { |
|
|
|
|
|
|
|
|
|
static int query_formats(AVFilterContext *ctx) |
|
|
|
|
{ |
|
|
|
|
AVFilterFormats *pix_fmts = NULL; |
|
|
|
|
AVFilterFormats *formats = NULL; |
|
|
|
|
StackContext *s = ctx->priv; |
|
|
|
|
int fmt, ret; |
|
|
|
|
int ret; |
|
|
|
|
|
|
|
|
|
if (s->fillcolor_enable) { |
|
|
|
|
return ff_set_common_formats(ctx, ff_draw_supported_pixel_formats(0)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
for (fmt = 0; av_pix_fmt_desc_get(fmt); fmt++) { |
|
|
|
|
const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(fmt); |
|
|
|
|
if (!(desc->flags & AV_PIX_FMT_FLAG_PAL || |
|
|
|
|
desc->flags & AV_PIX_FMT_FLAG_HWACCEL || |
|
|
|
|
desc->flags & AV_PIX_FMT_FLAG_BITSTREAM) && |
|
|
|
|
(ret = ff_add_format(&pix_fmts, fmt)) < 0) |
|
|
|
|
return ret; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return ff_set_common_formats(ctx, pix_fmts); |
|
|
|
|
ret = ff_formats_pixdesc_filter(&formats, 0, |
|
|
|
|
AV_PIX_FMT_FLAG_HWACCEL | |
|
|
|
|
AV_PIX_FMT_FLAG_BITSTREAM | |
|
|
|
|
AV_PIX_FMT_FLAG_PAL); |
|
|
|
|
if (ret < 0) |
|
|
|
|
return ret; |
|
|
|
|
return ff_set_common_formats(ctx, formats); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
static av_cold int init(AVFilterContext *ctx) |
|
|
|
|