Log in

View Full Version : AVISource error: could not decompress frame 0


Midzuki
16th March 2012, 23:46
WTF? :confused: :confused: :confused: :confused: :confused:

I had not met the error mentioned above, until this post by Pat357

http://forum.doom9.org/showthread.php?p=1564626#post1564626

convinced me to move from Avisynth 2.5.8 to the latest alpha 2.6 ......

The NON-problematic file is an AVI :rolleyes: containing "WMV3". DirectShowSource 2.6 alpha still works as it should, but AVISource 2.6 alpha does not like the olde and goode file :mad:

For now, the solution is to return to Avisynth 2.5.8. :cool:

:readrule:

IanB
18th March 2012, 22:55
Just to confirm, you are having a problem with the official "AviSynth 2.6.0 Alpha3 [May 25th]". There was an AviSource bug in the previous Alpha 2 and the derivative MT builds.

If so please upload a short (~100 frames or < 10Meg) sample .AVI that demonstrates the problem.

If you only have large sample .AVI's, use VirtualDub's Tools>Create Sparse AVI... and also using VirtualDub's Tools>Hex Editor open the same .AVI and use the Edit > Extract Segment.. tool to chop out from Address (hex) 0 to Length (hex) 200000 to a new file. Upload both the resulting .sparse file and chopped file. They should contain enough remnant information for me to diagnose the problem without needing a huge upload.

Midzuki
19th March 2012, 03:11
Thanks for the attention, I will upload a sample A.S.A.P.

:thanks:

P.S.: Google had already shown me the same problem already happened in very-old revisions of Avisynth, so ---

--- this is a regression, and
am I the first one to report it? :confused: :confused: :confused:

Midzuki
21st March 2012, 05:29
[ edit Edit EDIT ]

IanB
22nd March 2012, 00:07
Well yes. AviSource in 2.6 tries in order YV24, YV16, YV12, Y41B, YUY2, RGB32, RGB24, Y800, 'Y8 ' and GREY for the codec decompression output format.

The Microsoft WMV 9 vfw codec stupidly replies "Yes sir, I can do YV24 decompression, no problems sir" to the ICDecompressQuery() request. Later when you actually try an ICDecompress() it bleats that it cannot really do YV24 decompression, it lied earlier. Oops!


AviSource in 2.5.8 only tries in order YV12, YUY2, RGB32 and RGB24, so has no problem.

Forcing the decompression format with AviSource("wmv3sample.avi", pixel_type="YV12") works correctly in 2.6.


It seems Microsoft had some plans for WMV 9 to support 4:4:4 compression, but appears it got half knobbled for the VFW version.

IanB
22nd March 2012, 00:45
I am going to add "AUTO" and "FULL" as valid pixel_type's to AviSource().

FULL will try in order YV24, YV16, YV12, Y41B, YUY2, RGB32, RGB24, Y800, 'Y8 ' and GREY.

AUTO will only try in order YV12, YUY2, RGB32, RGB24, Y800, 'Y8 ' and GREY.


Currently the functionality of FULL is the default, when no pixel_type argument is specified.

I might be convinced to make AUTO the default. State your case now!

Midzuki
22nd March 2012, 02:29
Fisrt of all, 10000 :thanks: for the very-useful posts above.

...

Currently the functionality of FULL is the default, when no pixel_type argument is specified.

I might be convinced to make AUTO the default. State your case now!

I think that a slight modification to the error message would be more useful:

could not decompress frame 0 ---

--- setting the pixel_type to "AUTO" or to other values may correct the problem.

Just my 1.99 euros :)