Log in

View Full Version : LAV Video Decoder crashes when playing i420


tyee
2nd December 2014, 04:18
I have this old 720x480 version of a 3D movie using field sequential encoding and I'm trying to just play it back in mpc-hc v1.7.7 32 bit. Note that the 3D has nothing to do with playback at this point. I will process it later after I get it to just playback. I load the file into an avs script using either directshow or dss2 and both crash the LAV decoder just before it trys to play. I added the ffdshow video decoder to the external filters list and set it to preferred and it plays just fine. Here is the description of the file from mpc-hc properties when ffdshow is playing it -

Video: I420 720x480 29.97fps [V: rawvideo, yuv420p, 720x480]

Any tips on why LAV can't decode it. I don't see i420 in the listing when I bring up the LAV video decoder properties within mpc-hc, the closest to that is v210/v410.

Another note - input bitrate shows as 124 Megabits/sec! Why, I have no idea?

vivan
2nd December 2014, 06:12
Don't use directshowsource, use ffvideosource instead.

Does script containing only
Version().ConvertToYV12 ()
works without crashing?

i420 (http://avisynth.nl/index.php/I420) is the same as yv12, just U and V planes are swapped. That means that LAV will just output it as YV12 without any quality/speed penalties.

720*480*12*30 = 124 Mbps is the bitrate of the raw video (that you're getting from avisynth) that ffdshow tries to "decode".

tyee
2nd December 2014, 08:18
Yes, that script crashes also! So what next?

Asmodian
3rd December 2014, 19:49
Another note - input bitrate shows as 124 Megabits/sec! Why, I have no idea?

The output of Avisynth is raw video, raw I420 720x480 @ (30/1.001) fps is 124291708.3 bps.

If Avisynth is crashing you will need to figure out if Avisynth works, have you tried opening the script in VirtualDub?

tyee
4th December 2014, 09:10
Yes, Virtualdub works fine. I have been encoding with Avisynth for years now and everything has been pretty well perfect. This is the first time something like this has occurred. Looks like no one else has this problem. Strange. Vdub uses vfw doesn't it? I can verify that Vdub under File Information says YV12. YV12 is checked under mpc-hc lav video filter so it should work but it doesn't.

Groucho2004
4th December 2014, 09:26
Yes, that script crashes also! So what next?
Define crash. Any error message?

filler56789
4th December 2014, 09:37
Configure LAV Splitter to NOT handle Avisynth scripts, and see if the problem disappears. If the avisynth checkbox is already unticked, then the actual problem is elsewhere :confused:

the_weirdo
4th December 2014, 11:14
What is your AviSynth version? IIRC, LAV Splitter wasn't compatible with AviSynth 2.5.8 and older. Not sure if this has changed, though.

clsid
4th December 2014, 14:47
That was fixed. It works fine with 2.58 now.

the_weirdo
4th December 2014, 17:00
Good to know then. I've also failed to notice that OP's problem is related to LAV Video instead of LAV Splitter. So the problem is actually something else.

tyee
4th December 2014, 20:37
See crash window image attached. Avisynth version is 2.6. When ffdshow is forced to preferred, it works using LAV splitter. I unchecked avisynth in source filters and crash still happens.

foxyshadis
4th December 2014, 23:21
Exception c0000005 means you're mixing 64 and 32 bit.

Edit: I take that back, I was confusing it with c000007b. c0000005 could be almost anything, but something is corrupting memory, either Avisynth or LAV.

clsid
4th December 2014, 23:33
You are using an old version of LAV. Update to LAV Filters 0.63.

tyee
5th December 2014, 09:09
Good point clsid! I am using 0.63 when I look in mpc-hc video decoder properties but the crash is showing an older version of 0.59.1.26! What could be causing that?

Update - I found an older folder with mpc-hc in there with this older version of lav filters, so I renamed the lav folder and now playback works! Why would the latest version of mpc-hc look in another folder for the lav filters? It must be registered on my system somewhere??

When I view the Filters menu in mpc-hc now to see what filter is being used it says "FFDshow". Yesterday it said AVI Decompressor(I420) but I had ffdshow blocked then for testing, so now it's using ffdshow. This is still not using lav, but we are closer to the problem. It must be registered in the system somehow, yes??

foxyshadis
5th December 2014, 23:58
Since that older version is gone, try reinstalling LAV now. If that doesn't work, it's time to pull out DSF Viewer (http://www.videohelp.com/tools/DSF-MFT-Viewer) and see what's going on.

clsid
6th December 2014, 00:29
AVI Decompressor(I420) means it is using a VFW codec to convert i420 to another pixel format. Windows ships with such a codec by default.

Doing this is fine. No need to use ffdshow instead. Alternatively you could even do the conversion in your AviSynth script.

tyee
6th December 2014, 19:06
Since that older version is gone, try reinstalling LAV now. If that doesn't work, it's time to pull out DSF Viewer (http://www.videohelp.com/tools/DSF-MFT-Viewer) and see what's going on.

After I renamed that older LAV folder of mpc-hc, I changed the merit to "Do not use" for all those LAV filters using DSF Manager then renamed the folder to it's original which basically is doing the same thing, they are now not used. There are no other LAV filters registered in Directshow now. The ones in the latest mpc-hc LAV folder are not registered in my system, is this correct? Doesn't mpc-hc just use the LAV filters in it's LAV folder and ignores everything else if nothing is set in the External Filters window?