diff --git a/libavfilter/vf_yadif.c b/libavfilter/vf_yadif.c index 13186e79ad..c3fd93c6d0 100644 --- a/libavfilter/vf_yadif.c +++ b/libavfilter/vf_yadif.c @@ -145,7 +145,7 @@ static void filter(AVFilterContext *ctx, AVFilterBufferRef *dstpic, int refs = yadif->cur->linesize[i]; int df = (yadif->csp->comp[i].depth_minus1+1) / 8; - if (i) { + if (i == 1 || i == 2) { /* Why is this not part of the per-plane description thing? */ w >>= yadif->csp->log2_chroma_w; h >>= yadif->csp->log2_chroma_h; @@ -355,6 +355,7 @@ static int query_formats(AVFilterContext *ctx) AV_NE( PIX_FMT_YUV420P16BE, PIX_FMT_YUV420P16LE ), AV_NE( PIX_FMT_YUV422P16BE, PIX_FMT_YUV422P16LE ), AV_NE( PIX_FMT_YUV444P16BE, PIX_FMT_YUV444P16LE ), + PIX_FMT_YUVA420P, PIX_FMT_NONE };