Log in

View Full Version : ffdshow tryouts project: Discussion & Development


Pages : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 [173] 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308

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.