Opened 9 years ago

Closed 9 years ago

#1659 closed defect (fixed)

IV50 decoding with binarycodecs broken

Reported by: rectalogic@… Owned by: reimar
Priority: normal Component: vd
Version: HEAD Severity: normal
Keywords: Cc:
Blocked By: Blocking:
Reproduced by developer: Analyzed by developer:

Description

MPlayer commit r30645 broke decoding IV50 using binarycodec indeo5ds. Prior to that commit it was working, now it decodes to what looks like a series of pink/green pictures.

You can reproduce the issue with pretty much any IV50 sample, e.g. http://samples.mplayerhq.hu/V-codecs/IV50/Educ_Movie_DeadlyForce.avi

Reverting r30645 against HEAD doesn't seem to fix the issue - so something else must have changed to affect this also.

Here is the mplayer log from r30645, the version that first broke this:

MPlayer SVN-r30645-4.2.1 (C) 2000-2010 MPlayer Team

Playing http://samples.mplayerhq.hu/V-codecs/IV50/Educ_Movie_DeadlyForce.avi.
Resolving samples.mplayerhq.hu for AF_INET6...
Resolving samples.mplayerhq.hu for AF_INET...
Connecting to server samples.mplayerhq.hu[213.144.138.186]: 80...
Cache size set to 320 KBytes

Cache fill: 0.00% (0 bytes)
Cache fill: 5.00% (16384 bytes)
Cache fill: 17.50% (57344 bytes)
AVI file format detected.
[aviheader] Video stream found, -vid 0
[aviheader] Audio stream found, -aid 1
Resolving samples.mplayerhq.hu for AF_INET6...
Resolving samples.mplayerhq.hu for AF_INET...
Connecting to server samples.mplayerhq.hu[213.144.138.186]: 80...
Resolving samples.mplayerhq.hu for AF_INET6...
Resolving samples.mplayerhq.hu for AF_INET...
Connecting to server samples.mplayerhq.hu[213.144.138.186]: 80...
VIDEO: [IV50] 240x180 24bpp 15.000 fps 481.6 kbps (58.8 kbyte/s)
==========================================================================
Opening video decoder: [dshow] DirectShow? video codecs
Decoder supports the following YUV formats: YUY2 IYUV UYVY YV12 I420
Decoder is capable of YUV output (flags 0x2f)
[PP] Using codec's postprocessing, max q = 4.
Movie-Aspect is undefined - no prescaling applied.
VO: [corevideo] 240x180 => 240x180 Packed YUY2
Selected video codec: [indeo5ds] vfm: dshow (Intel Indeo 5)
==========================================================================
==========================================================================
Opening audio decoder: [pcm] Uncompressed PCM audio decoder
AUDIO: 22050 Hz, 1 ch, s16le, 352.8 kbit/100.00% (ratio: 44100->44100)
Selected audio codec: [pcm] afm: pcm (Uncompressed PCM)
==========================================================================
AO: [coreaudio] 22050Hz 1ch s16le (2 bytes per sample)
Starting playback...

Here is the mplayer log from r30644, the last working version:

MPlayer SVN-r30644-4.2.1 (C) 2000-2010 MPlayer Team

Playing http://samples.mplayerhq.hu/V-codecs/IV50/Educ_Movie_DeadlyForce.avi.
Resolving samples.mplayerhq.hu for AF_INET6...
Resolving samples.mplayerhq.hu for AF_INET...
Connecting to server samples.mplayerhq.hu[213.144.138.186]: 80...
Cache size set to 320 KBytes

Cache fill: 0.00% (0 bytes)
Cache fill: 5.00% (16384 bytes)
Cache fill: 12.50% (40960 bytes)
AVI file format detected.
[aviheader] Video stream found, -vid 0
[aviheader] Audio stream found, -aid 1
Resolving samples.mplayerhq.hu for AF_INET6...
Resolving samples.mplayerhq.hu for AF_INET...
Connecting to server samples.mplayerhq.hu[213.144.138.186]: 80...
Resolving samples.mplayerhq.hu for AF_INET6...
Resolving samples.mplayerhq.hu for AF_INET...
Connecting to server samples.mplayerhq.hu[213.144.138.186]: 80...
VIDEO: [IV50] 240x180 24bpp 15.000 fps 481.6 kbps (58.8 kbyte/s)
==========================================================================
Opening video decoder: [dshow] DirectShow? video codecs
Decoder supports the following YUV formats: YUY2 IYUV UYVY YV12 I420
Decoder is capable of YUV output (flags 0x2f)
[PP] Using codec's postprocessing, max q = 4.
Movie-Aspect is undefined - no prescaling applied.
VO: [corevideo] 240x180 => 240x180 Packed YUY2
Selected video codec: [indeo5ds] vfm: dshow (Intel Indeo 5)
==========================================================================
==========================================================================
Opening audio decoder: [pcm] Uncompressed PCM audio decoder
AUDIO: 22050 Hz, 1 ch, s16le, 352.8 kbit/100.00% (ratio: 44100->44100)
Selected audio codec: [pcm] afm: pcm (Uncompressed PCM)
==========================================================================
AO: [coreaudio] 22050Hz 1ch s16le (2 bytes per sample)
Starting playback...

Attachments (1)

iv50.diff (845 bytes) - added by rectalogic@… 9 years ago.
reinit out_fmt after mpcodecs_config_vo

Download all attachments as: .zip

Change History (4)

comment:1 Changed 9 years ago by reimar

Hm, it definitely still works for me on Linux.
Also looking at the output I can't see how r30645 could have made a difference...
Any kind of additional information you could provide?
E.g. starting with which revision reverting r40645 alone is no longer enough?
Or could it be some random failure depending on e.g. the compiler links MPlayer together or something?
(btw. I assume you are aware that you can play the video using FFmpeg's codecs if you need to, just remove the ir50_32.dll for that - but of course it would be better to fix this).

Changed 9 years ago by rectalogic@…

reinit out_fmt after mpcodecs_config_vo

comment:2 Changed 9 years ago by rectalogic@…

Reverting r30645 against r30646 works. Reverting it against r30647 and beyond fails.

mpcodecs_config_vo() can change sh->outfmtidx, so it seems like the initialization of the local var out_fmt needs to come after mpcodecs_config_vo() so it will use the possibly changed format. Reinitializing out_fmt after calling mpcodecs_config_vo() fixes the problem for me. Patch against HEAD attached.

comment:3 Changed 9 years ago by reimar

  • Resolution set to fixed
  • Status changed from new to closed

Should be fixed by r30824 in a very slightly different way, thanks.

Note: See TracTickets for help on using tickets.