Ticket #123 (closed defect: fixed)

Opened 2 years ago

Last modified 4 months ago

Perian 0.5 breaks QuickTime native codecs for AVI containers

Reported by: asbach@ient.rwth-aachen.de Assigned to: astrange
Priority: normal Milestone: 1.1
Component: Perian-Main Version:
Severity: normal Keywords:
Cc:

Description

With Perian 0.5 installed, QuickTime (at least versions 7.1.3 and 7.1.5, testen on PowerPC and Intel) is no longer able to play back or even open certain AVIs (dependent on the Codec) that were exported with QuickTime itself. Removal of the Perian component corrects the problem. This is the same problem that is addressed in Tickets #117 and #96 . We experience this problem for BMP24, BMP32, Cinepak, Indeo and WRAW / BIP.

In addition, some Codec / Fileformat combinations still play with Perian installed, but show decoding artifacts after the last frame. We experience this problem with 3gpp and mp4. After removing the Perian component, the videos play back correctly. Detailed description: the video plays fine but after the last frame, some blocks are replaced by garbage. Jumping to the last frame in QuickTime player leads to correct display, however.

I'll attach a couple of sample files for you to check.

Attachments

ff_MovieImport.c (15.6 kB) - added by Ritsuka on 03/27/07 04:28:16.
avi.patch (0.8 kB) - added by Ritsuka on 03/27/07 04:29:10.
AviImporter 2.patch (1.1 kB) - added by Ritsuka on 03/30/07 07:20:20.

Change History

03/13/07 11:33:25 changed by tick

  • milestone set to Needs Feedback From User.

Samples would definitely help

03/13/07 12:55:48 changed by astrange

03/27/07 04:27:55 changed by anonymous

A simple way to fix this is to pass all the avi that libavformat doesn't understand to the quicktime avi importer. I made a patch that should fix #123 #63 #96 and #117 .

03/27/07 04:28:16 changed by Ritsuka

  • attachment ff_MovieImport.c added.

03/27/07 04:28:50 changed by anonymous

Ops wrong file :|

03/27/07 04:29:10 changed by Ritsuka

  • attachment avi.patch added.

03/30/07 07:17:13 changed by Ritsuka

Hmm there's something strange going on in av_find_stream_info(), even if it complains that it can't found all the codec parameters, if we don't stop the importer the avi will be imported without problems. Maybe it is safe to ignore that message.

03/30/07 07:20:20 changed by Ritsuka

  • attachment AviImporter 2.patch added.

05/24/07 18:08:57 changed by mjhsieh@gmail.com

I am wondering when these patches are going into 1.0beta or 1.0?

07/10/07 13:08:46 changed by grishames

I have also the same problem with MRLE (Microsoft RLE) Codec.

09/26/07 12:31:34 changed by astrange

  • owner set to astrange.
  • status changed from new to assigned.
  • milestone changed from Needs Feedback From User to 1.1.

First part of the patch is OK.

I'm investigating why av_find_stream_info actually fails, just removing an error check isn't good. Returning -1 means an error reading the file, so it's in ff_dataref somewhere.

09/26/07 12:52:03 changed by astrange

wmv9.avi is 24678 bytes, which is less than the 32K buffer.

Reading behavior is different:

---
dr req for 32768 size
dr wide read @ pos 0
dr wide read res 0
dr read 24768 bytes
---
dr req for 32768 size
dr wide read @ pos 0
dr wide read res 0
dr read 24768 bytes
---
dr req for 32768 size
dr wide read @ pos 0
dr wide read res 0
dr read 24768 bytes
---
dr seek 65536 pos 0
---
dr seek 0 pos 24768
---
dr req for 32768 size
dr wide read @ pos 24768
dr wide read res 0
dr read 0 bytes
Perian Codec: [avi @ 0x164d8820]Could not find codec parameters (Video: WMV3 / 0x33564D57, 176x144)

vs

24768=mp_read(0x2b133a0, 0x2895000, 32768), eof:1
mp_seek(0x2b133a0, 0, 65536)
[wmv3 @ 0x8d36b0]Extra data: 16 bits left, value: 401F
mp_seek(0x2b133a0, 0, 65536)

09/26/07 14:32:30 changed by astrange

Oh, it's because we don't register the wmv3 decoder. Patch is probably OK. (dataref_seek shouldn't allow seeks past the end, should it?)

09/26/07 15:46:21 changed by astrange

  • status changed from assigned to closed.
  • resolution set to fixed.

(In [706]) Delegate more AVI codecs to the native decoders. Ignore "Could not find codec parameters" in AVI loading. Modified patch by Ritsuka; closes #123.