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>
This commit is contained in:
Reimar Döffinger 2012-04-08 16:12:46 +02:00
parent bbaf941e29
commit 24eac3cff5
3 changed files with 3 additions and 2 deletions

View File

@ -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 File

@ -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 File

@ -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",