Browse files

Mark GRAY8 format as pseudo-paletted.

This fixes that the GIF encoder crashes with it because
it has no palette.
And the arguments for the pseudopalette apply to gray8 as
much as to RGB8 etc.
In addition the changes required in lavfi should be needed anyway
when adding support for RGB8 etc.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
  • Loading branch information...
1 parent bbaf941 commit 24eac3cff54a5828ba76bc1ad93b99724cde45c1 @rdoeffinger rdoeffinger committed Apr 8, 2012
Showing with 3 additions and 2 deletions.
  1. +1 −1 libavfilter/drawutils.c
  2. +1 −1 libavfilter/vf_pad.c
  3. +1 −0 libavutil/pixdesc.c
View
2 libavfilter/drawutils.c
@@ -134,7 +134,7 @@ int ff_draw_init(FFDrawContext *draw, enum PixelFormat format, unsigned flags)
if (!desc->name)
return AVERROR(EINVAL);
- if (desc->flags & ~(PIX_FMT_PLANAR | PIX_FMT_RGB))
+ if (desc->flags & ~(PIX_FMT_PLANAR | PIX_FMT_RGB | PIX_FMT_PSEUDOPAL))
return AVERROR(ENOSYS);
for (i = 0; i < desc->nb_components; i++) {
c = &desc->comp[i];
View
2 libavfilter/vf_pad.c
@@ -262,7 +262,7 @@ static void start_frame(AVFilterLink *inlink, AVFilterBufferRef *inpicref)
AVFilterBufferRef *outpicref = avfilter_ref_buffer(inpicref, ~0);
int plane;
- for (plane = 0; plane < 4 && outpicref->data[plane]; plane++) {
+ for (plane = 0; plane < 4 && outpicref->data[plane] && pad->draw.pixelstep[plane]; plane++) {
int hsub = pad->draw.hsub[plane];
int vsub = pad->draw.vsub[plane];
View
1 libavutil/pixdesc.c
@@ -220,6 +220,7 @@ const AVPixFmtDescriptor av_pix_fmt_descriptors[PIX_FMT_NB] = {
.comp = {
{ 0, 0, 1, 0, 7 }, /* Y */
},
+ .flags = PIX_FMT_PSEUDOPAL,
},
[PIX_FMT_MONOWHITE] = {
.name = "monow",

0 comments on commit 24eac3c

Please sign in to comment.