Opened 13 years ago

Closed 13 years ago

#1976 closed defect (fixed)

AVI MSRLE Videos black

Reported by: o.flebbe@… Owned by: reimar
Priority: normal Component: demuxer
Version: unspecified Severity: normal
Keywords: Cc: cehoyos
Blocked By: Blocking:
Reproduced by developer: no Analyzed by developer: no

Description

Hi,

An AVI with MSRLE codec displays only black. (Git HEAD ffmpeg, SVN HEAD mplayer).

Viewing it with ffplay shows it contents.

I did a bisect on mplayer and ffmpeg and found the offending patch in GIT ffmpeg
2d8591c27e2dc582a7020e2580e16278dbfbddff

This patch introduces some kind of side channel for the palette data. This side channel is filled by the avi_read_packet() call with av_packet_new_side_data(). Since mplayer does use its own version of demuxers some call to av_packet_new_side_data() has to be introduced to libmpdemux. Since this is missing altogether I suspected that any paletted video is broken since Apr 17th 2011.

you can see the offending patch with
git show 2d8591c27e2dc582a7020e2580e16278dbfbddff
within the ffmpeg tree if you have cloned ffmpeg with full history. Patch appended.

If you like to verify my findings and compile mplayer with this ffmpeg revision with mplayer you have to go back in history: For instance to revision 33450 will do ( with svn up -r33450), since other things have changed, too.

I can supply you with a sample video, please contact me via private mail.

Attachments (1)

Offending_Palette_change.diff (31.6 KB ) - added by o.flebbe@… 13 years ago.
Patch to ffmpeg which broke paletted MSRLE video

Download all attachments as: .zip

Change History (6)

by o.flebbe@…, 13 years ago

Patch to ffmpeg which broke paletted MSRLE video

comment:1 by cehoyos, 13 years ago

Cc: cehoyos@… added

Works fine with -demuxer lavf, sample is V-codecs/RLE/suzie_appl_rle8.avi

comment:2 by o.flebbe@…, 13 years ago

I cannot confirm that -demuxer lavf fixes it.

I can confirm that the bug can be reproduced with the samples mentioned (didn't know about them in the first place)

This is a little bit puzzeling to me since I can confirm that it uses ffmpeg's demuxer, but something is missing: The palette change is not propagated to ffmpegs msrle codec.

comment:3 by cehoyos, 13 years ago

Yes, the problem is reproducible with both -demuxer avi and -demuxer lavf.

comment:4 by reimar, 13 years ago

What? The video V-codecs/RLE/suzie_appl_rle8.avi plays correctly with -demuxer lavf as far as I can tell.
That patch is not really an issue (with -demuxer lavf), since av_packet_merge_side_data/av_packet_split_side_data was added.

comment:5 by reimar, 13 years ago

Resolution: fixed
Status: newclosed

Native demuxer is also fixed in SVN r34109 (for this case, files where the palette actually changes which AVI in theory supports is really messy to support - but luckily it is also very rare and will work with -demuxer lavf I think).

Note: See TracTickets for help on using tickets.