lavfi/mergeplanes: Fix little endian yuv formats >8 bit and <16bit.
authorCarl Eugen Hoyos <cehoyos@ag.or.at>
Sat, 29 Oct 2016 22:39:19 +0000 (00:39 +0200)
committerCarl Eugen Hoyos <cehoyos@ag.or.at>
Tue, 1 Nov 2016 11:28:36 +0000 (12:28 +0100)
Fixes remaining cases of ticket #5916.

libavfilter/vf_mergeplanes.c

index c4948cc..c211043 100644 (file)
@@ -122,6 +122,7 @@ static int query_formats(AVFilterContext *ctx)
     for (i = 0; av_pix_fmt_desc_get(i); i++) {
         const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(i);
         if (desc->comp[0].depth == s->outdesc->comp[0].depth &&
+            (desc->comp[0].depth <= 8 || (desc->flags & AV_PIX_FMT_FLAG_BE) == (s->outdesc->flags & AV_PIX_FMT_FLAG_BE)) &&
             av_pix_fmt_count_planes(i) == desc->nb_components &&
             (ret = ff_add_format(&formats, i)) < 0)
                 return ret;