diff options
author | Reimar Döffinger <Reimar.Doeffinger@gmx.de> | 2012-04-08 15:11:13 +0200 |
---|---|---|
committer | Reimar Döffinger <Reimar.Doeffinger@gmx.de> | 2012-04-09 17:21:35 +0200 |
commit | 6458a08700a2d6df2e1930dc59c0ace5e5a67164 (patch) | |
tree | e20b1ea3e89fec58c28d7c42e75483265da1b920 /libavfilter | |
parent | 24eac3cff54a5828ba76bc1ad93b99724cde45c1 (diff) | |
download | ffmpeg-streaming-6458a08700a2d6df2e1930dc59c0ace5e5a67164.zip ffmpeg-streaming-6458a08700a2d6df2e1930dc59c0ace5e5a67164.tar.gz |
vf_scale: ensure the palette is set for output.
Since those are pseudo-palette formats, swscale does not write
into data[1], swscale must initialize the palette properly itself.
This lead to frames that actually decoded as all-gray before.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Diffstat (limited to 'libavfilter')
-rw-r--r-- | libavfilter/vf_scale.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/libavfilter/vf_scale.c b/libavfilter/vf_scale.c index 00f2ed1..86be86f 100644 --- a/libavfilter/vf_scale.c +++ b/libavfilter/vf_scale.c @@ -28,6 +28,7 @@ #include "libavutil/eval.h" #include "libavutil/mathematics.h" #include "libavutil/pixdesc.h" +#include "libavutil/imgutils.h" #include "libavutil/avassert.h" #include "libswscale/swscale.h" @@ -279,6 +280,8 @@ static void start_frame(AVFilterLink *link, AVFilterBufferRef *picref) outpicref->video->h = outlink->h; outlink->out_buf = outpicref; + if(scale->output_is_pal) + ff_set_systematic_pal2(outpicref->data[1], outlink->format == PIX_FMT_PAL8 ? PIX_FMT_BGR8 : outlink->format); av_reduce(&outpicref->video->sample_aspect_ratio.num, &outpicref->video->sample_aspect_ratio.den, (int64_t)picref->video->sample_aspect_ratio.num * outlink->h * link->w, |