[FFmpeg-devel] [PATCH] avformat/avidec: ensure that palette does not contain the BottomUp info.
Benoit Fouet
benoit.fouet at free.fr
Mon Sep 22 11:28:31 CEST 2014
Hi,
----- Mail original -----
> On Mon, Sep 22, 2014 at 09:57:37AM +0200, Benoit Fouet wrote:
> > Considering the palette is located at the end of extradata may be
> > flawed
> > when the extradata contains the palette followed by the BottomUp
> > field.
> > When the BottomUp field is present, exclude it from the palette.
> > Fixes ticket #1304
> > ---
> > libavformat/avidec.c | 4 ++++
> > 1 file changed, 4 insertions(+)
> >
> > diff --git a/libavformat/avidec.c b/libavformat/avidec.c
> > index 5b260e2..f7b15b7 100644
> > --- a/libavformat/avidec.c
> > +++ b/libavformat/avidec.c
> > @@ -756,6 +756,10 @@ static int avi_read_header(AVFormatContext *s)
> > pal_size = FFMIN(pal_size,
> > st->codec->extradata_size);
> > pal_src = st->codec->extradata +
> > st->codec->extradata_size -
> > pal_size;
> > + /* Exclude the "BottomUp" field from the
> > palette */
> > + if (pal_src - st->codec->extradata >= 9 &&
> > + !memcmp(st->codec->extradata +
> > st->codec->extradata_size - 9, "BottomUp", 9))
> > + pal_src -= 9;
> > for (i = 0; i < pal_size / 4; i++)
> > ast->pal[i] = 0xFFU<<24 |
> > AV_RL32(pal_src+4*i);
> > ast->has_pal = 1;
>
> applied
>
> though i suspect this only fixes demuxing/decoding of remuxed files
> with ffmpeg/ffplay.
> I suspect the remuxed files still wont play with the official
> avi/rawvideo code from MS or whatever the "reference" code would be
>
I also have a "fix" for the muxer, though I'm still trying to see what the consequences of such a patch could be...
See attached.
--
Ben
-------------- next part --------------
A non-text attachment was scrubbed...
Name: avienc.diff
Type: text/x-patch
Size: 693 bytes
Desc: not available
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20140922/0ce24817/attachment.bin>
More information about the ffmpeg-devel
mailing list