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

Andy o
21st November 2009, 18:26
What could be the purpose of on-the-fly MLP encoding though? I think some receivers take it and decode it, but if 7.1 LPCM via HDMI is available, what could be the advantage?

madshi
21st November 2009, 21:13
What could be the purpose of on-the-fly MLP encoding though?
The advantage is the guarantee that neither the OS nor the audio driver has any chance to damage our precious audio data. If you output LPCM, there's a big chance that either the OS or the audio driver (or both) think they should apply some processing for whatever funny reason...

Andy o
22nd November 2009, 01:39
Hmm, but you'd still have to decode the original audio to encode it to MLP, and you'll still have to use exclusive mode, which if you can, you can also output untouched LPCM through it.

htpc66
22nd November 2009, 02:43
The advantage is the guarantee that neither the OS nor the audio driver has any chance to damage our precious audio data. If you output LPCM, there's a big chance that either the OS or the audio driver (or both) think they should apply some processing for whatever funny reason...

As a side note, those Blu-rays I had converted via EAC3to sound as good, if not better than, standalone players through Xonar slim 1.3 driver with waspi. Madshi, thank you.

In the absence of Xonar, some how I cannot achieve the same through ATI 4xxx/Nvidia 8200/9300 realtek/ati/nvidia htmi drivers (with or without waspi) with various receivers.

Albain, please keep up the good work.

Andy o
22nd November 2009, 02:54
htpc66, I'm guessing you remux blurays to mkv/flac, right? If so, how are you using the Xonar with WASAPI exclusive? The Xonar will resample everything to whatever the Xonar CP is set at. Also, I'm having no trouble using exclusive mode with my ATI 4670, with Realtek drivers. Nvidia is buggy last time I checked.

htpc66
22nd November 2009, 04:24
htpc66, I'm guessing you remux blurays to mkv/flac, right? If so, how are you using the Xonar with WASAPI exclusive? The Xonar will resample everything to whatever the Xonar CP is set at. Also, I'm having no trouble using exclusive mode with my ATI 4670, with Realtek drivers. Nvidia is buggy last time I checked.

Unfortunately I have no such luck with a ATI 4XXX alone.

I am now using 9800GT/Xonar slim. Other than Xonar drivers, no htmi driver was installed in Vista sp1. Mkv/flacs were delivered via madflac/reclock.

Could someone kindly share their listening experience - ie. without the any (ATI/realtek/nvidia) hdmi driver installed?

albain
22nd November 2009, 13:00
Advancement status : I still doing some reverse engineering on the truehd frames
Some results :

IEC frames are 61440 bytes long, there is a sync word added in the middle of each IEC frame and extrawords at the end (I have the algorithm for both)
The number of zeros to add between each MLP frame (major or non major) : this is the tough part. This number is recalculated for each frame and is based upon the content, including the rate bits, the number of substreams. I am still on it. I guess at the end I will have a duration giving me the number of zeros to fill.


Maybe I should use the libavcodec parser to avoid double coding because many of the needed fields will require to parse all the content of MLP frames (for now the ffdshow TrueHD/MLP parser is basic)

Another thing not related : the ffdshow ac3 encoder is limited to 48000hz. Is there a better of updated ac3 encoder (or maybe dts encoder :)) ?

Emilot
22nd November 2009, 13:11
Advancement status : I still doing some reverse engineering on the truehd frames
Some results :

IEC frames are 61440 bytes long, there is a sync word added in the middle of each IEC frame and extrawords at the end (I have the algorithm for both)
The number of zeros to add between each MLP frame (major or non major) : this is the tough part. This number is recalculated for each frame and is based upon the content, including the rate bits, the number of substreams. I am still on it. I guess at the end I will have a duration giving me the number of zeros to fill.


Maybe I should use the libavcodec parser to avoid double coding because many of the needed fields will require to parse all the content of MLP frames (for now the ffdshow TrueHD/MLP parser is basic)

Another thing not related : the ffdshow ac3 encoder is limited to 48000hz. Is there a better of updated ac3 encoder (or maybe dts encoder :)) ?

ac3filter maybe??

http://ac3filter.net/

Or Sonic Scenarist?

Sebastiii
22nd November 2009, 14:03
Hi Albain :)

Good luck this that, i have hope that you can find the answer :)
If you need help no pb, but only for test log lol, because i'm not like you (big coder) :)
Seb.

SamuriHL
23rd November 2009, 21:58
No one's posted it here yet?? Wow. I thought you'd all be all over this one. WinDVD 10 has support for ATI 5xxx bitstreaming. :) Confirmed by me. It's not without problems as it drops the audio connection every few seconds, but, it does bitstream. Just thought you'd all like to know. Carry on. :)

whurlston
23rd November 2009, 22:13
No one's posted it here yet?? Wow. I thought you'd all be all over this one. WinDVD 10 has support for ATI 5xxx bitstreaming. :) Confirmed by me. It's not without problems as it drops the audio connection every few seconds, but, it does bitstream. Just thought you'd all like to know. Carry on. :)

I was waiting for you to post it. ;)

Sebastiii
23rd November 2009, 22:14
Hi confirmed by me too :)
On DTS-HD-MA, it play perfect but on TrueHD it's cut all 5 seconds.

I can't dump log because windvd crash.

BUT It's because when the dump will work, there are more help for Albain (i hope :) )
Thx,
Seb.

madshi
23rd November 2009, 22:18
I can't dump log because windvd crash.
Maybe there's still a (small) log being created before the crash occurs? If so, post it. It might help albain figuring out where the crash is coming from.

SamuriHL
23rd November 2009, 22:21
I was waiting for you to post it. ;)

Wow. You're lazier than I am. Impressive! :p LOL!

SamuriHL
23rd November 2009, 22:22
Hi confirmed by me too :)
On DTS-HD-MA, it play perfect but on TrueHD it's cut all 5 seconds.

I can't dump log because windvd crash.

BUT It's because when the dump will work, there are more help for Albain (i hope :) )
Thx,
Seb.

DTS-HD MA drops for me. As does TrueHD.

Sebastiii
23rd November 2009, 22:31
Maybe there's still a (small) log being created before the crash occurs? If so, post it. It might help albain figuring out where the crash is coming from.

Hi, this the log :)

Log of Crash (http://sebinternet.free.fr/Log windvdcrash.txt)

Thx:)

Sebastiii
23rd November 2009, 22:35
i have installed catalyst 9.11 on Win7 X86.

i have a DTS-HD MA Demo BD and with it, it works good.
With sample DTS-HD MA sample make with tsmuxer, my avr detect DTS-HD MA but the sound comes at the end (10 seconds).

But with demo BD, it works with no drop audio (strange that with you it drops)

Seb.

SamuriHL
23rd November 2009, 22:39
I'll try another movie when I get a chance. Got one of those wonderful work conferences going on now. :rolleyes:

whurlston
23rd November 2009, 23:44
Wow. You're lazier than I am. Impressive! :p LOL!

I prefer the term "busier". :p

I'll be trying to get a dump for albain but it will be much later tonight.

Sebastiii
24th November 2009, 00:02
Hi dolby true Hd play perfect too :)
I must change frequency of video card @24 the sound cut.
But @50 and @60Hz, it working !

But i have another pb with my AVR harman (maybe need SAV) because i heard a noise sound on even source HDMI or RCA ....
So not cool even with Mute enable on AVR the sound is gere (it's low sound but he here :( ) but this HS lol

For now TrueHD and DTSHD works on windvd 2010 :) must be log now :)

Seb.

SamuriHL
24th November 2009, 00:07
I get audio dropouts with both TrueHD and DTS-HD MA. So not sure what's going on there. UGH.

whurlston
24th November 2009, 00:11
I get audio dropouts with both TrueHD and DTS-HD MA. So not sure what's going on there. UGH.

Ditto. I'm even getting it with regular AC3 audio.

SamuriHL
24th November 2009, 00:20
Ditto. I'm even getting it with regular AC3 audio.

Yup. The same for me. I hope it's not an Onkyo issue. That'd really bite.

Anyway, the reason I posted this info here was clearly for albain's benefit. Hopefully someone can use the dump tool to get him some more logs. Without crashing. :D

whurlston
24th November 2009, 01:13
I have a Yamaha RX-V863 so if's definitely not an Onkyo issue.

SamuriHL
24th November 2009, 01:25
Good to know. Also it looks like there may be a potential problem with PDVD9 bitstreaming with the 5xxx cards on 64 bit machines. Oh joy. Can't WAIT for that on Friday. :D albain, any progress man?? :D

Emilot
24th November 2009, 13:49
Just to clarify, you need v10.0.5.163 of Windvd and not 10.4....

RiotRay
24th November 2009, 18:41
@albain

Hi! I'm a user of the new Auzentech HomeTheater HD card.
Are you interested making ffdshow bitstream builds that work for this card, too? I would be happy to test them.
All I need is a hint to the required settings in ffdshow and what exactly to look for.

Kind regards

whurlston
24th November 2009, 19:44
Just to clarify, you need v10.0.5.163 of Windvd and not 10.4....

:confused: Who said 10.4?

Browncoat
24th November 2009, 19:50
@RiotRay
Do you have PowerDVD 9? It's too early to test ffdshow. We (I have auzen too) need a working dumper to give albain some usefull info. The current one doesn't work for me. So let's give albain some time.

albain
24th November 2009, 20:26
Hi,

here are my results but they are not correct

@Madshi : this is what I got from my analysis of the code (low level code if you see what I mean).
The result is the number of zeros to insert between 2 TrueHD frames (between a major and a non major or between 2 non major frames).
Clearly, it depends on the buffer size, and there is a modulo on it
My understanding is that you have to get the size as if it was uncompressed (40 samples typically) and add the missing zeros

Example : for 166 bytes data => 2266 bytes of zero


Here is the code I extracted :
frame_size1 = (bitdata.wordpointer[0] << 8) | bitdata.wordpointer[1]; // 28755 in the example for this frame. Why dealing with this ?
frame_size=(frame_size1 & 0xfff) * 2; // 166 bytes for this frame

rate=64 >> (ratebits & 7); // These are the 4 rate bits extracted from the major frame header : ratebits=0 in the sample so rate=64 (I had a doubt on this one, thought that it should be << instead of >> but it is really a right shift
value1=(frame_size1<<16 - access_unit_size)*rate; // Not sure about this one, sometimes access unit size (uncompressed size) is substracted, sometimes not
value2=value1*frame_size & (rate - 1);
nbZeros = (valué1-value2)%(rate << 16);

Also here is a chain of results extracted from what is outputted by TMT (Frame=frame size, BL: blank size)
Frame:166;BL:2266;Frame:166;BL:2266;Frame:160;BL:2144;Frame:166;BL:2202

If you have an idea about the correct formula.... thanks

RiotRay
24th November 2009, 20:45
@Browncoat

Yes, I have PowerDVD9 and I hate it for its unflexibility.
Why major companys like cyberlink don't include picture manipulating features in their products eldues me.
I prefer ZoomPlayer.

spida_singh
27th November 2009, 08:29
New PDVD patch is out: http://www.cyberlink.com/downloads/support/powerdvd/patches_en_GB.html

:D

Gleb Egorych
27th November 2009, 09:35
Just for info: new ForceWare 195.55 broke NV12 support for some files. Output using NV12 is wrong with different codecs including ffdshow.
195.62 WHQL still has the problem.

Sebastiii
27th November 2009, 09:39
New PDVD patch is out: http://www.cyberlink.com/downloads/support/powerdvd/patches_en_GB.html

:D

Great :) more log to see :)

SamuriHL
28th November 2009, 16:30
I can say that it works great for most, but, the PDVD9 patch does have issues with certain receivers. That looks to be a bug in the ATI driver, so, albain, that's something to note and be aware of. It works fine with my receiver. I've pulled the Xonar out of that machine completely. With WinDVD and PDVD9 bitstreaming on the 5xxx cards, it's only a matter of time before ArcSoft gets in the game.

albain
29th November 2009, 10:14
Hi all,

here is a new FFDShow beta build for HD audio bitstream

I am happy to announce thanks (again) to Madshi contribution that Dolby TrueHD/MLP bitstream is now iso-TotalMedia.

Also timestamp generated have been fixed, so I hope that DTS HD will also work better.

I worked hard on this one so I hope that this time results will be significantly better !

http://damienbt.free.fr/ffdshow_rev3128_20091128_dbt_bitstream_beta42.exe

It should work with the xonar (at least) and with the new radeons too

albain
29th November 2009, 11:24
Also I have created a new SVN branch called bitstreamHD

64 bits users can grab it and make builds from it (I don't have any 64 bits compiler set up for now).
It is based upon the last beta42

Emilot
29th November 2009, 13:49
I've just saw it at avsforum....

"Guys, couldn't wait and got a 5770 and of course could not bitstream at first. But just DID IT! Bistreaming working just fine on my Denon 988. Here's the way to do it.

Thanks to the guys of the EDID OVERRIDE thread I could grab the EDID of an Onkyo 906. Naturally I modified the monitor driver of my Denon AVR and replaced the Denon EDID for the Onkyos and BANG, it just works!

I have a standard LCD display so this procedure should work for almost ALL receivers not working out there.

So, just extract the .inf file in the zip file attached and do step 3 of the procedure posted here. Reboot and you should bitstream like me.

Those of you with a different brand might just want to edit the .inf file attached and replace this two lines at the end of the file with your own brand name:

PRODUCTID="DENON-AVAMP (EDID Override)"
VENDOR="Denon"

In case of problems you can always rollback.

Enjoy guys!"

"You know, maybe THAT - the ID descriptor - is the key element of the PAP validation! I still can't figure out what's so special with the Denon EDID to break the PAP. I don't think there's any EDID parsing problem at all as multichannel PCM over HDMI is enabled with no issues.

Anyway will try playing with this and report back."

Emilot
29th November 2009, 15:37
Plus....to see the option for hd decoding...with 5xxx ATI...

From avsforum

"You have to play the blu ray first, then you will see the option, PDVD needs to be fed teh streams before it allows you to pass them though to the receiver"

SamuriHL
29th November 2009, 15:44
I'll give it a try this morning, albain, and see what happens. I took the Xonar out of my machine so I can't test with that. But I have bitstreaming working with PDVD9 so if this is correct now, it'll work on my setup.

SamuriHL
29th November 2009, 15:59
Same as before. Lights come on, no audio. Sorry.

albain
29th November 2009, 22:40
Could it be caused by the PAP altering the transmission ?

This is not normal on this one that you get no sound.

Have you tried with the arcsoft renderer ?

SamuriHL
29th November 2009, 22:43
I tried with every renderer I had installed. The arcsoft one never gives me anything. No signal sent to the receiver at all. PDVD9's renderer gave me LPCM this time. Direct Sound gave me lights but no audio. Same with ATI HDMI renderer. Honestly have no idea what's up with that. PAP shouldn't even be involved unless it's activated by the sending app afaik. What I do know is I no longer have the Xonar in the machine and that I can bitstream perfectly with PDVD9 now. I wish I knew what to tell you.

albain
29th November 2009, 23:11
There is also the audio driver that could require a PAP to pass a bitstream.
Or something else missing in FFDSHOW

Thanks anyway

SamuriHL
29th November 2009, 23:13
I wish I knew. WinDVD and PDVD9 are both able to bitstream with my 5870. WinDVD has bugs where it loses connection and has to re-handshake with the receiver. But it's able to bitstream. PDVD9 is flawless. I guess it's possible that the driver is blocking the bitstream if no PAP is detected. That would massively suck if that ends up being the case!

albain
30th November 2009, 08:59
Not necessarily, the PAP could be reproduced.

I found this article with sample code from MSDN :
http://msdn.microsoft.com/en-us/library/dd756608%28VS.85%29.aspx

Also, I read from http://www.geekzone.co.nz/forums.asp?forumid=84&topicid=45679 that PDVD9 does not bitstream when anydvdhd is on, which seems to confirm that a PAP is necessary

The good news from the MS article is that directsound can be used to bitstream over PAP.

I hope that Sebastii will be able to confirm this soon : the arcsoft renderer holds this part (PAP initialization) and with the xonar the last ffdshow should bitstream TrueHD correctly (and also maybe DTS HD) as it did for EAC3.

If this is confirmed, then the MPC audio renderer should be updated with this PAP part

htpc66
30th November 2009, 11:32
Also, I read from http://www.geekzone.co.nz/forums.asp?forumid=84&topicid=45679 that PDVD9 does not bitstream when anydvdhd is on, which seems to confirm that a PAP is necessary


Albain, wonder what would you make of this statement (from CyberlinkUSA):

"PowerDVD doesn't care whether AnyDVD is running or not."

http://www.avsforum.com/avs-vb/showthread.php?p=17612160#post17612160

Sebastiii
30th November 2009, 12:33
Hi,

My AVR is again in SAV, so i hope i will receive it quickly, i have mange to find a friend next to me with AVR compatible with HD, but no success.

So i want to test :)
Seb.

Big Thx to all tester :) and specially to Albain and Co :)

SamuriHL
30th November 2009, 15:10
Whoever said PDVD9 doesn't bitstream with AnyDVD active is full of BS. I've done so on MANY movies over the weekend. ISOs and originals. I never disable AnyDVD for any reason. So that claim is 100% inaccurate. Now, I'm sure they're still doing PAP even on "unprotected" sources. In any case, I believe that you can bitstream with Direct Sound, as well. Your latest builds show the lights coming on, so, the receiver is receiving it, but, it's not able to decode the audio correctly and hence we get no sound. Something is still missing somewhere. :(

rica
30th November 2009, 23:03
Yes +1 samuri.
Btw i see the HD light on AVR and DTSHD MA but no sound at all.


http://img30.imageshack.us/img30/4074/dtshdma.th.png (http://img30.imageshack.us/i/dtshdma.png/)



_ _ _ _