View Full Version : LAV Filters - DirectShow Media Splitter and Decoders
asasadad_1
4th October 2011, 12:18
here is CoreAVC,same frame as above。
http://i52.tinypic.com/10yo303.jpg
ForceX
4th October 2011, 12:30
That doesn't seem like a deinterlacing issue, more like decoder is totally failing. Even with Weave with CUVID or non-cuvid decoder and Haali's renderer I don't get a messed up pic like that. Are you sure CoreAVC is actually using CUDA acceleration? Does turning off the Aggressive box or setting it to Weave do anything?
naoan
4th October 2011, 12:31
I'm having com surrogate error when opening folder with fraps recorded video in explorer.
here's the windows error log :
Problem signature:
Problem Event Name: APPCRASH
Application Name: DllHost.exe
Application Version: 6.1.7600.16385
Application Timestamp: 4a5bca54
Fault Module Name: LAVVideo.ax
Fault Module Version: 0.36.0.0
Fault Module Timestamp: 4e8493f0
Exception Code: c0000094
Exception Offset: 000000000000594b
OS Version: 6.1.7601.2.1.0.256.1
Locale ID: 1033
Additional Information 1: d922
Additional Information 2: d92207d2a4a1b409e3a2744294fff7df
Additional Information 3: 926c
Additional Information 4: 926c967ce4a735d8dc23ea60fea415d7
Read our privacy statement online:
http://go.microsoft.com/fwlink/?linkid=104288&clcid=0x0409
If the online privacy statement is not available, please read our privacy statement offline:
C:\Windows\system32\en-US\erofflps.txt
CruNcher
4th October 2011, 13:16
I played that sample in mpc-hc,paused-play-go to-frame(3118, 59.940),how about the image?
btw,my video card is Geforce 8500GT,but no problem with CoreAVC.
So it plays normal but you get that problems only when seeking directly compared to CoreAVC ?
That would be a accurate seek issue then and that's quiet possible to be more stable in CoreAVC i guess :)
FFmpeg is generally not suited for such frame accurate seeking (playback ok, everything that goes into precision editing no go), there is this project https://github.com/lbrandy/ffmpeg-fas
http://libav-users.943685.n4.nabble.com/Frame-accurate-seeking-on-H-264-video-streams-td946549.html
In those regards i wish Donalds Parser would find it's way into Lav Splitter it's so damn accurate :)
Yep i get exactly the same artifact issues also with ffdshow-quicksync when using the goto function of MPC-HC you just have to hit the wrong frame and boom ;)
CoreCodec cares a lot about this as they are used in such editing scenarios and need to be precise as much as possible for their clients, even in formats that are not really designed for editing @ all.
Though their is some stuff going on in FFmpeg with a Seek API it might be getting better in the future so :)
ForceX
4th October 2011, 13:40
It is not an FFmpeg issue if he's using CUVID.
I don't really watch interlaced material, but the only time I remember seeing corruption like that is when using madVR decoder to decode an interlaced h.264 file, but amusingly, the corruption only happened arbitrarily when I seeked. It'd give messed up picture like that and continue until I seek again.
Actually I just reproduced it with this sample: http://www.mediafire.com/?njnk9zijvq23m6i with LAV Video, but only using software mode. Can't reproduce using asasadad_1's file, though.
nevcairiel
4th October 2011, 14:04
To increase seeking speed i don't send frames through the deinterlacer if they have a negative frame time (iow. before the seek point). This can mean that the temporal information for the deinterlacer is just not present, and it results in those artifacts.
I can certainly try to lift that restriction, but i don't consider frame accurate seeking important. I write software for playback, not for editing. Sorry. :p
Actually I just reproduced it with this sample: http://www.mediafire.com/?njnk9zijvq23m6i with LAV Video, but only using software mode. Can't reproduce using asasadad_1's file, though.
sounds like a general ffmpeg problem with receiving the fields in the wrong order or something.
CruNcher
4th October 2011, 14:10
It's more complex then that in Lav Splitter, Lav Video ffmpeg plays a essential role here :)
nevcairiel
4th October 2011, 14:12
If all he changed is LAV Video (in CUVID mode) with CoreAVC (also in CUDA mode), and not changing anything else, how does ffmpeg matter? :P
CruNcher
4th October 2011, 14:19
you have 2 options to implement parser and decoder or a good mix of both, as CoreCodec can't control all the time the parser side (except with Halli) and H.264 gives you a convenient way and tools over the bitstream they implemented it on the decoder side (before it reaches the DSP nvcuvid) The behavior is always consistent doesn't matter if you use DXVA,CUDA or Software :)
Calibro
4th October 2011, 15:54
Hi
I recently discovered this promising splitter+decoders but am having difficulties making it work. I just can't get MPC-HC to connect to LAV Splitter or the LAV Audio Decoder :O
I have followed this guide "http://www.mediasmartserver.net/2011/06/30/guide-setting-up-lav-filters-mpc-hc-for-all-your-splitter-and-audio-needs/" but without luck. I'm a noob at this, but would think that I should be able to at least get the splitter/decoders working.
After encountering this problem I started tryng other decoders than AC3Filter (which I've always used), such as FFDShow Audio Decoder, but MPC-HC keeps igoring even these attemps and defaults back to some "AVI<->AC3/DTS" when AC3Filter is unchecked?? When I change which filters to use I add them to the external filters section in MPC-HC and set them as prefer. But this refuses to do the trick.
Please enlighten a lost sole :)
To note: I want to use the Audio decoder to bitstrem/decode DTS/DTSHD to my receiver. I have a Geforce GT 430 video card, and I get bitstreaming to work perfectly in TMT5.
naoan
4th October 2011, 16:06
Just realized that seeking MKV files (haven't tested other) is very slow with lavsplitter...
SEt
4th October 2011, 16:41
I think hardware deinterlacer uses only 1-2 previous frames, so sending them on seek should not affect speed in noticeable amount.
naoan
4th October 2011, 16:53
No uh, I don't have nvidia card so it's all softwares. Also the slowness came with very excessive cpu usage, as can be seen here :
with lavsplitter :
http://i.imgur.com/dtIFb.png
with haali :
http://i.imgur.com/2aoWC.png
using same video (reencoded fraps footage, mkv container using x264)
is this a bug or by design? :confused:
STaRGaZeR
4th October 2011, 17:27
No, there are seeking issues and nevcairiel already knows about them. But if you have a small sample where the problem is easily reproducible, please share it :)
naoan
4th October 2011, 17:33
Well sure, just give me a minute, but are there easy way to enable/disable splitter? mpc-hc external filters doesn't seem to be working for it.
Calibro
4th October 2011, 17:37
but are there easy way to enable/disable splitter? mpc-hc external filters doesn't seem to be working for it.
+1
I can't even get Lav Splitter to work no matter what I try.
How do I disable Haali and enable Lav?
kennae
4th October 2011, 17:42
Why do I think 80% of the "problems" people have is about seeking? Seeking works just fine. Or is it such a big deal if it takes a second? Maybe it would be if people had to use seek all the time every day but it's a feature that shoudn't be needed usually. When you close MPC-HC it saves where you were in the file and starts from there the next time you open MPC-HC.
Maybe I just don't get AD/HD, ADD, people who has to seek all the time for some weird reason.
Just focus on real problems and new features is my opinion.
naoan
4th October 2011, 17:53
Why do I think 80% of the "problems" people have is about seeking? Seeking works just fine. Or is it such a big deal if it takes a second? Maybe it would be if people had to use seek all the time every day but it's a feature that shoudn't be needed usually. When you close MPC-HC it saves where you were in the file and starts from there the next time you open MPC-HC.
Maybe I just don't get AD/HD, ADD, people who has to seek all the time for some weird reason.
Just focus on real problems and new features is my opinion.
It takes about 5 to 10 second upward or so actually. It doesn't affect all files, and it could be considered a bug since haali doesn't exhibit this behavior, it's also a big deal if you're working on editing video.
Anyway, I'm uploading the affected file to mediafire, but it would be long... since I have a very slow connection.
Strange thing I noticed : This is a WIP video with no audio, but once I mux the audio, seeking works fine. :confused:
nevcairiel
4th October 2011, 17:55
Thanks for uploading the problematic file, make sure to let us know when its done, and i'll look into it soon.
Calibro
4th October 2011, 18:35
Ok so I've gotten the Audio filter working now :)
How do I decode a DTSHDMA-track and send as PCM to my receiver?
Thanks for this amazing decoder btw =)
naoan
4th October 2011, 20:39
Here's the affected video : http://ifile.it/g2tijvn
I have other videos (with no audio) which is affected by the seeking bug as well but this particular one is noticeable slower/more cpu intensive.
nevcairiel
4th October 2011, 20:51
Here's the affected video : http://ifile.it/g2tijvn
I have other videos (with no audio) which is affected by the seeking bug as well but this particular one is noticeable slower/more cpu intensive.
Thanks, i'll be working on some seeking improvements soon.
naoan
4th October 2011, 21:00
Also, another bug report : fraps video support is borked (crashing mpc-hc & explorer) on 0.36, was fine on 0.35. Thought you might want to know. :)
nevcairiel
4th October 2011, 21:03
Also, another bug report : fraps video support is borked (crashing mpc-hc & explorer) on 0.36, was fine on 0.35. Thought you might want to know. :)
But thats bad news, why would i want to get bad news? ;)
Actually, i just tried, and i can't reproduce any issues. I suppose it may have been fixed already again...
Maybe try with this build?
http://files.1f0.de/lavf/LAVFilters-0.36-cuvid-sync.zip
naoan
4th October 2011, 21:16
Maybe think of it as early bug report :p
Yes, it's not crashing and able to show thumbnail on explorer, but it still crashes on mpc and potplayer.
http://i.imgur.com/Xt7ac.png
http://i.imgur.com/TnsgY.png
nevcairiel
4th October 2011, 21:41
I found the issue, i think. Thanks for the report.
Here is an updated build:
http://files.1f0.de/lavf/LAVFilters-0.36-38-g5f94c09.zip
naoan
4th October 2011, 22:25
That was fast :eek:
Yeah, it's working fine now, thanks! :thanks:
rica
4th October 2011, 22:41
Hi nev,
as far as i remember Lav video didn't include lav CUVID feature on previous versions?
On the other hand MadVR doesn't support DXVA decoding yet.
In this case if i use lav splitter > Lav Video > MadVR, what happens?
Does it mean MadVr will not use CUDA feature of Lav Video?
A little bit confused.
In other words: Are Lav Cuvid and Lav Video still different decoders? Or they are same anymore?
TheShadowRunner
4th October 2011, 23:50
rica, that's the beauty of CUDA, it's active even when using madVR or any other renderer or even when having vsfilter in the graph.
DXVA doesn't allow that, but CUDA does!
LAV CUVID has just been integrated in LAV Video.
rica
5th October 2011, 00:46
rica, that's the beauty of CUDA, it's active even when using madVR or any other renderer or even when having vsfilter in the graph.
DXVA doesn't allow that, but CUDA does!
LAV CUVID has just been integrated in LAV Video.
Thanks dude!
hoborg
5th October 2011, 13:13
Deleted.
My mistake :)
CruNcher
5th October 2011, 13:42
rica, that's the beauty of CUDA, it's active even when using madVR or any other renderer or even when having vsfilter in the graph.
DXVA doesn't allow that, but CUDA does!
LAV CUVID has just been integrated in LAV Video.
You can do it via DXVA1/2 to see Potplayer (DXVA2) or VLC (DXVA2) also roozhous DXVA copy ffdshow test implementation (DXVA1), it wont just be the performance of it as you have the copy overhead same as for nvcuvid or MediaSDK :) if you want the uber Performance (lightest on resources,maximum power saving) their is no way around DXVA1/2 (direct no copy) on all Windows :).
If you want additional flexibility and render independence on all Windows versions you can use either the Hardware specific APIs (most of the time best choice) Nvidia (nvcuvid), AMD (OpenVideo) or DXVA1/2 (yes 1 seems also possible see roozhous test implementation) Intels MediaSDK is the only one bound to a NT 6 requirement. Though as said all the Hardware solutions have drawbacks you need a Software Decoding fallback to compensate those (also depending on the System Setup and Playback Scenario itself) :)
Now if you really clever you go 1 step further ;) and use for 8 bit and supporting streams (reference limit) all the time DXVA (supporting renderer with Hardware PP and additional PP possibility either via Software or PS) and then go down as with the Streams requirements so for 10 bit you chose the Software route (MadVR,EVR-CP) and for problematic DXVA you decide between the Vendor API and Software route :)
Though no Player today implements it this efficient and dynamic ;)
nand chan
5th October 2011, 17:47
Now if you really clever you go 1 step further ;) and use for 8 bit and supporting streams (reference limit) all the time DXVA (supporting renderer with Hardware PP and additional PP possibility either via Software or PS) and then go down as with the Streams requirements so for 10 bit you chose the Software route (MadVR,EVR-CP) [...]
ffdshow can do this if I'm not mistaken, it can use DXVA (with its own renderer) for 8-bit content and software (libav) for 10-bit etc.
PeQuE
5th October 2011, 18:10
Hi nevcariel,
I've uploaded a video (in fact, recorded mpeg2 TV .ts) that Lav Video is failing at deinterlacing from time to time.
http://dl.dropbox.com/u/15222696/MP_20111005_18-05_Bar%C3%A7a%20TV_Temps%20de%20joc.%20La%20Lliga.ts
As a side comment, Win7 MS DVB included codec for MPEG2 is also failing the same way, while Cyberlink (9 & 11) Video/SP Decoder is doing it well.
Hope you can take a look.
Thanks a lot!
nevcairiel
6th October 2011, 07:09
LAV Filters 0.37
LAV Splitter
- Improved handling of failures on the output pins
- Improved VC-1 in EVO timestamps
LAV Audio
- Added support for dynamic channel count changes in AAC
- Implemented support for sample format conversions
- Implemented Audio Delay options
- Disabled the WMA codecs by default
- Improved Bitstreaming data flow
LAV Video
- Fixed cropping of VP6 video
- New SSE2 YUV420 -> YUV422 converter
- Performance enhancements in the CUVID decoder on some systems
- Fixed playback with the XP Overlay Mixer
- Fixed a crash when decoding RGB video (Fraps, etc)
Download: Installer (both x86/x64) (http://files.1f0.de/lavf/LAVFilters-0.37.exe) -- Zips: 32-bit (http://files.1f0.de/lavf/LAVFilters-0.37.zip) & 64-bit (http://files.1f0.de/lavf/LAVFilters-0.37-x64.zip)
Some random remarks:
- LAV Splitter will now no longer completely stop playback if for example audio decoding fails, instead it'll just stop sending audio, but keep video going.
- The AAC channel changes are only known to work with LAV Splitter, because of the special way the AAC ADTS metadata has to be preserved and not stripped off like all other splitters do it.
- WMA is now off by default because the decoders are behaving rather oddly, and i would suggest using the MS decoders for it.
- The XP Overlay Mixer seemed to work for me, as well as some other guy, but who knows if it still needs more fixes.
Anyhow, i'll be out until Sunday, so behave! :)
Have fun with these.
PeQuE
6th October 2011, 07:22
Audio Delay!!! I think it's time to let Lav Audio go into my system finally! :)
Thanks a lot.
PD: I'll repost above video when you come back then... I'm sure it will go deep in the thread history very quicky.
nevcairiel
6th October 2011, 08:07
I downloaded and stored it somewhere, i just have to remember to check it. :)
Chillgurke
6th October 2011, 08:28
Thx for this Update ....
naoan
6th October 2011, 08:33
I really hate to inform you this, but lavsplitter still more or less the same as the one before, pausing for a while with high cpu usage for video with no audio (like on the sample that I uploaded before).
No problem with lavvideo and audio though :D
nevcairiel
6th October 2011, 08:36
Did you read anything in the changelog regarding seeking? No? Right! :)
I dont have the resources to fix everything immediately, but it is high on the list and should be handled some time soon.
naoan
6th October 2011, 08:36
Seems I misunderstood this
- LAV Splitter will now no longer completely stop playback if for example audio decoding fails, instead it'll just stop sending audio, but keep video going.
Sorry :(
nevcairiel
6th October 2011, 08:40
That only applies if there is actually audio that can fail. :)
PeQuE
6th October 2011, 10:27
I downloaded and stored it somewhere, i just have to remember to check it. :)
Ok.Then I won't bother you again after holiday... :P
BTW, I'm very curious in what happens to that piece of video.
SEt
6th October 2011, 10:57
Audio delay in decoder is wrong. It's video renderer's job to compensate for display lag.
nevcairiel
6th October 2011, 11:02
Name one renderer that does it. :P
Besides, most of the lag is introduced outside of the pc, which means you need to configure it anyway, and delaying audio is what people expect to do, not change it in the video renderer. Its not like its a complicated feature, it just adds a offset to the timestamps.
SEt
6th October 2011, 11:15
At least mine own renderer does it.
You expect user to apply the delay in all audio decoders and change everything if output is redirected to other screen? Not nice at all.
I thought your stance was "do it right regardless of existing broken code". >_>
PeQuE
6th October 2011, 11:24
@SEt, you're right. ALL my audio needs 150 ms of delay to match video, due to image processing inside my Samsung Led TV, so best would be to be able to configure it regardless of the audio decoder used (in renderer, obviously)... but nevcariel also has it... There's no popular audio renderer that you can apply a delay to.
nevcairiel
6th October 2011, 11:24
No-one forces you to use it, if another component does it for you. :)
The point is, that feature does not hurt anything, even if its not the best way to handle it. Its like 4 lines of code (excluding options), and people want it because their other components can either not do it, or cannot be exchanged by something that can, so i don't see the harm.
The quote you posted does apply, however not doing something extremely simple like this just because is also silly.
kennae
6th October 2011, 12:23
Still cant use LAV Audio, no idea why. Got it registered and even used the installer. It is the only one in MPC-HC's filter list but still FFDshow Audio Decoder comes and rules LAV out. I even have set FFDshow's merit to low in it's own settings. Cant think any reason it does this. I bet it's not your filters fault, just saying.
YES!! Got it working at last! I dont know how, but I removed ffdshow audio decoder and processor from the list, then opened file and lav audio got loaded. After that put audio processor back and now I finaly have lav audio as decoder and ffdshow audio processor only for mixer. No idea why it was this hard. I have tried all these before but now it just worked. Damn i'm happy! :)
roytam1
6th October 2011, 14:14
Still cant use LAV Audio, no idea why. Got it registered and even used the installer. It is the only one in MPC-HC's filter list but still FFDshow Audio Decoder comes and rules LAV out. I even have set FFDshow's merit to low in it's own settings. Cant think any reason it does this. I bet it's not your filters fault, just saying.
YES!! Got it working at last! I dont know how, but I removed ffdshow audio decoder and processor from the list, then opened file and lav audio got loaded. After that put audio processor back and now I finaly have lav audio as decoder and ffdshow audio processor only for mixer. No idea why it was this hard. I have tried all these before but now it just worked. Damn i'm happy! :)
Normally if you want to use other (Video/Audio) decoder than ffdshow, you have to change the merit to "Normal" in ffdshow.
vBulletin® v3.8.11, Copyright ©2000-2025, vBulletin Solutions Inc.