View Full Version : LAV Filters - DirectShow Media Splitter and Decoders
Reino
6th April 2014, 12:18
nevcairiel, as of v0.61.0 LAV Splitter crashes here on certain files. I first thought it to be a player issue, but it even immediately crashes when I open certain files in GraphStudioNext (where it tries to load LAV Splitter and both Decoders).
http://www.ld-host.de/uploads/images/ab48c3fa8397ace924898fe4bad03ccd.png
(and always the same location number)
I've uploaded 2 samples:
GoT.S01E00.Sample.mkv (http://www.mediafire.com/download/7sm7fonaucx4deh/GoT.S01E00.Sample.mkv) (6.66MB) - no problem loading.
GoT.S01E01.Sample.mkv (http://www.mediafire.com/download/ngmk5meiad97g5u/GoT.S01E01.Sample.mkv) (10.02MB) - immediate crash.
With v0.60.1 I didn't have this issue, neither with "MPC-BE Matroska Source" + "LAV Video Decoder"/"MPC-BE Video Decoder"
Despite comparing MediaInfo sheets of these files, I just can't find the source of this problem.
I know your standpoint on old hard- and software, because it might as well be a WinXP/old cpu issue, but I'd appreciate it if you could take a look nontheless.
nevcairiel
6th April 2014, 12:37
When you run it in MPC-HC, does it produce a crash dump? That might be helpful to find out in which part of the code it happens.
Let me guess, your CPU does not do SSE2?
Most likely a SSE2 instruction slipped into SSE code somewhere, which happens occasionally since there is no good way to test for this - without running it on hardware where it would crash.
SeeMoreDigital
6th April 2014, 13:34
Strange... the "immediate crash sample" provided appears to be working okay for me using v0.61.1: -
http://i62.tinypic.com/97ld9f.png
Reino
6th April 2014, 13:36
Yes it does: MPC-HC.1.7.3.72.exe.1.7.3.72.dmp (http://www.degeelebosch.nl/reino/MPC-HC.1.7.3.72.exe.1.7.3.72.dmp)
No SSE2 indeed:
http://www.ld-host.de/uploads/thumbnails/7f5cc4e69eb996d248c1af220dc50d0f.png (http://www.ld-host.de/uploads/images/7f5cc4e69eb996d248c1af220dc50d0f.png)
I guess I'm one of the few people nowadays that's still satisfied with their current pc and don't feel the need to upgrade. Except video-editing/encoding, everything else I can still do on my Athlon XP rig. I have to admit though, my WinXP is a highly tweaked nLite (http://www.nliteos.com/nlite.html) version, which runs significantly better/faster/smoother than the default one. This has certainly postponed the need to upgrade.
But slowly I encounter more and more situations where I wish I had a faster pc. I think the moment GPUs support DXVA for H.265 I'm going to buy a new pc. :sly:
SeeMoreDigital, that's probably because it's a SSE2-issue
nevcairiel
6th April 2014, 15:44
Is the crash dump using my official LAV build? It doesn't seem to want to share its secrets with me (which only works on my official builds)
Reino
6th April 2014, 16:03
How about this one: mpc-hc.exe.1.7.3.201.dmp (http://www.degeelebosch.nl/reino/mpc-hc.exe.1.7.3.201.dmp)
I downloaded the latest MPC-HC build and removed the "LAVFilters" directory in order for the standalone LAVFilters (v0.61.0) to be used.
nevcairiel
6th April 2014, 16:13
That works better, thanks.
I also identified the offending instruction, it is like I assumed, a SSE2 instruction made its way into SSE. Its a sneaky case as well, as this instruction can be used to copy data from memory to a register in SSE, but if you want to use the same instruction for register to memory, its SSE2 .. easy error to run into. Same instruction, different parameters cause it to become SSE2-only..
DragonQ
6th April 2014, 16:22
But slowly I encounter more and more situations where I wish I had a faster pc. I think the moment GPUs support DXVA for H.265 I'm going to buy a new pc. :sly:
I feel ya, I hate the "upgrade bug" and try to avoid where I can. I've only upgraded my main PC three times in the nearly 5 years I've had it: replaced the GPU (RMA, free), installed an SSD, then replaced the GPU again this week since it was dying.
Your motherboard and CPU are even older though so, like you said, you'll eventually encounter problems relating to architecture. Fortunately I haven't had any problems with my CPU's lack of AVX but I'm sure I will eventually.
In your case though, even the most budget setups would be much faster than your current one and support all the latest instruction sets. It'd cost less than £100 to get a motherboard/CPU combination to best yours, although you'd probably need new RAM too.
nevcairiel
6th April 2014, 18:02
Here is a new binary for testing:
x86: http://files.1f0.de/lavf/LAVFilters-0.61.1-21-g39cc540.zip
x64: http://files.1f0.de/lavf/LAVFilters-0.61.1-21-g39cc540-x64.zip
It should fix the SSE crash, as well as contain all previous fixes discussed here since 0.61.1
Specifically, it fixes AviSynth with DSS when DSS loads LAV again.
It also contains some stability improvements for DXVA2-CB, specifically for an issue that caused a crash or at the very least dropped frames when a resolution change in the video occurs.
I may release this version soon as 0.61.2
Reino
6th April 2014, 19:22
It's fixed. Thanks a lot! But out of interest, can you explain why, unlike the 2nd sample, the 1st sample didn't crash?
The hover info should be fairly easy to do, I'll try to remember on a rainy day.Had any rainy days yet? ;)
NikosD
6th April 2014, 19:27
Using the above x86 latest build with DXVA Checker and MPC-HC, all of my last and final problems (I have no other samples with problems!) seem unresolved.
1) Artifacts during playback and seeking (both CPU & DXVA) with this clip (http://www.sendspace.com/file/9p8xa0)
2) No decoding at all (both CPU & DXVA) with DXVA Checker using this clip2 (ftp://helpedia.com/pub/multimedia/x264/testvideos/2010%20-%2009%20-%20DXVA%20benchmarks%20-%20Avivo%20vs%20PureVideo%20vs%20Clear%20Video/test-g1-1.mpg). Possible LAV splitter bug ?
3) Is this (http://forum.doom9.org/showthread.php?p=1671621#post1671621) possible to fix with MPC-HC?
PotPlayer decodes it fine in DXVA.
4) Very slow seeking (out of sync A/V) with both CPU & DXVA with this clip4 (http://www.sendspace.com/file/nvf3l5)
5) Slow seeking with both CPU & DXVA (out of sync A/V) with this clip5 (http://www.sendspace.com/file/zufivj)
6) No problems during normal playback with this clip6 (http://www.techpowerup.com/downloads/530/hd-dvd-demo-1080p-vc-1-ddplus-5-1/mirrors) but when you go back and forth at the initial "black" screen, you will see "ghost" images in both CPU & DXVA especially in MPC-HC
I would appreciate it, if you could test all of the above.
nevcairiel
6th April 2014, 20:20
It's fixed. Thanks a lot! But out of interest, can you explain why, unlike the 2nd sample, the 1st sample didn't crash?
The code in question with the issue was only for a special DTS feature, which I guess the first file may not be using?
Reino
7th April 2014, 09:04
Aha, now I understand. Yes, the first one has AC3 indeed.
Reino
7th April 2014, 14:58
LAV, or rather ffmpeg's AviSynth implementation appears to have an audio-duration bug.
Sample DELAY -192ms(Trim_2.58).avs:
NicAc3Source("D:\Sample DELAY -192ms.ac3").DelayAudio(-0.192)
AudioDubEx(BlankClip(length=Int(1000*AudioLengthF(last)/Audiorate(last)),width=32,height=32,fps=1000),last) #AviSynth v2.58
Trim(0,(1000*40)-1)
ffmpeg.exe -i "D:\Sample DELAY -192ms(Trim_2.58).avs
...
Input #0, avisynth, from 'D:\Sample DELAY -192ms(Trim_2.58).avs':
Duration: 00:00:40.00, start: 0.000000, bitrate: 0 kb/s
Stream #0:0: Video: rawvideo (BGRA / 0x41524742), bgra, 32x32, 1k fps, 1k tbr, 1k tbn, 1k tbc
Stream #0:1: Audio: pcm_f32le, 48000 Hz, stereo, flt, 3072 kb/s
================================================================
avs2pipemod-0.4.1.exe -info "D:\Sample DELAY -192ms(Trim_2.58).avs"
avisynth_version 2.60
script_name D:\Sample DELAY -192ms(Trim_2.58).avs
v:width 32
v:height 32
v:fps 1000/1
v:frames 40000
v:duration[sec] 40.000
v:image_type framebased
v:field_order not specified
v:pixel_type RGB32
a:sample_rate 48000
a:format float
a:bit_depth 32
a:channels 2
a:samples 1920000
a:duration[sec] 40.000
But,...
Sample DELAY -192ms(Trim_2.60).avs:
NicAc3Source("D:\Sample DELAY -192ms.ac3").DelayAudio(-0.192)
AudioTrim(0,1000/25.0) #AviSynth v2.60
ffmpeg.exe -i "D:\Sample DELAY -192ms(Trim_2.60).avs
...
Input #0, avisynth, from 'D:\Sample DELAY -192ms(Trim_2.60).avs':
Duration: 00:00:00.00, start: 0.000000, bitrate: 3044 kb/s
Stream #0:0: Audio: pcm_f32le, 48000 Hz, stereo, flt, 3072 kb/s
================================================================
avs2pipemod-0.4.1.exe -info "D:\Sample DELAY -192ms(Trim_2.60).avs"
avisynth_version 2.60
script_name D:\Sample DELAY -192ms(Trim_2.60).avs
a:sample_rate 48000
a:format float
a:bit_depth 32
a:channels 2
a:samples 1920000
a:duration[sec] 40.000
avs2pipemod uses the official avisynth.dll directly and detects the correct duration.
ffmpeg I believe always expects a videostream upon which it bases the duration and thus fails when there isn't any.
And because LAV is based on ffmpeg, it will also show a duration of 0. The "AVI/WAV File Source"-filter doesn't have this issue and detects the correct duration.
Btw, while the "AVI/WAV File Source"-filter automatically converts its input to 16bit, LAV doesn't and because my soundcard doesn't support 32bit-float, I either need to add ConvertAudioTo16bit() to the avs-script, or manually add the "LAV Audio Decoder" (or "FFDShow Audio Processor") as external filter in MPC-BE/HC, otherwise my soundcard puts out warbled/distorted sound.
Is there a way you can make the "LAV Audio Decoder" automatically load in case the "LAV Splitter" puts out 32bit-float?
nevcairiel
7th April 2014, 15:11
I fixed the audio duration, however regarding the other issue, the splitter is not in charge to control filter loading, and trying to force another filter into the graph is usually quite an disruptive endeavor and would need options to turn it off and whatnot.
It does also seem to load LAV Audio into the graph for me with every AviSynth script.
Reino
7th April 2014, 16:54
Understood, though I don't understand how and why LAV Audio automatically gets inserted on your system. The onboard soundchip on one of my family member's laptop (Win7) supports 32bit-float, so LAV Audio doesn't get, or even needs to be inserted.
Thanks for the duration fix.
clsid
7th April 2014, 20:25
The following sample also has audio problems in AviSynth.
http://www.sendspace.com/file/hudyb4
Audio plays three times normal speed. Splitter outputs 5.1 pcm instead of 2.0 AAC.
nevcairiel
7th April 2014, 20:45
The following sample also has audio problems in AviSynth.
http://www.sendspace.com/file/hudyb4
Audio plays three times normal speed. Splitter outputs 5.1 pcm instead of 2.0 AAC.
Must be a problem in your setup somewhere, plays fine here.
Note that all audio is PCM when it comes out of avisynth, it can't output compressed audio.
nevcairiel
8th April 2014, 15:37
LAV Filters 0.61.2
General
- Installer: The installer does now backup DirectShow registry settings before overwriting them, allowing uninstall to restore them
LAV Splitter
- NEW: Support for ProRes in MKV
- Fixed: Opening AviSynth scripts with LAV Splitter which used DirectShowSource to load LAV Splitter again caused a deadlock
- Fixed: Audio-only AviSynth scripts did not show a duration
- Fixed: Cue Sheets with directives with empty parameters could cause a crash
LAV Video
- Fixed: AVC1 video streams without SPS/PPS in the configuration record did not decode properly
- Fixed: Decoding H.264 streams with a resolution change using the DXVA2 Copy-Back decoder could crash
- Fixed: YUV->RGB conversion produced the wrong output for the last line of odd-height 4:2:2 or 4:4:4 files
LAV Audio
- Changed: LAV Audio offers more alternate output configurations to the audio renderer if the audio renderer refuses our preferred format
- Fixed: Decoding AC3 audio with corrupted audio frames could cause unnecessary format changes to occur and disrupt playback
- Fixed: Decoding DTS audio on a CPU without SSE2 support could crash on some streams
Download: Installer (both x86/x64) (http://files.1f0.de/lavf/LAVFilters-0.61.2.exe) -- Zips: 32-bit (http://files.1f0.de/lavf/LAVFilters-0.61.2.zip) & 64-bit (http://files.1f0.de/lavf/LAVFilters-0.61.2-x64.zip)
Nothing really major to highlight in this release, various fixes and improvements.
Regarding the change in the installer, it'll of course only be able to restore any old settings if you install it on a fresh system. If you had an older version of LAV already installed, it won't be able to restore settings on uninstall again, since they are lost.
I hope it functions as designed. I did run a couple tests and both the backup and the restore seemed to function properly at least.
Anyway, have fun!
clsid
8th April 2014, 18:54
Must be a problem in your setup somewhere, plays fine here.
Note that all audio is PCM when it comes out of avisynth, it can't output compressed audio.Problem is caused by MS DTV-DVD Audio decoder. Forcing LAV as preferred fixes it. Strange thing is that the MS decoder works correctly with regular playback of the same file in GraphStudioNext.
Can you update FFmpeg and add VP7?
You may want to check if a source filter GUID is still valid before restoring a backed up value. An invalid value will break playback with the standard graph builder.
nevcairiel
8th April 2014, 19:03
You may want to check if a source filter GUID is still valid before restoring a backed up value. An invalid value will break playback with the standard graph builder.
Whatever was in the registry before LAV was installed will be restored. I do not plan to add elaborate sanity checks.
manolito
8th April 2014, 19:13
General
- Installer: The installer does now backup DirectShow registry settings before overwriting them, allowing uninstall to restore them
Thanks a lot. Much appreciated... :thanks:
Cheers
manolito
hubblec4
9th April 2014, 10:25
hi nevcairiel
there is a small thing that AV-Splitter handles better then LAV-Splitter.
when i activate the Bluray-function(format) during the install process, i cant select the different editions of the BD.
only the longest edition plays but i cant change it.
AV-Splitter:
shows all avalible editions and with right click on the tray icon you can change the editions.
please implement this AV-Splitter feature in LAV-Splitter.
nevcairiel
9th April 2014, 10:30
I consider this a player feature, and I have no immediate plans for this in LAV. MPC-HC for example lets you choose which title to play from a BD.
hubblec4
9th April 2014, 10:34
I consider this a player feature,....
No, its a Splitter feature.
... and I have no immediate plans for this in LAV.
shame
MPC-HC for example lets you choose which title to play from a BD.
i will try this, thanks.
LAV Filters 0.61.2
Nothing really major to highlight in this release, various fixes and improvements.
Anyway, :thanks: for your work and the new version!
Reino
9th April 2014, 21:55
nevcairiel, thanks for the SSE and AviSynth audio-only fix! v0.61.2 working nicely here.
Aurora13
10th April 2014, 07:09
LAV Filters 0.61.2
[CODE]
- Installer: The installer does now backup DirectShow registry settings before overwriting them, allowing uninstall to restore them
Great job nevcairiel! But why would anyone uninstall LAV filters? :p;):D
kerimcem
12th April 2014, 12:29
ı use msi ge70 gtx 765m card dont work cuvid decoder :(
mark0077
12th April 2014, 12:49
Hi, I remember a few weeks back there was a discussion regarding yadif double frame rate information not being reflected in the output information to the next filter / renderer. I see madshi had some ideas on how it might be achieved. Just wondering is this something that has changed in any recent lav versions? Previous Discussion (http://forum.doom9.org/showpost.php?p=1666191&postcount=17032)
Just for the life of me I can never get lav / yadif double frame rate deinterlacing to play nicely with SVP. ffdshow downstream thinks the frame rate is still the original frame rate (eg 23.976 / 25fps, so tries to bump up to 60fps via SVP, but instead of outputting 60fps, I get 120fps :)
SamuriHL
12th April 2014, 13:22
ı use msi ge70 gtx 765m card dont work cuvid decoder :(
I have a gt70 880m and it works fine for me. Can you be a little more specific other than "don't work"?
Sent from my SM-P600 using Tapatalk
kerimcem
12th April 2014, 13:59
I have a gt70 880m and it works fine for me. Can you be a little more specific other than "don't work"?
Sent from my SM-P600 using Tapatalk
I have three laptob,lenovo z500 740m works well cuvid decoder, msi ge70 gtx 765m not work cuvid decoder..the last driver.win864+madvr+mpcbe+lav No problem in games..
huhn
12th April 2014, 14:08
the msi ge70 is an optimus Laptop, you have to make sure the nvidia gpu is used for the media player not the intel.
is there any reason you need CUVID? else everything is working as intended, you should be able to use quicksync or DXVA both should increase battery life time compared to CUVID.
wanezhiling
12th April 2014, 14:46
http://url.cn/LuqhzT
Can't seek the file
Guest
12th April 2014, 14:50
http://url.cn/LuqhzT
Can't seek the file Link is Chinese and seems to require a login.
huhn
12th April 2014, 15:09
Link is Chinese and seems to require a login.
the left teal/blue square plus a non Chinese caption is all i needed.
and seeking doesn't work. mkv remux and it works.
Guest
12th April 2014, 15:39
It has only a single IDR picture at the start and then just I pictures without recovery points. So, formally, it is not seekable. A filter may choose to treat I frames as seekable, however, as DG tools do (DGAVCDec at one time had an option for it IIRC, while DGDecNV/IM always does). It's formally incorrect, but I have never received any trouble report based on that, although I have been shown a specially created "torture" stream that demonstrates the formal incorrectness.
With this sample, treating I as seekable works fine.
qyot27
12th April 2014, 21:02
I'm only asking because I haven't seen it show up on ffmpeg-devel or libav-devel yet. nevcairiel, could you send the AviSynth audio duration patch upstream? That's pretty much the one remaining thing that was bugging me about the rewritten demuxer.
Dogstar9
14th April 2014, 01:02
MKV and FLV files with H264 video do not play (only audio plays, no video)in wmp12 on 64-bit Windows 8, using LAV splitter. Problem only with 32-bit WMP12 - files play fine if 64-bit WMP12 is chosen. Other MKV and FLV files play normally. Oddly the files play normally if viewed in the preview pane, both 32 and 64 bit explorer windows. I suspect a registry entry is incorrect or missing, but have not been able to find it. Any suggestions?
CarlPig
14th April 2014, 01:57
MKV and FLV files with H264 video do not play (only audio plays, no video)in wmp12 on 64-bit Windows 8, using LAV splitter. Problem only with 32-bit WMP12 - files play fine if 64-bit WMP12 is chosen. Other MKV and FLV files play normally. Oddly the files play normally if viewed in the preview pane, both 32 and 64 bit explorer windows. I suspect a registry entry is incorrect or missing, but have not been able to find it. Any suggestions?
Try MPC-HC or MPC-BE
MPC-HC: http://forum.doom9.org/showthread.php?t=166689
MPC-BE: http://forum.doom9.org/showthread.php?t=165890
vaporizer
14th April 2014, 02:53
MKV and FLV files with H264 video do not play (only audio plays, no video)in wmp12 on 64-bit Windows 8, using LAV splitter. Problem only with 32-bit WMP12 - files play fine if 64-bit WMP12 is chosen. Other MKV and FLV files play normally. Oddly the files play normally if viewed in the preview pane, both 32 and 64 bit explorer windows. I suspect a registry entry is incorrect or missing, but have not been able to find it. Any suggestions?
possibly check your codec and splitter settings with http://www.codecguide.com/download_other.htm#codectweaktool
buttons: "directshow filters", "preferred splitters" and "preferred decoders"
Dogstar9
14th April 2014, 12:07
CodecTweakTool found 2 incorrect registry references to source splitter. Now everything working as it should. Cheers!
Snappy Phoenix
17th April 2014, 16:00
Can someone help me in this thread, I am unable to use the seek bar when playing MKV files using LAV/CUDA, it only works if I use LAV/DXVA:
http://forum.doom9.org/showthread.php?t=170482
Superb
18th April 2014, 00:33
@Nev
I've sent you (via pm) a TS sample which doesn't play smoothly. Bad timestamps?
EDIT:
Jerky playback using the latest madVR (MPC-HC 1.7.4).
Slow playback (~20fps) using custom EVR.
Weird (but best) playback using EVR.
I wonder what causes it.
jkauff
18th April 2014, 03:28
@Nev
I've sent you (via pm) a TS sample which doesn't play smoothly. Bad timestamps?
EDIT:
Jerky playback using the latest madVR (MPC-HC 1.7.4).
Slow playback (~20fps) using custom EVR.
Weird (but best) playback using EVR.
I wonder what causes it.
Are you sure you don't have a damaged source file? Was it ripped from a DVD or is it a DVR capture? What does MediaInfo say about it?
zpfbj0
20th April 2014, 05:54
Bug report:
When playing mpeg2-ts(.ts) video,it will flash once at the beginning of the file. It only occurs when using mpeg2 software decoder. I use potplayer with lav filters.
potplayer+lav software decoder: flash
potplayer+lav hardware decoder: normal
potplayer+potplayer built-in decoder: normal
potplayer+microsoft dtv-dvd video decoder: normal
Ceremony
21st April 2014, 00:30
I recently added a few shared folders as mapped drives. these aren't always available unfortunately (machine they are pointing to is mostly offline).
However, ever since I did this, my player (mpc-be) freezes for a whopping 15 seconds (or more) once I play a file and rely on the lav filters (be it audio, video or splitter). Why does LAV check my network drives (or any drives for that matter) anyway? the whole behavior doesnt make any sense!
starrin
21st April 2014, 03:28
It seems LAV splitter can not process HEVC encoded files well.
When I try to seek in a HEVC encoded file, the player will freeze and the CPU usage will jump to 100%. After a few time (depends on how long I seek, usually 30 seconds for a 10 minutes search), the video will resume and everything will back to normal again.
Other spilitter doesn't have this kind of issue, they just can't locate a key frame and the graphic will be broken for a few seconds.
Helios61
21st April 2014, 07:48
Hi nevcairiel!
Are there any news about mvc coded files? At ffmpeg i've found this posting -> Link (http://lists.ffmpeg.org/pipermail/ffmpeg-devel/2014-February/154015.html)! Is it possible to support this with LAV?
Best regards
Helios
Aleksoid1978
22nd April 2014, 04:10
Hi nevcairiel
bad playback - http://aleksoid.voserver.net/Sample/H264/file.ts in soft/DXVA
ffplay.exe playback normal, Pot playback normal, Microsoft DTV/DVD Video Decoder playback normal.
vBulletin® v3.8.11, Copyright ©2000-2025, vBulletin Solutions Inc.