View Full Version : LAV Filters - DirectShow Media Splitter and Decoders
nevcairiel
1st June 2011, 08:06
E-AC3 is limited to 48kHz anyway.
I'm not sure if ffmpeg supports decoding 7.1 E-AC3. I have never seen such a track. Only 7.1 E-AC3 i have are those Blu-ray tracks, which are a whole different beast, and not used in real-life.
For DTS
- 1.1.0.0 works fine for all formats
- 1.1.0.7 is broken on Mono and 6.0
- 1.1.0.8 is only broken on 6.0
So 1.1.0.0 is the best, however 6.0 is a really rare format (and 6.1 works fine again), so in 99% of the cases, 1.1.0.8 will be fine as well.
1.1.0.7 is from TMT3.185, 1.1.0.8 comes with TMT5, 1.1.0.0 is from TMT2, i think.
Note that 1.1.0.0 needs some special setup if you're using Win7, as it requires the 2003 edition of the MS C runtime, which does not have an installer for Win7, for some reason (msvcr71.dll and some other dll)
Andy o
1st June 2011, 08:39
oh, I'm on Win 7 and I put 1.1.0.0 in the LAV folder, but haven't tested it yet, just assumed it worked right off the bat.
nevcairiel
1st June 2011, 08:48
You need to get msvcr71.dll and msvcp71.dll and put them in the System32/SysWOW64 folder (on 32-bit or 64-bit systems respectively). You can google for those, multiple places to obtain them should show up.
Andy o
1st June 2011, 08:51
thanks, will try that.
Andy o
1st June 2011, 09:15
Hmm for some reason I already had those files in the SysWOW64 folder, I think PowerDVD and/or TMT installs them.
nevcairiel
1st June 2011, 09:26
Yeah some software obviously installs them there. Having only TMT5 installed didn't provide them, though.
jmone
1st June 2011, 12:18
nevcairiel - IMHO it looks LAVSplitter and LAVAudio have pretty well reached a stable V1 stage with "Planned Features" down to:
- Improved BluRay support (Title selection from within the player) : this would be great and I presume requires both the exposing of the runtime IF for players to use (as with LAVAudio)
- Audio Up/Downmixing : I know others are keen but for some (eg MC'ers) we already have the DSP functions we can use
If you are feeling "bored" and looking for suggestions ;) to put all that talent too I'm sure a similar clean approach for a ffmpeg LAVVideo style directshow filter would be welcomed by all! I know you have hinted at such a possible project but I certainly know that getting Video Decoding with good De-Interlacing and Subs is still the bane for many.
Thanks again for all your work on LAVFilters to date they really have made a great leap forward in usability for high quality HTPC use.
nevcairiel
1st June 2011, 12:21
Video Decoding with good De-Interlacing and Subs is still the bane for many.
As i've mentioned before, subtitles is not something the video decoder should be doing. In a perfect world, the renderer would blend the subs on top of the rendered video in its full target resolution and color space. So any Video Decoder i would write will most likely not support subtitles.
For deinterlacing - implementing something like yadif would certainly be nice, but we'll have to see if that is in the cards.
jmone
1st June 2011, 12:26
So in theory, say there was a LAVVideo + Deinterlacing (and YADIF if the best of the de-interlacers offered in FFDSHOW IMO) what filter (if any) existis that could be used to render the Subs or would this be something that would need to be added to an existing Video Renderer (eg say by madshi to madVR for example)?
nevcairiel
1st June 2011, 12:34
There is two approaches to subtitles.
Either, you have a dedicated subtitle parser/renderer, which renders the subs onto a plain surface, and the video renderer just takes that surface and then blends it over the final video image. This is how its basically done in MPC-HC when using the internal renderer, in combination with EVR-CP, madVR and some other compatible renderers. But sadly, the MPC-HC implementation is not really portable, and you cannot make it a stand-alone.
The second approach would be that the video renderer takes care of subtitles completely, this however would mean it only works with that specific renderer.
jmone
1st June 2011, 12:50
Thanks - posted on the JR MC beta forum to see if they have any interest in adding this to MC
SamuriHL
1st June 2011, 13:47
Man I hope so. Cause right now with the state of MC16 I don't have subs working at all. :( ffdshow raw video filter causes errors as I don't think it got properly added to the whitelist. Since I use LAV CUVID on my nVidia machine, I'm pretty much resigned to not using MC16 until it's fixed.
RobertinoM
1st June 2011, 14:22
I think nev has said that the dtsdecoder.dll from TMT2 works best (1.1.0.0 IIRC). For DD+, it's highly unlikely that you'll need to decode 7.1 any time soon, so I'd say just use LAV audio to decode that. Nev said he's not having trouble using the ASAudioHD.ax from TMT5, but I am, so you can test yourself. But I think that Arcsoft ASAudioHD.ax downsamples (I might be wrong bout that). So, you either are limited to 16/48, or you have problems after seeking into the file, when using the older .ax. Me, if I need DD+ 7.1, I can just bitstream (for the first time with ATI cards, with LAV audio).
Just to figure out clearly
in other posts it was always mentioned "just drop dtsdecoder.dll into LAV install folder" but this sounds more like
take the Arcsoft-files, register ASAudioHD.ax and add. drop the
dtsdecoder.dll into the folder....
can sombody please make a clear statement about needed files??
regards robertino
hoborg
1st June 2011, 14:23
Just to figure out clearly
in other posts it was always mentioned "just drop dtsdecoder.dll into LAV install folder" but this sounds more like
take the Arcsoft-files, register ASAudioHD.ax and add. drop the
dtsdecoder.dll into the folder....
can sombody please make a clear statement about needed files??
regards robertino
just drop dtsdecoder.dll into LAV install folder :D
SamuriHL
1st June 2011, 14:29
To clear this up once and for all....is everyone paying attention? :)
FOR DTS-HD MA decoding, ALL you need to do is drop the dtsdecoderdll.dll in the LAV folder. PERIOD! No AX, no registering, no fruitcake settings.
FOR ANY OTHER DECODING SUCH AS EAC3, you must register the AX file and use that in your player of choice. You will need to disable EAC3 decoding/bitstreaming in LAV Audio (assuming you use LAV Audio at all in that scenario). And you will need to add fruitcake settings.
But as has been said before, what's the point of that? What does doing the fruitcake settings and all that nonsense gain for you? Nothing. Use LAV Audio and the dtsdecoderdll.dll and you're covered in every real world case you're going to encounter. No hassle.
RobertinoM
1st June 2011, 15:44
As I prefer a system with only a few necessary codecs
I LOVE LAV Filter as actually evereything on my system is working like a charm..
so again a big THANK YOU NEV for this gift.
Robertino
jimwhite
1st June 2011, 16:31
Hopefully the last question about the Arcsoft files.... what are "fruitcake settings" ????
:confused:
SamuriHL
1st June 2011, 16:34
If you don't know what they are, then you don't need to know. :) For those that do, it refers to the idea that you have to screw with win.ini to make the channel setting stick when using the registered ax filter. I call it fruitcake settings cause it's really an ugly hack. It works, but, it's insane. Nev's solution doesn't require that nonsense.
.... what are "fruitcake settings" ????
:confused:
win.ini :devil:
BloodySword
1st June 2011, 16:37
As i've mentioned before, subtitles is not something the video decoder should be doing. In a perfect world, the renderer would blend the subs on top of the rendered video in its full target resolution and color space. So any Video Decoder i would write will most likely not support subtitles.
For deinterlacing - implementing something like yadif would certainly be nice, but we'll have to see if that is in the cards.
ffdshow already has Yadif included. If you place the Subtitle filter after the deinterlacer, you're happy!
Even if it is not in any card.
Carpo
1st June 2011, 17:16
Would it be possible nevcairiel, in a future release of LAV to allow it to find the required arcsoft dlls from a path in the PATH option under the system variables, i only ask this as eac3to complains i don't have the required files in its folder, and when i do put them there and register the .ax file there, LAV doesn't see it.
Unless i am doing it wrong ;)
SamuriHL
1st June 2011, 17:19
Would it be possible nevcairiel, in a future release of LAV to allow it to find the required arcsoft dlls from a path in the PATH option under the system variables, i only ask this as eac3to complains i don't have the required files in its folder, and when i do put them there and register the .ax file there, LAV doesn't see it.
Unless i am doing it wrong ;)
You are. :) If it's not in the LAV directory, it'll search the system path for it. So, add your eac3to folder to the path and it SHOULD, in theory, find it. If it doesn't, there could be a bug.
Carpo
1st June 2011, 17:21
eac3to is already there, i will test about a bit more, installed TMT5 earlier and then copied the whole codecs folder out, why have the whole thing installed when you just need a few things from it :p
SamuriHL
1st June 2011, 17:23
Is it in a SUB folder of the eac3to folder or at the same level as the exe? Cause the path would require it to be in the directory that's in the path, not a sub folder under it. If that makes any sense.
Carpo
1st June 2011, 17:24
nope, its int eh same folder as the .exe - prob something i have done, have been cleaning up the pc lately :sly:
SamuriHL
1st June 2011, 17:27
LOL! :) Well, it should be picking it up then afaik. I just took the one dll and dropped it into the LAV folder and called it good. I use TMT5 on episode discs anyway, so, it's not a big deal for me. I suppose I could see if it found it in the TMT dir. :D
robpdotcom
1st June 2011, 17:29
Could you not just copy the dll, and place it in both directories?
SamuriHL
1st June 2011, 17:30
Well that's what I do, but, I think he's trying to avoid having it in multiple places.
Carpo
1st June 2011, 17:32
when i did that LAV wouldn't pick it up, i had to register the .ax files too (as i dont need to have TMT5 installed as i use XBMC, although i own TMT5, i just bought it for the files ;) ), and if i did that in both places, one would pick it up but the other wouldn't, so i did just that, re-registered and its finding it in the eac3to folder now as its saying dca under status, guess all the copying about i got confused or did something else wrong.
All is well now :)
SamuriHL
1st June 2011, 17:36
You do NOT NEED TO REGISTER THE AX for LAV to use the dll. It only needs to find the DLL in the path and it uses it. It's as simple as that. You confused things by registering it all over the place. :)
nevcairiel
1st June 2011, 18:00
Here is the logic how pathes are searched, in this order: (from MSDN)
1. The directory from which the application loaded.
2. The directory where LAVAudio.ax resides
3. The system directory. (The name of this directory is System32.)
4. The 16-bit system directory. (The name of this directory is System.)
5. The Windows directory.
6. The directories that are listed in the PATH environment variable.
Carpo
1st June 2011, 18:13
Seems all is ok since i removed all the left overs from previous installs and tests, i have a clean image of my windows 7 drive so i may run that and start from fresh :)
SamuriHL
2nd June 2011, 04:04
Hey Nev...TiVo files. Is there any chance that LAV Splitter could add support for them? I don't know much about the format, but, when I try to use LAV Splitter it doesn't work. In fact it crashes MPC-HC and with MC16 (it tries to force LAV Splitter at the moment) it just gives me garbled video no matter what decoder I use. My TiVo files contain MPEG2 video and AC3 audio and are very likely a sort of TS container. If you need a sample, let me know. Thanks!
EDIT:
Ok, I just learned a bit more about this whole crazy TiVo thing. They have a TiVo DirectShow Source Filter that MUST be used to open the TiVo file. That's because they're encrypted. Once that happens, feeding the output from TiVo DirectShow Source Filter into LAV Splitter works fine and you can go from there. It does crash MPC-HC, though, to try to use the TiVo filter. No idea on that one. Anyway, I think JR will fix MC16 given the info I gave them so that it'll use the TiVo filter to open and decrypt the file and then feed it into LAV Splitter. I think we're good. If you want any more info on this let me know.
Carpo
2nd June 2011, 08:07
Slightly OT, when using reclock with LAV splitter+audio (and LAV CUVID) is there anything i need to change in reclock or is it best to leave it on the default settings?
iSeries
2nd June 2011, 21:48
Hi,
I'm experiencing some odd behaviour with the latest LAV Audio and Arcsoft 1.1.0.8. LAV Audio properties say input is 6 channels but output is 7 channels? Where is this extra channel coming from?
SamuriHL
2nd June 2011, 22:09
Check the LAV Audio properties page. There's an option to expand 6 channels to 7. Make sure it's not checked if you don't want that behavior.
iSeries
2nd June 2011, 22:15
Hi,
That option is not checked. It seems a movie will start out correctly, 6 channels in and 6 out, but at some point during playback an extra channel is getting added to the output.
EDIT: Although there is a 7th channel being introduced during playback, it seems to be silent?
SamuriHL
2nd June 2011, 22:17
Interesting. I'd say give Nev as much information about the situation as possible to work with and see what he or someone else says.
iSeries
2nd June 2011, 22:33
Here's the input pin:
Filter : LAV Audio Decoder - CLSID : {E8E73B6B-4CB3-44A4-BE99-4F7BCB96E491}
- Connected to:
CLSID: {171252A0-8820-4AFE-9DF8-5C92B2D66B04}
Filter: LAV Splitter
Pin: Audio
- Connection media type:
Audio: DTS 48000Hz 6ch 1536kbps
AM_MEDIA_TYPE:
majortype: MEDIATYPE_Audio {73647561-0000-0010-8000-00AA00389B71}
subtype: Unknown GUID Name {00002001-0000-0010-8000-00AA00389B71}
formattype: FORMAT_WaveFormatEx {05589F81-C356-11CE-BF01-00AA0055595A}
bFixedSizeSamples: 1
bTemporalCompression: 0
lSampleSize: 256000
cbFormat: 18
WAVEFORMATEX:
wFormatTag: 0x2001
nChannels: 6
nSamplesPerSec: 48000
nAvgBytesPerSec: 192000
nBlockAlign: 12
wBitsPerSample: 16
cbSize: 0 (extra bytes)
pbFormat:
0000: 01 20 06 00 80 bb 00 00 00 ee 02 00 0c 00 10 00 . ..€»...î......
0010: 00 00 ..
And here's the output pin:
Filter : LAV Audio Decoder - CLSID : {E8E73B6B-4CB3-44A4-BE99-4F7BCB96E491}
- Connected to:
CLSID: {18C16B08-6497-420E-AD14-22D21C2CEAB7}
Filter: Audio Switcher
Pin: Audio
- Connection media type:
Audio: WAVE_FORMAT_EXTENSIBLE 48000Hz 7ch 5376kbps
AM_MEDIA_TYPE:
majortype: MEDIATYPE_Audio {73647561-0000-0010-8000-00AA00389B71}
subtype: MEDIASUBTYPE_PCM {00000001-0000-0010-8000-00AA00389B71}
formattype: FORMAT_WaveFormatEx {05589F81-C356-11CE-BF01-00AA0055595A}
bFixedSizeSamples: 1
bTemporalCompression: 0
lSampleSize: 14
cbFormat: 40
WAVEFORMATEX:
wFormatTag: 0xfffe
nChannels: 7
nSamplesPerSec: 48000
nAvgBytesPerSec: 672000
nBlockAlign: 14
wBitsPerSample: 16
cbSize: 22 (extra bytes)
WAVEFORMATEXTENSIBLE:
wValidBitsPerSample: 16
dwChannelMask: 0x0000013f
SubFormat: {00000001-0000-0010-8000-00AA00389B71}
pbFormat:
0000: fe ff 07 00 80 bb 00 00 00 41 0a 00 0e 00 10 00 þÿ..€»...A......
0010: 16 00 10 00 3f 01 00 00 01 00 00 00 00 00 10 00 ....?...........
0020: 80 00 00 aa 00 38 9b 71 €..ª.8›q
- Enumerated media type 0:
Audio: WAVE_FORMAT_EXTENSIBLE 48000Hz 6ch 6912kbps
AM_MEDIA_TYPE:
majortype: MEDIATYPE_Audio {73647561-0000-0010-8000-00AA00389B71}
subtype: MEDIASUBTYPE_PCM {00000001-0000-0010-8000-00AA00389B71}
formattype: FORMAT_WaveFormatEx {05589F81-C356-11CE-BF01-00AA0055595A}
bFixedSizeSamples: 1
bTemporalCompression: 0
lSampleSize: 18
cbFormat: 40
WAVEFORMATEX:
wFormatTag: 0xfffe
nChannels: 6
nSamplesPerSec: 48000
nAvgBytesPerSec: 864000
nBlockAlign: 18
wBitsPerSample: 24
cbSize: 22 (extra bytes)
WAVEFORMATEXTENSIBLE:
wValidBitsPerSample: 24
dwChannelMask: 0x0000003f
SubFormat: {00000001-0000-0010-8000-00AA00389B71}
pbFormat:
0000: fe ff 06 00 80 bb 00 00 00 2f 0d 00 12 00 18 00 þÿ..€».../......
0010: 16 00 18 00 3f 00 00 00 01 00 00 00 00 00 10 00 ....?...........
0020: 80 00 00 aa 00 38 9b 71 €..ª.8›q
Andy o
3rd June 2011, 02:05
Check the LAV Audio properties page. There's an option to expand 6 channels to 7. Make sure it's not checked if you don't want that behavior.
That's for the LAV decoder, not the Arcsoft one. Arcsoft will expand 6.1 into 7.1, duplicating the back channel, same as it does with TMT.
SamuriHL
3rd June 2011, 02:07
That's for the LAV decoder, not the Arcsoft one. Arcsoft will expand 6.1 into 7.1, duplicating the back channel, same as it does with TMT.
Oh, right, you're right. :stupid: This is what happens when I make replies when I'm not feeling well. :D
Andy o
3rd June 2011, 02:08
Here's the input pin:
q
Is this a 6.0 stream? Nev has said that 1.1.0.8 has a problem with 6.0 streams (6.1 is good though). Use 1.1.0.0 (from TMT2) and the dlls he mentioned one or two pages back and see if that helps.
nevcairiel
3rd June 2011, 06:35
That's for the LAV decoder, not the Arcsoft one. Arcsoft will expand 6.1 into 7.1, duplicating the back channel, same as it does with TMT.
Thats not true anymore. If you don't want that to happen (iow you don't tick Expand 6.1 to 7.1), it won't do that anymore.
On the original issue, for some reason it introduced a back center channel. Are you sure the file is actually 5.1 and not 6.0 ?
Jasch
3rd June 2011, 08:32
So far new Version is working great, seeking VC1, x264 MKV HD content works like a charm.
Only downside, i still getting some Problems with Media FPS on some Files.
Lav reporting 23FPS should be 25.(MPC reports 25).
I have uploaded a small sample, maybe its helping you sorting this out.
http://www.megaupload.com/?d=C9XZM47Z
THX Alex
iSeries
3rd June 2011, 11:02
Hi,
It's definitely 5.1 - and there is definitely LFE output, and like I said playback starts out correctly - 5.1 in and 5.1 out. However at some point during playback a 7th channel is introduced, however this channel appears to be completely silent (and after more testing seems to be happening with everything I've played with a DTS-HD soundtrack). I'll try with 1.1.0.0. EDIT: Tried with 1.1.0.0 - same problem!
EDIT 2 - Solved by unticking 'Convert output to standard channel layouts'. Now correctly plays 5.1 in and 5.1 out.
ID : 4352 (0x1100)
Menu ID : 1 (0x1)
Format : DTS
Format/Info : Digital Theater Systems
Format profile : MA
Muxing mode : Stream extension
Duration : 1h 31mn
Bit rate mode : Variable
Channel(s) : 6 channels
Channel positions : Front: L C R, Side: L R, LFE
Sampling rate : 48.0 KHz
Bit depth : 16 bits
nevcairiel
3rd June 2011, 12:15
EDIT 2 - Solved by unticking 'Convert output to standard channel layouts'. Now correctly plays 5.1 in and 5.1 out.
That doesn't solve the problem, you just avoid it.
You should produce a log file, run the debug build of LAV Audio that comes in the zip.
iSeries
3rd June 2011, 12:20
Yes you are correct, avoiding a problem isn't the same as solving it :-) So it could be a problem with that particular option?
I'll get you a log file.
blahism
3rd June 2011, 20:18
Nev,
Are you still planning to introduce Media Foundation splitting? I would love to ditch the DivX mkv splitter as soon as possible! (Required to play back on Xbox 360 media center extenders without transcoding/remuxing back to avi..)
nevcairiel
3rd June 2011, 20:21
Planning, sure, for some distant future. I have no real need for it, and its basically a new splitter, not simply some added feature.
CruNcher
3rd June 2011, 20:41
Also what are the real benefits of Media Foundation compared to Dshow, except that Dshow hell has been reduced for the AVG consumer i see none that makes it interesting, also applications learned to live in that problematic space encapsulating themselves from the Public Graph Building to unique closed Private Graph Building that made them very unproblematic over the last Dshow decade for Avg consumer. :)
vBulletin® v3.8.11, Copyright ©2000-2025, vBulletin Solutions Inc.