vf_zscale: Fix alpha destination graph for floating point pixel formats
authorVittorio Giovara <vittorio.giovara@gmail.com>
Thu, 7 Dec 2017 21:32:22 +0000 (16:32 -0500)
committerVittorio Giovara <vittorio.giovara@gmail.com>
Fri, 8 Dec 2017 15:11:50 +0000 (10:11 -0500)
This was setting the input pixel type instead of the output one,
leading to incorrect data being fed to the library.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
libavfilter/vf_zscale.c

index 865910b..6e1d36c 100644 (file)
@@ -615,7 +615,7 @@ static int filter_frame(AVFilterLink *link, AVFrame *in)
             s->alpha_dst_format.width = out->width;
             s->alpha_dst_format.height = out->height;
             s->alpha_dst_format.depth = odesc->comp[0].depth;
-            s->alpha_dst_format.pixel_type = (desc->flags & AV_PIX_FMT_FLAG_FLOAT) ? ZIMG_PIXEL_FLOAT : odesc->comp[0].depth > 8 ? ZIMG_PIXEL_WORD : ZIMG_PIXEL_BYTE;
+            s->alpha_dst_format.pixel_type = (odesc->flags & AV_PIX_FMT_FLAG_FLOAT) ? ZIMG_PIXEL_FLOAT : odesc->comp[0].depth > 8 ? ZIMG_PIXEL_WORD : ZIMG_PIXEL_BYTE;
             s->alpha_dst_format.color_family = ZIMG_COLOR_GREY;
 
             zimg_filter_graph_free(s->alpha_graph);