View Full Version : ffdshow tryouts project: Discussion & Development
buzzqw
14th October 2009, 19:22
I don't know : does the nvidia 9400 supports LPCM HD (7.1) through HDMI ?
yes!
i use a direct hdmi connection , i'll test latest build
thanks albai
BHH
nm
14th October 2009, 19:26
I don't know : does the nvidia 9400 supports LPCM HD (7.1) through HDMI ?
GeForce 9400M (mobile, ION) and 9300/9400 (integrated) chipsets do support HDMI 1.3 & LPCM HD, as said. GeForce 9xxx PCIe cards only support S/PDIF and they don't even include an audio chip.
buzzqw
14th October 2009, 19:36
i have integrated 9400
i'll try asap
BHH
madshi
14th October 2009, 19:41
I don't know : does the nvidia 9400 supports LPCM HD (7.1) through HDMI ?
The constraint is to have a HDMI 1.3 output : if the HDMI consists in a DVI link for video and SPDIF for audio this is not possible to output hd audio
HDMI 1.0 already (optionally) supported 7.1 LPCM transport. HDMI 1.3 is not needed for 7.1 LPCM transport, it's only needed for TrueHD and DTS-HD bitstream support.
The NVidia 9300/9400 mainboards can do 7.1 LPCM transport (I'm using that every day), but they are not HDMI 1.3, as far as I know. At least they definitely can't do TrueHD/DTS-HD bitstream.
buzzqw
14th October 2009, 19:49
just teted
i got 8ch pcm, but not bitstreaming
i have checked on audio paasthrough for all audio and checked also use new wavee...
i must have missed something
(registered mpc filter too)
BHH
madshi
14th October 2009, 20:00
i got 8ch pcm, but not bitstreaming
i have checked on audio paasthrough for all audio and checked also use new wavee...
i must have missed something
You can test AC3 and DTS bitstreaming, I guess. But your hardware can't do TrueHD or DTS-HD bitstreaming (unless I'm very much mistaken).
liquidskin76
14th October 2009, 20:58
You can test AC3 and DTS bitstreaming, I guess. But your hardware can't do TrueHD or DTS-HD bitstreaming (unless I'm very much mistaken).
Just checked the NVIDIA site. (http://www.nvidia.co.uk/object/geforce_9300m_gs_uk.html)
In the specs for the 9300m is...
"Full support for HDMI 1.3 allows you to connect to a full HD 1080p HDTV or an HDMI 1.3 display and view the latest Blu-ray high-definition movies"
...so should be ok.
I'm testing now.
@Albain,
Cheers for your efforts on this. As far as i'm concerned if you manage to crack the bitstreaming, i'll be calling you GOD!
SamuriHL
14th October 2009, 21:14
@albain
No change man. I get the same screwed up LPCM audio out of my receiver with this build. New log for your amusement.
http://pastebin.com/pastebin.php?dl=m3ed6e028
liquidskin76
14th October 2009, 21:24
@albain,
With TrueHD passthrough i'm getting LPCM audio to my receiver however i get the same as SamuriHL (crackling audio).
With AC3 passthrough i'm getting LPCM audio on receiver.
With DTS-HD passthrough i get nothing (expected?).
With DTS-HD disabled, the DTS core is showing as LPCM on receiver however it's playing super fast!
No logs as i haven't figured out to enable/retrieve them yet... can someone let me know how to enable them?
Thanks
SamuriHL
14th October 2009, 21:27
DTS-HD MA is not supported yet.
For logs:
http://forum.doom9.org/showthread.php?p=1330982#post1330982
Follow the instructions there. Someone mentioned pastebin.com to me the other day (God bless them!) and I've been using that to post my logs as they've grown in size. Does MPC-HC hang for you after playing a TrueHD track? I have to kill the process as it's completely hung for me.
SamuriHL
14th October 2009, 21:29
It would also be very beneficial to tell us what card you're using and what driver you're using for HDMI audio. For instance, I'm using the ATI HDMI audio driver from the RC7 catalyst 9.10 beta driver on my 5870 card.
liquidskin76
14th October 2009, 21:34
Cheers for the info on the logs SamuriHL.
No, MPC-HC carries on playing ok. I'm on build 1.3.1249.0.
I can't get the modded MPC-HC audio renderer to connect in MonoGram GraphStudio so all my testing is via MPC-HC with the audio renderer changed.
liquidskin76
14th October 2009, 21:39
I'm testing on an Asus AT3N7A-I ION motherboard (overclocked to 2GHz with near silent heatsink fan!), with Nvidia GeForce 9300m chipset and Nvidia audio driver.
Edit: I've got FFDShow configured with the new IEC61937 structure disabled.
SamuriHL
14th October 2009, 21:39
I'm using albain's modified MPC-HC.exe and the renderer. I have a graph I built, as well so I can run quick tests with that. In either one, if I stop it, or it reaches the end, it hangs MPC-HC or GraphStudio. Very trustrating.
SamuriHL
14th October 2009, 21:40
Neat that you're getting results similar to mine. Would be very interesting to compare your debug output to mine and see if there are any differences.
liquidskin76
14th October 2009, 21:52
Switching to albain's mpc-hc version from beta 15 now.
Thanks
SamuriHL
14th October 2009, 21:56
Sweet. Just enable that registry entry and run dbgview and you'll be able to create some logs that will help albain out.
liquidskin76
14th October 2009, 22:26
Logs for TrueHD passthrough... (http://pastebin.com/pastebin.php?dl=m536d5f43).
Logs for AC3 passthrough... (http://pastebin.com/pastebin.php?dl=m4f3cc257).
Logs for DTS-HD passthrough... (http://pastebin.com/pastebin.php?dl=m1c561775). Note: I also get no video.
Logs for DTS passthrough enabled, DTS-HD passthrough disabled, so DTS core is being used... (http://pastebin.com/pastebin.php?dl=m1b093478). Note: Using albains mpc-hc version, the DTS core is playing ok, and is no longer playing super fast.
Unfortunately i haven't got a straight DTS movie backed up to this machine.
So all audio apart from DTS-HD is outputting as LPCM. AC3 and DTS Core are fine, with TrueHD playing however crackling badly.
Playing all my movies from MKV containers by the way (using mpc-hc's mastroska splitter), not from M2TS containers.
Cheers
SamuriHL
14th October 2009, 22:31
Again, leave DTS-HD MA out of this for now. It is known to NOT be supported as of yet. I'm going to take a quick look at your TrueHD passthrough log as I want to compare it to mine.
SamuriHL
14th October 2009, 22:34
TaudioParser::checkOutputFormat : the output sample format (compressed stream to bitstream) Bitstream Dolby True HD is not accepted by the renderer for codec bitstream Dolby True HD
That doesn't look promising. :(
albain
14th October 2009, 22:36
Reviewing the log, things are better but no what I expect.
To summarize, my fix to make FFDShow parse the stream a little more to detect if it is TrueHD or just AC3 is working
However, for each sample transmitted, I send a media type from FFDShow :
00000442 4.30642986 [4844] Format type : FORMAT_WaveFormatEx
00000443 4.30642986 [4844] Sub type : MEDIASUBTYPE_PCM
00000444 4.30642986 [4844]
00000445 4.30642986 [4844] WAVEFORMATEXTENSIBLE :
00000446 4.30642986 [4844] subFormat : KSDATAFORMAT_SUBTYPE_IEC61937_DOLBY_MLP
00000447 4.30642986 [4844]
00000448 4.30642986 [4844] wSamplesPerBlock : 16
00000449 4.30642986 [4844] Valid bits per sample : 16
00000450 4.30642986 [4844]
00000451 4.30642986 [4844] WAVEFORMATEX :
00000452 4.30642986 [4844] wFormatTag : WAVE_FORMAT_EXTENSIBLE
00000453 4.30642986 [4844] Channels : 8
00000454 4.30642986 [4844] Bits per sample : 16
00000455 4.30642986 [4844] Samples per second : 192000
00000456 4.30642986 [4844] nBlockAlign : 16
00000457 4.30642986 [4844]
But the renderer gets nothing :
00000459 4.30656004 [4844] CMpcAudioRenderer::DoRenderSampleWasapi No media type in the sample
This explains why you get PCM wich no sound or garbled sound.
I am facing a problem :
- When negociating the media types, I can't know the real format type without getting the source buffers but I must connect to the renderer so I use the AC3 format type - wrongly detected - by the splitter
- I must not initialize the renderer with a wrong type because I can't reinitialize after that
I have tried many things for the second point, none worked : is it a windows bug ? audio driver bug ? or wrong implementation ?
The last but not the least : I may have a working solution
1/Keep the last FFDShow behaviour : scan the buffers to detect the right format => done
2/In the renderer, don't initialize the wasapi renderer until I receive one buffer. Which is the case with the today build => done
3/From FFDShow side, disconnect the renderer if I detect a format change (ex: AC3 to TrueHD) which will set the right media type => to do and to be tested
I hope to submit this tomorrow morning (in 10h from now)
Stay tuned again !
liquidskin76
14th October 2009, 22:38
Again, leave DTS-HD MA out of this for now.
Thought so however included for the sake of it! May be useful for albain to have on record for future use.
SamuriHL
14th October 2009, 22:40
Awesome, albain. I should be around tomorrow to test it whenever you are ready. You are making very steady progress here. Keep up the good work. :)
SamuriHL
14th October 2009, 22:41
Thought so however included for the sake of it! May be useful for albain to have on record for future use.
No, we'll get to DTS-HD MA. Once he has TrueHD working the foundation will be done and it'll be easier to then concentrate on DTS-HD MA. One step at a time. :)
SamuriHL
14th October 2009, 22:43
albain, do you want me to try it with the realtek driver again to see what I get from that? Just to compare the logs and see if we can rule out an audio driver bug perhaps?
liquidskin76
14th October 2009, 22:50
That doesn't look promising. :(
TaudioParser::checkOutputFormat : the output sample format (compressed stream to bitstream) Bitstream Dolby True HD is not accepted by the renderer for codec bitstream Dolby True HD
I can't get ffdshow to connect to the modded mpc-hc audio renderer in graphedit. I get the good old pin connection error.
@SamuriHL
How did you get this to connect in graphedit?
SamuriHL
14th October 2009, 22:58
Not graphedit, although I doubt it makes any difference. They've convinced me to switch to GraphStudio which is incredibly nice. (I used it the other night to tweak my HD PVR recording graph. :D) All I did was add the MPC Mpeg Soure (Gabest) and selected the TrueHD sample file that albain has, the ffdshow audio decoder, and the MPC - Audio renderer. Then I just connected up the pins, saved it, and now I have it so I can quickly load it and run it when albain has updates. I was very leery of graphstudio as I'm so unknowledgeable about these things but I'm getting more and more comfortable now.
rica
14th October 2009, 23:04
This explains why you get PCM wich no sound or garbled sound.
I am facing a problem :
- When negociating the media types, I can't know the real format type without getting the source buffers but I must connect to the renderer so I use the AC3 format type - wrongly detected - by the splitter
So, have you given it a go with ArcSoft MPEG Demux without connecting the ffdshow output pin to any renderer?
Just for trial?
Or you guys?
_ _ _ _
liquidskin76
14th October 2009, 23:05
I've actually been using graphstudio however quickly tested with graphedit as i wasn't get an error in graphstudio (audio renderer just wasn't connecting).
I expect it's because i'm using MKV container and not M2TS. I'll grab a TrueHD M2TS file and test with that.
Thanks
SamuriHL
14th October 2009, 23:10
I've actually been using graphstudio however quickly tested with graphedit as i wasn't get an error in graphstudio (audio renderer just wasn't connecting).
I expect it's because i'm using MKV container and not M2TS. I'll grab a TrueHD M2TS file and test with that.
Thanks
That's very possible. I hadn't tried with an MKV. I only have one with an HD audio stream and that's also from albain. I've just been using the m2ts file he has for testing. I also check some of my own m2ts with TrueHD tracks to see if there's any difference. To date...no.
mrcorbo
14th October 2009, 23:22
FWIW, with the latest builds of ffdshow and the MPC audio renderer, AC3 passthrough finally works. My debug output is also showing the "no media type in the sample" message, but the bitstream is still being passed correctly.
[6952] TffdshowDecAudio::StartStreaming
[6952] CMpcAudioRenderer::CheckAudioClient
[6952] CMpcAudioRenderer::CheckFormatChanged
[6952] CMpcAudioRenderer::CheckAudioClient First initialization of the audio renderer
[6952] CMpcAudioRenderer::InitAudioClient
[6952]
[6952] WAVEFORMATEXTENSIBLE :
[6952] subFormat : {00000000-0000-0000-0000-000000000000}
[6952]
[6952]
[6952] wSamplesPerBlock : 0
[6952] Valid bits per sample : 0
[6952]
[6952]
[6952] WAVEFORMATEX :
[6952] wFormatTag :
[6952] Dolby AC3 SPDIF
[6952]
[6952]
[6952] cbSize : 22
[6952] nAvgBytesPerSec : 192000
[6952] Channels : 2
[6952] Bits per sample : 16
[6952] Samples per second : 48000
[6952] nBlockAlign : 4
[6952]
[6952] TffdshowDecAudioInputPin::NewSegment
[6952] TffdshowDecAudio::NewSegment
[6952] CMpcAudioRenderer::InitAudioClient format supported
[6952] TaudioParser::checkOutputFormat for codec AC3 s/pdif with sample format 16
[6952] Media Type Structure
[6952] Format type : FORMAT_WaveFormatEx
[6952] Sub type : MEDIASUBTYPE_PCM
[6952]
[6952] WAVEFORMATEXTENSIBLE :
[6952] subFormat : {00000000-0000-0000-0000-000000000000}
[6952]
[6952] wSamplesPerBlock : 0
[6952] Valid bits per sample : 0
[6952]
[6952] WAVEFORMATEX :
[6952] wFormatTag : Dolby AC3 SPDIF
[6952] Channels : 2
[6952] Bits per sample : 16
[6952] Samples per second : 48000
[6952] nBlockAlign : 4
[6952]
[6952] CMpcAudioRenderer::CheckMediaType
[6952] Media Type Structure
[6952] Format type : FORMAT_WaveFormatEx
[6952]
[6952] Sub type : MEDIASUBTYPE_PCM
[6952]
[6952]
[6952] WAVEFORMATEXTENSIBLE :
[6952] subFormat : {00000000-0000-0000-0000-000000000000}
[6952]
[6952]
[6952] wSamplesPerBlock : 0
[6952] Valid bits per sample : 0
[6952]
[6952]
[6952] WAVEFORMATEX :
[6952] wFormatTag :
[6952] Dolby AC3 SPDIF
[6952]
[6952]
[6952] cbSize : 22
[6952] nAvgBytesPerSec : 192000
[6952] Channels : 2
[6952] Bits per sample : 16
[6952] Samples per second : 48000
[6952] nBlockAlign : 4
[6952]
[6952] CMpcAudioRenderer::CheckAudioClient
[6952] CMpcAudioRenderer::InitAudioClient success
[6952] CMpcAudioRenderer::CheckMediaType WASAPI client accepted the format
[6952] TaudioParser::checkOutputFormat : the output sample format (compressed stream to bitstream) ac3 is accepted by the renderer for codec AC3 s/pdif
[6952] TffdshowDecAudioInputPin : switching codec from liba52 to AC3 s/pdif
[6952] Media Type Structure
[6952] Format type : FORMAT_WaveFormatEx
[6952] Sub type : MEDIASUBTYPE_PCM
[6952]
[6952] WAVEFORMATEXTENSIBLE :
[6952] subFormat : {00000000-0000-0000-0000-000000000000}
[6952]
[6952] wSamplesPerBlock : 0
[6952] Valid bits per sample : 0
[6952]
[6952] WAVEFORMATEX :
[6952] wFormatTag : Dolby AC3 SPDIF
[6952] Channels : 2
[6952] Bits per sample : 16
[6952] Samples per second : 48000
[6952] nBlockAlign : 4
[6952]
[6952] CMpcAudioRenderer::CheckMediaType
[6952] Media Type Structure
[6952] Format type : FORMAT_WaveFormatEx
[6952]
[6952] Sub type : MEDIASUBTYPE_PCM
[6952]
[6952]
[6952] WAVEFORMATEXTENSIBLE :
[6952] subFormat : {00000000-0000-0000-0000-000000000000}
[6952]
[6952]
[6952] wSamplesPerBlock : 0
[6952] Valid bits per sample : 0
[6952]
[6952]
[6952] WAVEFORMATEX :
[6952] wFormatTag :
[6952] Dolby AC3 SPDIF
[6952]
[6952]
[6952] cbSize : 22
[6952] nAvgBytesPerSec : 192000
[6952] Channels : 2
[6952] Bits per sample : 16
[6952] Samples per second : 48000
[6952] nBlockAlign : 4
[6952]
[6952] CMpcAudioRenderer::CheckAudioClient
[6952] CMpcAudioRenderer::CheckMediaType WASAPI client accepted the format
[6952] TffdshowDecAudioInputPin::Receive : the output sample format ac3 is accepted by the renderer
[6952] TaudioCodecBitstream::decode bitstreaming codec AC3 s/pdif, bitrate 384000, sample rate 48000
[6952] TaudioCodecBitstream::decode FRAME 1, size 1536
[6952] TffdshowDecAudio::deliverSampleSPDIF Delivering IEC sample format type 1 - sample size 1536 - buffer length 6144
[6952] Media Type Structure
[6952] Format type : FORMAT_WaveFormatEx
[6952] Sub type : MEDIASUBTYPE_PCM
[6952]
[6952] WAVEFORMATEXTENSIBLE :
[6952] subFormat : {00000000-0000-0000-0000-000000000000}
[6952]
[6952] wSamplesPerBlock : 0
[6952] Valid bits per sample : 0
[6952]
[6952] WAVEFORMATEX :
[6952] wFormatTag : Dolby AC3 SPDIF
[6952] Channels : 2
[6952] Bits per sample : 16
[6952] Samples per second : 48000
[6952] nBlockAlign : 4
[6952]
[6952] CMpcAudioRenderer::DoRenderSampleWasapi
[6952] CMpcAudioRenderer::DoRenderSampleWasapi No media type in the sample
[6952] TaudioCodecBitstream::decode bitstream done for this frame
[6952] TaudioCodecBitstream::decode FRAME 2, size 1536
[6952] TffdshowDecAudio::deliverSampleSPDIF Delivering IEC sample format type 1 - sample size 1536 - buffer length 6144
[6952] Media Type Structure
SamuriHL
14th October 2009, 23:27
It's not doing AC3 for me. I get the same situation as TrueHD. I just tried it on one of my HD PVR recordings. Same LPCM thing and same horrifying noise.
rica
14th October 2009, 23:31
mrcorbo, would you give it a go with the same source file using File Source (Async) > Arcsoft MPEG Demux filters instead of MPC MPEG Source(gabest) ?
mrcorbo
14th October 2009, 23:56
It's not doing AC3 for me. I get the same situation as TrueHD. I just tried it on one of my HD PVR recordings. Same LPCM thing and same horrifying noise.
Works here with both the Realtek and ATI drivers.
mrcorbo
14th October 2009, 23:57
mrcorbo, would you give it a go with the same source file using File Source (Async) > Arcsoft MPEG Demux filters instead of MPC MPEG Source(gabest) ?
I don't have that filter.
SamuriHL
14th October 2009, 23:58
Works here with both the Realtek and ATI drivers.
What card is that? And what driver specifically are you using? I'm using the very latest realtek and RC7 of ATI. EDIT: I've not tried the realtek yet with this latest build. Haven't had a chance yet.
mrcorbo
14th October 2009, 23:59
What card is that? And what driver specifically are you using? I'm using the very latest realtek and RC7 of ATI.
4870 (same 2 drivers) into a Denon 3808ci.
SamuriHL
14th October 2009, 23:59
Fascinating. I'll try the realtek soon.
liquidskin76
15th October 2009, 00:25
Works here with both the Realtek and ATI drivers.
@mrcorbo
Are you outputing your audio via SPDIF or HDMI?
If your outputting via SPDIF thats maybe why you're getting AC3 passthrough ok and we're not (samuriHL and I... both using HDMI output).
mrcorbo
15th October 2009, 00:58
@mrcorbo
Are you outputing your audio via SPDIF or HDMI?
If your outputting via SPDIF thats maybe why you're getting AC3 passthrough ok and we're not (samuriHL and I... both using HDMI output).
Outputting over HDMI.
rica
15th October 2009, 01:17
I don't have that filter.
You may find out a trial version of TMT; if you are interested.
albain
15th October 2009, 16:08
As planned, here is the last beta for HD audio bitstream
FFDShow bitstream beta 21 (http://www.mediafire.com/file/enzn1zdwy3j/ffdshow_rev3097_20091015_dbt_bitstream_beta21.zip)
This new build implements reconnection of FFDShow in case of a change of output format (change of codec actually, but finally reconnection cases will be improved and narrowed down to a change of output format only)
Please use the beta 20 pack for the use of MPC audio renderer
Thanks
JarrettH
15th October 2009, 16:15
What about the official betas? There hasn't been one this year.
SamuriHL
15th October 2009, 16:19
As planned, here is the last beta for HD audio bitstream
FFDShow bitstream beta 21 (http://www.mediafire.com/file/enzn1zdwy3j/ffdshow_rev3097_20091015_dbt_bitstream_beta21.zip)
This new build implements reconnection of FFDShow in case of a change of output format (change of codec actually, but finally reconnection cases will be improved and narrowed down to a change of output format only)
Please use the beta 20 pack for the use of MPC audio renderer
Thanks
I'm on it. A couple minutes and I'll post results.
SamuriHL
15th October 2009, 16:26
Yea, that's not good. It never changed the receiver and the icon said it was S/PDIF 1400. Here's the log:
http://pastebin.com/pastebin.php?dl=d621c5d13
Absolutely no audio at all...the receiver didn't even notice anything was going on.
albain
15th October 2009, 17:25
Something's wrong with your test : FFDShow never detected TrueHD
Are you sure that you used the MPC splitter ?
SamuriHL
15th October 2009, 17:27
Yup. I triple checked it cause I was noticing that, too. It really DIDN'T notice TrueHD. If I disable pass through, it does but I still get no audio through the MPC audio renderer. Something is seriously wrong here and I'm not sure what it is.
SamuriHL
15th October 2009, 17:38
Here's another log made with my GraphStudio graph. That is *DEFINITELY* using the MPC mpeg splitter to ffdshow audio decoder to mpc audio renderer. The receiver switches to DD and graphstudio hangs to the point where I have to use proc explorer to kill it!! Woa.
http://pastebin.com/pastebin.php?dl=d5a9d5f40
albain
15th October 2009, 18:18
Right, ffdshow hangs before reaching the true hd frame.... this won't be for today
SamuriHL
15th October 2009, 18:23
No problem. As long as you have the data you need it's all good. If you need anything else just hollar.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.