View Full Version : ffdshow tryouts project: Discussion & Development
albain
15th November 2009, 13:42
Thank you all for your encouragements, but we still lack of results
Here is an updated and working version (at least for AC3/DTS) of MPC renderer
Actually wasapi implementation is buggy : it may be due to the drivers or to an incompatibility butween wasapi with event driver mode (which is the easiest to implement) and directshow.
Anyway, here it is (http://damienbt.free.fr/MPCRenderer.zip)
There are 2 versions : one debug and one release (that should avoid glitches)
THank you for your feedbacks !
EDIT : I have an audio delay on this one but no more glitches. I will fix this later.
Skinleech
15th November 2009, 14:49
Hi albain.
Thanks for yet again more excellent work. Here are my results with the new renderer:
TrueHD: The sample played jerkily, and in PCM: http://pastebin.com/f34f6be21
DD Plus: As above: http://pastebin.com/f7d40474e
DTS HD MA (from m2ts): The file played, but I got no audio: http://pastebin.com/f702b8304
DTS HD MA (from mkv): The file played as PCM, but halli splitter loaded rather than your mpeg splitter: http://pastebin.com/f38172210
Thanks!
albain
15th November 2009, 15:00
Thanks but you have a xonar right ?
It seems that the xonar will refuse the arcsoft media types (!).
I believe that there is additional security rules in the audio driver that will refuse the connection if for example the process is not protected or something like that (because otherwise FFDShow will try different media types including the arcsoft's ones).
Sorry, but for now I need a radeon 5xxx owner.
Maybe this is fixable for the xonar : for that I am still trying to improve the dumper tool to retrieve more information from the *well known player*
Skinleech
15th November 2009, 15:12
Yep, I have a Xonar. Can't say I'm surprised that it's causing problems!
I will keep my eyes peeled on the thread.
rica
15th November 2009, 15:22
..for now I need a radeon 5xxx owner.
Now i'm here; gonna try. :)
SamuriHL
15th November 2009, 15:58
I'm awake now. Give me a minute to switch over to the ATI card. :)
rica
15th November 2009, 16:16
albain, your sample thd m2ts gives dolby digital but ffdshow output gives only 2 channels.
Btw i created some sample m2ts files via eac3to+tsmuxer but ffdshow never accepted to connect to MPCAudio Renderer (with those files) while your sample m2ts (thd) file works; dunno why?
Would you please remux your dtshd.mkv to m2ts?
SamuriHL
15th November 2009, 16:32
TrueHD: http://pastebin.com/pastebin.php?dl=d1931dda2
DTS-HD MA: http://pastebin.com/pastebin.php?dl=d5ef51a85
TrueHD shows me lights. DTS-HD MA shows me DTS. Neither give me audio. This is the debug version. I can try the release version now but I'm not hopeful.
SamuriHL
15th November 2009, 16:47
Release version made no difference.
SamuriHL
15th November 2009, 16:53
rica, converting the mkv's to m2ts is academic. Get tsMuxer.
rica
15th November 2009, 17:01
rica, converting the mkv's to m2ts is academic. Get tsMuxer.
I don't think you read my previous post, did you?
SamuriHL
15th November 2009, 17:03
I don't think you read my previous post, did you?
Not sure I follow. I remuxed the DTS-HD MA mkv that was posted around the 6th to m2ts and it's fine. What's the issue exactly?
albain
15th November 2009, 17:16
Something is wrong. I don't see many traces from MPC renderer. Is MPC renderer really used at the end ?
Please use graphstudio with the MPC splitter that I released in the last pack, thanks
Could you try with this one (http://damienbt.free.fr/MpcAudioRendererFilter_2.zip)
Thanks
SamuriHL
15th November 2009, 17:20
Those logs were with MPC. I've tried with GraphStudio with the same setup and it gave the same results, so, that's why I didn't post GS logs. I'll try with your new filter now.
albain
15th November 2009, 17:25
Those logs were with MPC. I've tried with GraphStudio with the same setup and it gave the same results, so, that's why I didn't post GS logs. I'll try with your new filter now.
Thank you !
SamuriHL
15th November 2009, 17:26
Same thing. TrueHD lights are on but no one's home.
http://pastebin.com/pastebin.php?dl=d79905c1e
SamuriHL
15th November 2009, 17:29
DTS-HD MA...it's an mkv converted to m2ts and played in GS.
http://pastebin.com/pastebin.php?dl=d518707c6
DTS light, no audio.
rica
15th November 2009, 17:34
Not sure I follow. I remuxed the DTS-HD MA mkv that was posted around the 6th to m2ts and it's fine. What's the issue exactly?
OK, restarting PC fixed the connecting issue :)
truhd > Dolby Digital light on > with sound (ffdshow output gives two channels only)
dtshd-ma > no light on > without sound
dts (core) > DTS light on > with sound (ffdshow output gives
two channels only)
EDIT: btw- those trials made with ex-filter; didn't see new update while writing :)
Now i'm trying the new one.
mrcorbo
15th November 2009, 17:37
I'm getting mixed results here on the formats I am able to test.
AC3 passthrough has the same behavior as before with me having to check "output strings to debugger" and run DebugView to get bitstreaming to work. One or the other of these does not work, it requires both. When it *does* bitstream, though, it now seems to be mostly glitch-free with maybe a couple of skips when first starting playback.
TrueHD, unsurprisingly, falls back to decoding and outputting PCM. With my sample, it is able to play back the decoded PCM audio as 5.1 channels (matching my speaker configuration) and sounds fine. No distortion, no glitches.
DD+ and DTS-MA also fall back to PCM, but play back with a lot of distortion.
Another odd behavior pops up when trying to test with a file with an MP3 audio track. FFDShow won't connect directly to the MPC audio renderer and instead inserts the WMAaudio Encoder/Decoder combo in between. Deleting these filters from the graph makes the FFDshow filter connect to the renderer directly. :confused: Either connected directly or with the WMAudio filters in between there is distortion of the audio during playback.
rica
15th November 2009, 17:59
Here are the results:
truhd > Dolby Digital light is on > with sound (ffdshow output gives 5.1 even it shows 2 channel output in ffdshow properties page) _this is maybe comes from using thd+ac3 file (created by eac3to) in tsmuxer?
dtshd-ma > no light is on > without sound
dts (core) > DTS light is on > with sound (ffdshow output gives 5.1 even it shows 2 channel output in ffdshow properties page)
Seems there is a conflict between the results of mine and samuri?
http://img7.imageshack.us/img7/4803/51079204.png
SamuriHL
15th November 2009, 18:08
Post logs. That's the only way to know for sure what's going on.
albain
15th November 2009, 18:10
Okay, there is too much delay between each buffer feeding on the renderer side (FFDShow takes too much time to parse the bistream) so the renderer should not sleep so much too
I have adjusted this time dynamically according to FFDShow parsing
http://damienbt.free.fr/MpcAudioRendererFilter_3.zip
Please try this one with then without debugview
@Rica : I suspect that the HD formats are refused by your audio driver. Please post the debugview trace to confirm this
Brazil2
15th November 2009, 18:15
Here is another DD+ sample:
(DD+ 7.1 Channel Test, untouched, From "The Sound of High Definition" Blu-Ray)
http://iknowu.net/files/public/Samples/00026%20-%20DD+%207.1%20Channe%20Test.m2ts
This sample seems to have problems. MPC-HC can play it fine but it stutters a lot with many other players.
MediaInfo reports the audio to have 5 channels:
Audio
ID : 4352 (0x1100)
Menu ID : 1 (0x1)
Format : E-AC-3
Format/Info : Audio Coding 3
Duration : 1mn 34s
Bit rate mode : Constant
Bit rate : 1 024 Kbps
Channel(s) : 5 channels
Sampling rate : 48.0 KHz
Stream size : 11.5 MiB (9%)
eac3to reports the audio to be AC3 5.1, the track not to be clean and can't extract/convert the audio:
M2TS, 1 video track, 1 audio track, 0:01:34, 60i /1.001
1: h264/AVC, 1080i60 /1.001 (16:9)
2: AC3, 5.1 channels, 640kbps, 48khz
Track 2 is used for destination file "EAC3.wavs".
[a02] The Nero decoder doesn't seem to work, will use libav instead.
[a02] Extracting audio track number 2...
[a02] Decoding with libav/ffmpeg...
[a02] Remapping channels...
[a02] Reducing depth from 64 to 24 bits...
[a02] Writing WAVs...
[a02] This track is not clean. <WARNING>
[a02] [libav] Dependent substream is not implemented. If you want to help, update your FFmpeg version to the newest one from SVN. If the problem still occurs, it means that your file has extension which has not been tested due to a lack of samples exhibiting this feature. Upload a sample of the audio from this file to ftp://upload.mplayerhq.hu/incoming and contact the ffmpeg-devel mailing list. <WARNING>
[a02] [libav] invalid header <WARNING>
[a02] The libav decoder reported an error while decoding. <ERROR>
Aborted at file position 1048576. <ERROR>
And TsMuxer simply doesn't recognize the audio track.
Is any other 7.1 DD+ sample with speakers recognition available ?
rica
15th November 2009, 18:37
@Rica : I suspect that the HD formats are refused by your audio driver. Please post the debugview trace to confirm this
Ok but please remind me how to get debugview traces?
Or samuri?
madshi
15th November 2009, 18:40
This sample seems to have problems. MPC-HC can play it fine but it stutters a lot with many other players.
MediaInfo reports the audio to have 5 channels.
eac3to reports the audio to be AC3 5.1, the track not to be clean and can't extract/convert the audio.
And TsMuxer simply doesn't recognize the audio track.
Is any other 7.1 DD+ sample with speakers recognition available ?
You should simply forget that 7.1 DD+ ever existed. It's totally useless and AFAIK has not been used on *ANY* Blu-Ray disc out there (except for a Dolby demo disc). And that's why no software (which includes eac3to) can handle 7.1 DD+, because it's simply not worth it to add support for it.
tal.aloni
15th November 2009, 18:45
Brazil2,
1. most importantly: this track is untouched from the Blu-Ray.
2. madshi already said it.
3. Try TSRemux, working for me.
albain
15th November 2009, 18:54
Ok but please remind me how to get debugview traces?
Or samuri?
You have to create an "allowDPRINTF" DWORD value set to 1 in
HKEY_CURRENT_USER\Software\GNU\ffdshow
Then run debugview (http://technet.microsoft.com/en-us/sysinternals/bb896647.aspx) while you play the file
rica
15th November 2009, 19:05
You have to create an "allowDPRINTF" DWORD value set to 1 in
HKEY_CURRENT_USER\Software\GNU\ffdshow
Then run debugview (http://technet.microsoft.com/en-us/sysinternals/bb896647.aspx) while you play the file
Thanks.
SamuriHL
15th November 2009, 19:28
Okay, there is too much delay between each buffer feeding on the renderer side (FFDShow takes too much time to parse the bistream) so the renderer should not sleep so much too
I have adjusted this time dynamically according to FFDShow parsing
http://damienbt.free.fr/MpcAudioRendererFilter_3.zip
Please try this one with then without debugview
@Rica : I suspect that the HD formats are refused by your audio driver. Please post the debugview trace to confirm this
I'll try this at half time. Football is on so can't interrupt that. :D
albain
15th November 2009, 19:35
No problem, I hope that your team will win so that you get enough luck to make this new build working :-)
SamuriHL
15th November 2009, 19:36
No problem, I hope that your team will win so that you get enough luck to make this new build working :-)
Thanks. They're losing now. And they're losing to my wife's favorite team. SIGH. :D I'll get to testing soon and get you some new logs.
albain
15th November 2009, 19:47
I saw that in 5 days the passive radeon 5750 is released, I will get one of those as soon as available
SamuriHL
15th November 2009, 19:48
Oh, I see how it is. String us along til YOUR card come out. :p ROFLMAO! :D
albain
15th November 2009, 19:55
Yes I like to share the work, 31 betas this is a record lol
SamuriHL
15th November 2009, 19:56
Definitely not a problem for us testing it. You make it easy. Compared to the stuff I do at work, this is child's play. :)
rica
15th November 2009, 20:16
Here are the logs (created using previous MPC audio renderer):
dtshd sample log (i had to terminate the graphstudio)
http://www.mediafire.com/?4t5yzvgkmlm
thd sample log:
http://www.mediafire.com/?5ntv4zwezzm
SamuriHL
15th November 2009, 20:18
Ran a quick GraphStudio of a DTS-HD MA m2ts track. No change. DTS light, no audio. Did not get to try it without debugview running.
http://pastebin.com/pastebin.php?dl=d3f99f7d
mrcorbo
15th November 2009, 21:09
I managed to get AC3 to bitstream with this renderer without DebugView running a couple of times (I checked/unchecked output debug strings and got it to work once with and once without) but the results were inconsistent and now I can't reproduce at all. I will load Realtek-sourced HDMI drivers to see if the results are different. When bitreaming worked it seemed glitch-free.
AC3 with output strings to debugger checked:
Result: Stream is recognized, audio signal rapidly cuts in and out constantly.
http://pastebin.com/d60e8a57f
MP3 decoded to PCM:
It now connects directly to renderer, but will not play.
Generates the following log (pasted here since it's relatively short).
[9880] TffdshowDecAudio::StartStreaming
[9880] TffdshowDecAudioInputPin::NewSegment
[9880] TffdshowDecAudio::NewSegment
[9880] CMpcAudioRenderer::CheckAudioClient
[9880] CMpcAudioRenderer::CheckFormatChanged
[9880] CMpcAudioRenderer::CheckAudioClient First initialization of the audio renderer
[9880] CMpcAudioRenderer::InitAudioClient
[9880]
[9880] WAVEFORMATEXTENSIBLE :
[9880] subFormat : OTHER
[9880]
[9880]
[9880] wSamplesPerBlock : 0
[9880] Valid bits per sample : 0
[9880]
[9880]
[9880] WAVEFORMATEX :
[9880] wFormatTag :
[9880] PCM
[9880]
[9880] cbSize : 22
[9880] nAvgBytesPerSec : 176400
[9880] Channels : 2
[9880] Bits per sample : 16
[9880] Samples per second : 44100
[9880] nBlockAlign : 4
[9880]
[9880] CMpcAudioRenderer::InitAudioClient format supported
[9880] CMpcAudioRenderer::GetBufferSize
[9880] CMpcAudioRenderer::InitAudioClient failed (0x80070057)
[9880] CMpcAudioRenderer::Run Error on check audio client
[9880] TffdshowDecAudio::BeginFlush
[9880] TffdshowDecAudioInputPin::EndFlush
[9880] TffdshowDecAudio::EndFlush
[9880] TffdshowDecAudioInputPin::NewSegment
[9880] TffdshowDecAudio::NewSegment
True HD, EAC3 and DTS-MA all had the same result as before.
albain
15th November 2009, 21:19
Thanks, something is still wrong in the implementation
Another shot ?
http://damienbt.free.fr/MpcAudioRendererFilter_4.zip
@Mcorbo This one should also fixed your progressive cuts. For now I haven't work on PCM (it should be not very difficult)
Thanks
SamuriHL
15th November 2009, 21:21
Will give it a try soon. My game should be done within the hour.
whurlston
15th November 2009, 21:22
I saw that in 5 days the passive radeon 5750 is released, I will get one of those as soon as available
Wow. I was about to order a 5750 tomorrow. Looks like I'll wait a couple of days.
SamuriHL
15th November 2009, 21:23
Wow. I was about to order a 5750 tomorrow. Looks like I'll wait a couple of days.
Yea, that would definitely make a good card for an HTPC.
SamuriHL
15th November 2009, 21:27
Went for TrueHD in GS this time. THD lights came on, no audio as before.
http://pastebin.com/pastebin.php?dl=d3d4bf7e7
GaBBa-Gandalf
15th November 2009, 21:39
Sorry that I have to ask again, but for me it isn't really clear...
Does the hd-sound (dts-hd & truehd) works perfectly with the ati 5xxx series?
GaBBa
SamuriHL
15th November 2009, 21:41
Not yet. The audio renderer portion is still an issue. However, the bitstreaming support in the latest ffdshow tryout should be good. Just gotta get it to the receiver.
albain
15th November 2009, 22:06
. The delays are still incorrect, I have to work on this.
I will work on this tomorrow
thanks again for your tests
SamuriHL
15th November 2009, 22:06
Thanks for the work on this.
mrcorbo
15th November 2009, 22:15
Thanks, something is still wrong in the implementation
Another shot ?
http://damienbt.free.fr/MpcAudioRendererFilter_4.zip
@Mcorbo This one should also fixed your progressive cuts. For now I haven't work on PCM (it should be not very difficult)
Thanks
I tried the Realtek drivers with the previous renderer and the results were similar (slightly worse, actually).
Now I'm back to the ATI-sourced drivers and with this latest renderer the stuttering is gone when using DebugView. Also found that DebugView only needs to be running when playback is started to get bitstreaming to work. Once the stream is playing I can close DebugView and it will continue to work.
Without Debugview, playing back the graph in GraphStudio will still not bitstream on the initial attempt. However, if I hit stop and then play again bitstreaming works. This is repeatable.
albain
16th November 2009, 12:18
Hi,
here is a new one (http://www.mediafire.com/file/4yniyzztiwj/MPCAudioRenderer.zip) that should solve these buffer delays problem.
There are 2 versions : 1 debug and 1 release version
Thanks
SamuriHL
16th November 2009, 14:40
Checking now.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.