View Full Version : LAV Filters - DirectShow Media Splitter and Decoders
Blight
10th March 2013, 17:17
nev:
You have previously said you will never include any post-processing features into the audio/video decoder,
but would you ever consider exposing ffmpeg's post-processing capabilities into a separate post-processing filter with an intuitive API?
A good optimized software implementation of the following would be really cool:
* Image Rotation
* Color Controls (Contrast/Brightness/Hue/Saturation/Gamma)
* Non-Linear scaler converting 4:3 content to 16:9
* Software DeInterlacing
Please consider :)
dukey
10th March 2013, 17:29
EVR can do most of that, non linear stretches, brightness etc
Blight
11th March 2013, 02:41
dukey:
I'm looking to establish backward compatible fill-ins for partially supported or non-existant hardware tech.
And EVR can't do rotation as-is, and with all the people making videos side-ways, it would be nice to have a real-time software solution.
Mercury_22
11th March 2013, 13:08
@ Nev
Any chance you can add support for playing Blu-ray / DVD from ISO ?
Other filters (AV Splitter :p) and players already support ISO
nevcairiel
11th March 2013, 13:10
Any chance you can add support for playing Blu-ray / DVD from ISO ?
No, there are no plans for this.
wanezhiling
11th March 2013, 15:27
ISO playback is a feature of the splitter, indeed.
But nev has no plans for this.
terence_13
11th March 2013, 20:45
ISO playback is a feature of the splitter, indeed.
But nev has no plans for this.
Without starting a philosophical discussion, ISO support is a feature of a virtual drive software, and not of a Splitter. Admit it: you want it in a Splitter just for convinience reasons ;-)
RealSnoopyDog
13th March 2013, 08:11
100% agree to nev and terence! Software architecture is the key word....
MarkT
13th March 2013, 13:12
I guess I was using 1.1.0.0 after all cause it was the least buggy at the time, is that still the case?
dtsdecoderdll.dll 1.1.0.1 (929792 bytes, MD5 sum 6cf9be730abceab942d2e5d0cd578bf5) together with msvcp80.dll and msvcr80.dll in same directory is the best because most bug free for that purpose.
Compare http://forum.doom9.org/showpost.php?p=1508746&postcount=3888
nevcairiel
13th March 2013, 13:25
I don't know of any real-world 6.0 stream, so 1.1.0.8 is fine for me. 2.1 content is broken with 1.1.0.1, so which type of stream is more common? I don't know. :)
Use whatever you have at hand, although i would avoid 1.1.0.0 because of the differences in lossy decoding.
nx6
14th March 2013, 06:48
Without starting a philosophical discussion, ISO support is a feature of a virtual drive software, and not of a Splitter. Admit it: you want it in a Splitter just for convinience reasons ;-)
I wonder if Windows 8 could handle it since it supports mounting ISOs on its own now...
nevcairiel
14th March 2013, 07:56
Windows 8 can mount BD ISOs just fine, so that could be made to work for you if you run it.
DragonQ
14th March 2013, 13:44
I wonder if Windows 8 could handle it since it supports mounting ISOs on its own now...
I'd hoped this would remove the need for mounting software but, alas, Windows 8 can only mount ISO files, not other formats (e.g. MDS/MDF).
nevcairiel
14th March 2013, 13:53
People still rip into proprietary formats? Well, their loss.
DragonQ
14th March 2013, 16:38
Not sure if it's still true now but back in the day it was the only way to rip some discs. I have a few rips of my game CDs/DVDs that did not work properly as ISOs but did as MDS/MDF.
Pepp
15th March 2013, 01:09
Option Use Microsoft WMV9 DMO decoder WMV3 and VC-1 ?
Can you guys help someone that has difficulty learning ? :o :embarrassed:
Is this option like VC-1 just for WMV type files and can MPC-HD with lav filters play these files without any windows DMO codecs or the inbuilt mediaplayer that comes with windows?
Thankyou
vhs.d9
15th March 2013, 01:14
KB2670838 http://support.microsoft.com/kb/2670838
This update greatly improves h264 dxva decoding.
Before this update, I had (laptop with Intel i5 HD graphics) to switch between lav and Microsoft h264 dxva decoder,
because some encoded movies were not dxva supported with a LAV(only software decoding or with older version of it
buggy decoding - author know what I'm talking about).
Wit a Microsoft video decoder I was able to play those files(dxva worked) that lav did not supported but it failed with
many movies(buggy decoding black tiny squares...).
With this update all problem were resolved.
Now I use lav for everything except for h264.
nevcairiel
15th March 2013, 08:31
(only software decoding or with older version of it buggy decoding - author know what I'm talking about).
No i don't.
DXVA2 with recent Intel GPUs (Sandy and Ivy Bridge) should be perfect these days, you should try more recent versions of LAV.
If you encounter any files that do not play properly, please report them, instead of doing rather vague statements about it.
I haven't exactly tried the MS decoder after the update, but i would bet it still simply falls over when you try to play 10-bit content, and has no grafeul fallback to software like LAV has.
itsonlyjustincase
15th March 2013, 11:01
Microsoft h264 dxva decoder
I don't see that thanks to win7dsfilter. Where did you get that ?
vhs.d9
15th March 2013, 16:41
No i don't.
DXVA2 with recent Intel GPUs (Sandy and Ivy Bridge) should be perfect these days, you should try more recent versions of LAV.
If you encounter any files that do not play properly, please report them, instead of doing rather vague statements about it.
I haven't exactly tried the MS decoder after the update, but i would bet it still simply falls over when you try to play 10-bit content, and has no grafeul fallback to software like LAV has.
I hava Arrandale series processor(1st generation of core i5)
test video:https://mega.co.nz/#!pkUTSbpK!dIgbAXlWc0jF60Ok2UWmqzGfn6xqRs2VyS5v8dyoTj8
Microsoft decoder doesnt support 10bit input
nevcairiel
15th March 2013, 17:01
I hava Arrandale series processor(1st generation of core i5)
test video:https://mega.co.nz/#!pkUTSbpK!dIgbAXlWc0jF60Ok2UWmqzGfn6xqRs2VyS5v8dyoTj8
I see, yeah well that file uses 12 reference frames, which is intentionally blacklisted in LAV because some pre-SNB/IVB GPUs fail with those clips. I don't know if it affects Arrandale, or only earlier models, but since i don't have access to every level of hardware like a company like Microsoft has, thats really hard to determine which clips really work, and which don't.
Microsoft decoder doesnt support 10bit input
And that is exactly the problem. If you play a 10-bit file now, the MS decoder will try to decode it, will fail, and all you get is black.
Newstech
16th March 2013, 03:12
KB2670838 http://support.microsoft.com/kb/2670838
This update greatly improves h264 dxva decoding.
Unfortunately, 2670838 is bug-ridden, particularly on laptops. I just uninstalled it for the second time yesterday, which rolled me back to IE9. In Firefox and some other apps I was getting blocks of blurry type that would clear up as mouse pointer rolled over them. Much venting over on MS boards.
wanezhiling
16th March 2013, 03:52
Here is a L5.1 & Ref16 (http://www.sendspace.com/file/xbgmjv) clip, tested on Pentium P6200 (http://ark.intel.com/products/50176/Intel-Pentium-Processor-P6200-3M-Cache-2_13-GHz) (Arrandale) with latest 2993 (http://downloadcenter.intel.com/Detail_Desc.aspx?lang=eng&changeLang=true&DwnldId=22520) driver.
MS DXVA (KB2670838 patched), PotPlayer DXVA, CyberLink DXVA, ArcSoft DXVA, CoreAVC DXVA and MPC-BE DXVA worked fine.
MainConcept, MPC-HC and LAV fell back to SW.
nevcairiel
16th March 2013, 07:53
Like i said its very well possible that LAV is too strict, but sadly i don't have an Arrandale to check.
The funny part is, that even on Sandy/Ivy such clips would break if you use the old decoding interface (used in LAV before 0.54.1)
If you have Arrandale to test, i can try to remove that limitation for Arrandale and you can check if it works. But it'll be a while, need some more generic testing after the big ffmpeg update, going to post a test build for that first.
nevcairiel
16th March 2013, 08:21
As mentioned just one post above, its test build time.
There are no big new features in this version (yet!), but ffmpeg changed quite a lot, which is also what i was busy with lately, helping those changes along.
You will note that the names of the avcodec and avformat dlls have changed, from -54 to -55, because of the major version bump in ffmpeg.
32-bit: http://files.1f0.de/lavf/LAVFilters-0.55.3-21-g00c5f80.zip
64-bit: http://files.1f0.de/lavf/LAVFilters-0.55.3-21-g00c5f80-x64.zip
The YADIF crash people experienced should also be fixed in this version.
What big new thing did the new ffmpeg version bring us?
Well, the most important part is that its now much more flexible how the frames can be handled which come out of the decoder, which should give a small performance boost once the new features are being used (not yet), especially if dealing with YADIF deinterlacing.
Anyhow, any feedback on this build or your own from current Git would be appreciated.
PS:
Initial tests after further development show that h264i+YADIF or mpeg2i+YADIF (both software decoding) gain a speed up of up to 20%. Plain decoding is in the area of 1-2% faster, so not really note-worthy.
DragonQ
16th March 2013, 11:52
Like i said its very well possible that LAV is too strict, but sadly i don't have an Arrandale to check.
The funny part is, that even on Sandy/Ivy such clips would break if you use the old decoding interface (used in LAV before 0.54.1)
If you have Arrandale to test, i can try to remove that limitation for Arrandale and you can check if it works. But it'll be a while, need some more generic testing after the big ffmpeg update, going to post a test build for that first.
I have an Arrandale in my work laptop so I help can test this when you have time to release a test version.
What big new thing did the new ffmpeg version bring us?
Well, the most important part is that its now much more flexible how the frames can be handled which come out of the decoder, which should give a small performance boost once the new features are being used (not yet), especially if dealing with YADIF deinterlacing.
Long shot but could this change also make frame-accurate seeking in programs like TS-Doctor work?
RealSnoopyDog
16th March 2013, 11:58
Live TV (H.264 720p and 1080i) with DVBViewer is completely broken with this build. With Intel Quicksync i see squares in the lower part of the screen and with DXVA (native) it hangs. Playing back videos still works.
The last official version(s) work.
nevcairiel
16th March 2013, 12:07
Long shot but could this change also make frame-accurate seeking in programs like TS-Doctor work?
This has nothing whatsoever to do with seeking.
nevcairiel
16th March 2013, 12:30
Live TV (H.264 720p and 1080i) with DVBViewer is completely broken with this build. With Intel Quicksync i see squares in the lower part of the screen and with DXVA (native) it hangs. Playing back videos still works.
The last official version(s) work.
I can confirm the QuickSync issues, not sure whats broken there.
However, DXVA seems fine here. I had a crash on channel change which i fixed just now, but otherwise it seems fine.
I'll investigate QuickSync and then post a new build.
nevcairiel
16th March 2013, 13:00
Ok here is a new build.
32-bit: http://files.1f0.de/lavf/LAVFilters-0.55.3-25-g7e99e1e.zip
64-bit: http://files.1f0.de/lavf/LAVFilters-0.55.3-25-g7e99e1e-x64.zip
Fixes:
- Fixed a crash in DXVA2 when changing channels in DVBViewer (and possibly other cases)
- Fixed video corruption in QuickSync in DVBViewer (and possibly other cases)
In addition to the fixes above, this build also integrates some of the performance enhancements possible with the updated ffmpeg. I've measured up to 20% increase in overall performance with software decoding and YADIF, 10% with DXVA2-CB and YADIF, and 1-2% for only software decoding (still something!), possibly a bit more for single-threaded decoders.
There is still some potential here, so lets see!
noee
16th March 2013, 13:18
Seems solid so far on my limited testing (SD and HD film material, h264(software) and VC1(dxva2 native). Not sure if it's placebo, but it seems that seeking is faster/smoother with madVR now....
Win7 ult, HD6570, JRiver MC18
Mercury_22
16th March 2013, 13:39
Some mpeg2 channels are crashing in DVBViewer now
Hope this helps :)> LAVVideo.ax!CDecBase::Decode(IMediaSample * pSample) Line 73 C++
I don't think it matters but I'm using VS2012
EDIT tested with your build too and it's still crashing so it doesn't matter :)
nevcairiel
16th March 2013, 14:14
Some mpeg2 channels are crashing in DVBViewer now
Hope this helps :)> LAVVideo.ax!CDecBase::Decode(IMediaSample * pSample) Line 73 C++
That line isn't saying much, its just the call to the abstract decoding function, and mpeg2 channels work fine for me.
Which decoder is this using?
PS:
Here is a full debug built, get me a proper stack trace or .dmp file, please :)
http://files.1f0.de/lavf/LAVFilters-0.55.3-26-g1a8672d-debug.zip
Mercury_22
16th March 2013, 14:49
That line isn't saying much, its just the call to the abstract decoding function, and mpeg2 channels work fine for me.
Which decoder is this using?
PS:
Here is a full debug built, get me a proper stack trace or .dmp file, please :)
http://files.1f0.de/lavf/LAVFilters-0.55.3-26-g1a8672d-debug.zip
It's crashing only in NATIVE CB and SW are not crashing
http://xbmclogs.com/show.php?id=4760
nevcairiel
16th March 2013, 15:14
It's crashing only in NATIVE CB and SW are not crashing
http://xbmclogs.com/show.php?id=4760
The LAV logs don't help with crashes, i need a crash dump .dmp file or at least a stack trace from visual studio.
One thing i saw, it creates frames in the resolution 480x576, that seems rather odd, or is that normal for these channels?
Edit:
you can also try latest git, i rewrote some more parts of dxva2 to use the new ffmpeg mechanisms.
Mercury_22
16th March 2013, 15:43
The LAV logs don't help with crashes, i need a crash dump .dmp file or at least a stack trace from visual studio.
One thing i saw, it creates frames in the resolution 480x576, that seems rather odd, or is that normal for these channels?
Dump file (http://www.multiupload.nl/3TY0LDWCNT)
As for normal I assume yes the other channels which are NOT crashing with native are the "normal" 720x576 The 640x576 are crashing too
P.S. I'm using this version of DVBViewer (http://ftp.terratec.de/Receiver/DVBViewer/)
nevcairiel
16th March 2013, 16:04
Did you try latest Git if anything changed?
Mercury_22
16th March 2013, 16:08
Did you try latest Git if anything changed?
Yes still crashing in native with those channels
P.S. I can give you remote access if you want.
PM me
nevcairiel
16th March 2013, 16:15
I managed to reproduce it by tricking the code a bit, lets see whats going on here now =)
Mercury_22
16th March 2013, 16:19
I managed to reproduce it by tricking the code a bit, lets see whats going on here now =)
Great I just hope it's not an ATI DXVA thing :p
nevcairiel
16th March 2013, 16:47
Great I just hope it's not an ATI DXVA thing :p
The problem started because the video size changed, DVBViewer claimed it was 720x576, and then the acutal video was 480x576.
Try latest Git, or this build:
32-bit: http://files.1f0.de/lavf/LAVFilters-0.55.3-28-g509ea5f.zip
64-bit: http://files.1f0.de/lavf/LAVFilters-0.55.3-28-g509ea5f-x64.zip
Mercury_22
16th March 2013, 16:52
The problem started because the video size changed, DVBViewer claimed it was 720x576, and then the acutal video was 480x576.
Try latest Git, or this build:
32-bit: http://files.1f0.de/lavf/LAVFilters-0.55.3-28-g509ea5f.zip
64-bit: http://files.1f0.de/lavf/LAVFilters-0.55.3-28-g509ea5f-x64.zip
No more crashing :thanks:
SeeMoreDigital
16th March 2013, 18:37
Try latest Git, or this build:
32-bit: http://files.1f0.de/lavf/LAVFilters-0.55.3-28-g509ea5f.zip
64-bit: http://files.1f0.de/lavf/LAVFilters-0.55.3-28-g509ea5f-x64.zip
Great work.... I seem to be able to play 1920x1080p50 AVClossless with PCM audio much better with these new builds.
Many thanks
Im2bz2p345
16th March 2013, 19:50
Hi nevcairiel,
I am using hoborg's codec pack called "SAF": http://forum.team-mediaportal.com/threads/saf-v6-based-on-lavf.95635/
I have SAF 6.1.5 installed, which utilizes LAV 0.53
Below is my problem that hoborg was unable to help me resolve and recommended that I post here:
I have a DTS audio (.wav) files that I am unable to play through media player classic aka "MPC-HC" (have SAF v6.1.5 installed) when I output via SPDIF. There seems to be no DTS signal being passed to my receiver. I want to be able to output the digital format via SPDIF for my receiver to handle the DTS signal.
If I change the output to play through my PC speakers (2.1 sound) and I play the DTS audio (.wav) file through MPC-HC, it works fine. Not sure why LAV is having difficulty passing through the DTS audio track (via SPDIF) to my receiver.
Here is a screenshot of how the audio file renders in Graph Studio: http://img.photobucket.com/albums/v36/Im2bz2p345/dtsproblem_zps09ad1097.jpg
Here is a sample DTS track (20 MB): http://www.mediafire.com/?77gdw097y75c9y9
How do I go about playing these DTS audio tracks (.wav) so that they output digital data?
The weird part is that I have many MOVIES with DTS tracks and those output the signal to my receiver file. Those use ffdshow DXVA Video Decoder. It's just stand alone DTS AUDIO tracks (without video) that I am having trouble with because they go through LAV Audio Decoder. I tried changing the file extension of the wav files to .mkv, .mp4, .mpeg, etc. to see if they would work, but they still use the LAV Audio Decoder.
Here is a screen of my LAV audio configuration settings: http://img.photobucket.com/albums/v36/Im2bz2p345/lavsettings_zps6d0ccd3b.png
I know there is AC3Filter (http://ac3filter.net/) which works with regular Windows Media Player, but I don't want to install it because I fear that it will screw up with my SAF audio configuration with MPC-HC.
Thanks,
~ Im2bz2p345 :)
nevcairiel
16th March 2013, 19:55
Here is a sample DTS track (20 MB): http://www.mediafire.com/?77gdw097y75c9y9
This file plays just fine for me.
Im2bz2p345
16th March 2013, 20:02
This file plays just fine for me.
Thanks for the quick response nevcairiel!
Is it playing fine for you in DTS? Is your receiver showing the DTS signal?
I can only get the file to play correctly through my PC speakers (2.1 audio format), not pass the uncompressed digital audio through my SPDIF cable and play actual DTS through my receiver.
Thanks,
~ Im2bz2p345 :)
nevcairiel
16th March 2013, 20:08
Yes, i can bitstream it as DTS over SPDIF.
You should check in your windows audio device properties that both the checkboxes for DTS and Dolby Digital are checked, as well as at least 48000 Hz and 44100 Hz, otherwise it may not work.
Like this:
http://images.gammatester.com/pics/b9c163aa993c096781abb9e6ef862608.png
DTS-WAV tracks typically use 44100 Hz, and DTS tracks in movies usually are 48000 Hz, so both need to be enabled.
STaRGaZeR
16th March 2013, 20:52
Fraps got a lot slower on these builds, like if it were using 1 thread only, no other problems so far!
karoloydi
16th March 2013, 21:38
I d like to pick your mind on something. I have a 4 speaker surround setup at home. Would it be better to use the LAV filters Mixer to downmix to 4 speakers? Or use my pro audio soundcard's mixer to downmix to 4 speakers? Or there's no difference?
nevcairiel
16th March 2013, 22:23
Fraps got a lot slower on these builds, like if it were using 1 thread only, no other problems so far!
I'm not sure could be slower, however the Fraps decoder right now does not output "repeat" frames, i still have to redesign that patch after some significant ffmpeg changes, so it might appear to produce less fps.
vBulletin® v3.8.11, Copyright ©2000-2025, vBulletin Solutions Inc.