Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > Video Encoding > New and alternative video codecs

Reply
 
Thread Tools Search this Thread Display Modes
Old 6th January 2010, 03:39   #981  |  Link
Andy o
Registered User
 
Join Date: Mar 2009
Posts: 962
Yeah, whurlston is using another player, but I'm using MPC-HC. Different renderers yield different degrees of this problem for me. madVR doesn't seem to have it, but VMR9 seems to make it worse. This doesn't seem to happen at all with 4000 cards.
Andy o is offline   Reply With Quote
Old 6th January 2010, 07:40   #982  |  Link
pcm1ke
Registered User
 
Join Date: Jan 2004
Posts: 42
I still can't get m2ts files with TrueHD to be bitstreamed (using 5850 w/ latest mphc svn, ffdshow svn, all from xvidvideo.ru). DTS-MA is passed through no problem. In FFA I only have DTS-MA and TrueHD checked in the passthrough options. Where should I start reading to try and fix this? Thank you.
pcm1ke is offline   Reply With Quote
Old 6th January 2010, 09:33   #983  |  Link
Andy o
Registered User
 
Join Date: Mar 2009
Posts: 962
I think you need to have AC3, E-AC3, TrueHD and possibly MLP (probably not this one, but just in case) enabled in the codecs section.
Andy o is offline   Reply With Quote
Old 6th January 2010, 11:18   #984  |  Link
albain
Media Control author
 
Join Date: Dec 2006
Location: Paris
Posts: 1,014
Hello guys,

got your logs Seb, thank you again and again

I will analyze those today if I have some time but expect a feedback rather tomorrow

Have a nice day
albain is offline   Reply With Quote
Old 6th January 2010, 12:22   #985  |  Link
albain
Media Control author
 
Join Date: Dec 2006
Location: Paris
Posts: 1,014
Okay, I had a quick look on it with a great tool (araxis merge) that makes comparisons, and guess what...

1/ The media types are identical except the mediasubtype but I don't think this is the cause (as the ATI receives different media types)
2/ The timestamp are identical : they are different in values but this is not what matters. The important is the delay between 2 consecutive timestamps and it is even

BUT :

3/ The bitstreams are mostly identical but not all the time :

For example FFDShow :
Code:
72F81F4E1104CC290001000000000000FEFEC029FE

TMT
Code:
72F81F4E1104D8290001000000000000FEFEC029FE
This should be the cuase, this is the coded length of the buffer which is part of the IEC header.

I will work on this later

Cheers

Damien
albain is offline   Reply With Quote
Old 6th January 2010, 12:50   #986  |  Link
Sebastiii
Registered User
 
Join Date: Oct 2009
Location: France
Posts: 616
Hi Damien

Cool that the log are usefull
And you find the way to make working, great and great again
And the log for DTS-MA and HR will it be usefull too ?

Thx again
And have a good launch and have a nice day too
Seb.
__________________
HTPC : i7 920 6Go Win10(x64) / Nvidia 1050Ti / P6T Deluxe / Harman-Kardon AVR-355.
Sebastiii is offline   Reply With Quote
Old 6th January 2010, 13:34   #987  |  Link
Andy o
Registered User
 
Join Date: Mar 2009
Posts: 962
Thanks a lot albain! Again.
Andy o is offline   Reply With Quote
Old 6th January 2010, 15:02   #988  |  Link
SamuriHL
Registered User
 
SamuriHL's Avatar
 
Join Date: May 2004
Posts: 5,351
Quote:
Originally Posted by albain View Post
Okay, I had a quick look on it with a great tool (araxis merge) that makes comparisons, and guess what...

1/ The media types are identical except the mediasubtype but I don't think this is the cause (as the ATI receives different media types)
2/ The timestamp are identical : they are different in values but this is not what matters. The important is the delay between 2 consecutive timestamps and it is even

BUT :

3/ The bitstreams are mostly identical but not all the time :

For example FFDShow :
Code:
72F81F4E1104CC290001000000000000FEFEC029FE

TMT
Code:
72F81F4E1104D8290001000000000000FEFEC029FE
This should be the cuase, this is the coded length of the buffer which is part of the IEC header.

I will work on this later

Cheers

Damien
I guess I didn't look close enough. That's awesome that you found the difference. I hope you're able to find a fix for it! Thanks!!
__________________
HTPC: Windows 11, AMD 5900X, RTX 3080, Pioneer Elite VSX-LX303, LG G2 77" OLED
SamuriHL is offline   Reply With Quote
Old 6th January 2010, 17:26   #989  |  Link
jimwhite
Registered User
 
Join Date: Nov 2004
Posts: 26
Quote:
Originally Posted by SamuriHL View Post
Ah, Seb, you da man! The bitstream data is identical between the two. *HOWEVER*....

TMT3:
Code:
19:54:14-330 DumpWFEX
WAVEFORMATEX
  wFormatTag : WAVE_FORMAT_PCM
  Channels : 2
  Bits per sample : 16
  Samples per second :48000
  nBlockAlign : 4
ffdshow:
Code:
WAVEFORMATEX
  wFormatTag : 577
  Channels : 8
  Bits per sample : 16
  Samples per second :192000
  nBlockAlign : 16
This is the same kind of difference I saw between PDVD9 and ffdshow that albain said was crazy. So, maybe it's not so crazy after all. At least you were able to confirm the bitstream data blocks are identical, so, that's good. Thanks, Seb, nice work!!
It would seem that here, FFDshow is describing the actual sound stream (8ch) while TMT3 is descrining the AC3 type container which is always PCM stereo @ 48khz.

jimwhite is offline   Reply With Quote
Old 6th January 2010, 17:36   #990  |  Link
SamuriHL
Registered User
 
SamuriHL's Avatar
 
Join Date: May 2004
Posts: 5,351
Quote:
Originally Posted by jimwhite View Post
It would seem that here, FFDshow is describing the actual sound stream (8ch) while TMT3 is descrining the AC3 type container which is always PCM stereo @ 48khz.

It's very possible. It looks as though albain found the difference that's likely to be causing the problem, so, hopefully tomorrow he'll release an updated build for us to try. If this leads to better compatibility then it was worth the effort IMO.
__________________
HTPC: Windows 11, AMD 5900X, RTX 3080, Pioneer Elite VSX-LX303, LG G2 77" OLED
SamuriHL is offline   Reply With Quote
Old 6th January 2010, 17:43   #991  |  Link
albain
Media Control author
 
Join Date: Dec 2006
Location: Paris
Posts: 1,014
Hi, for now I didn't find out what makes that difference and that doesn't sound logical to me.

There are 4 hexa (2 bytes) after 72F81F4E1104 which is the size.
The bytes have to be swapped.
For example :
72F81F4E1104 C828
gives 28C8 = 10440 bytes = 12 extra bytes (0001000000000000FEFE just after) + size of the DTS block + size of DTS-HD block
This rule sound right and is respected most of the time.

But sometimes there is a difference on TMT logs : there are a few more bytes (4, 8, 12 it depends)

I thought that this was some kindof modulo but this isn't.

Weird....

Last edited by albain; 6th January 2010 at 17:46.
albain is offline   Reply With Quote
Old 6th January 2010, 17:50   #992  |  Link
SamuriHL
Registered User
 
SamuriHL's Avatar
 
Join Date: May 2004
Posts: 5,351
Uhhhh, that's not good. How do we figure out what those extra bytes are and what they should be and when they should be used?? Yikes.
__________________
HTPC: Windows 11, AMD 5900X, RTX 3080, Pioneer Elite VSX-LX303, LG G2 77" OLED
SamuriHL is offline   Reply With Quote
Old 6th January 2010, 19:20   #993  |  Link
albain
Media Control author
 
Join Date: Dec 2006
Location: Paris
Posts: 1,014
Those extra bytes are always there : they are 12 bytes long,

I made a little program to calculate the difference between the FFDShow size (size of the buffer actually) and TMT size which is higher sometimes :

Here is an extract.
Value 1 : length that is different sometimes
Value 2 : length of the buffer
Value 3 : value 2 - value 1 - 12 (the extra bytes)

When value 3 is 0, this is normal
Code:
3256;3236;8
5272;5248;12
5240;5220;8
5288;5264;12
5256;5240;4
5240;5220;8
5304;5280;12
5800;5776;12
5784;5764;8
5800;5788;0
5784;5764;8
5832;5820;0
5880;5864;4
5816;5792;12
5864;5848;4
5816;5792;12
5864;5852;0
5784;5764;8
5720;5704;4
5768;5744;12
5768;5752;4
5736;5720;4
5768;5744;12
5768;5744;12
5752;5740;0
5736;5720;4
5784;5760;12
...
...
17544;17520;12
17048;17036;0
17528;17508;8
17608;17592;4
17720;17700;8
17688;17664;12
18120;18104;4
17432;17416;4
17736;17716;8
17752;17728;12
17432;17420;0
17960;17940;8
17752;17728;12
17272;17248;12
18136;18116;8
17560;17544;4
17256;17244;0
17384;17360;12
17720;17704;4
17624;17612;0
17272;17256;4
17496;17476;8
17624;17612;0
16824;16812;0
17160;17140;8
17000;16984;4
17448;17424;12
17448;17436;0
17176;17164;0
16616;16596;8
17160;17136;12
17080;17064;4

Last edited by albain; 6th January 2010 at 19:26.
albain is offline   Reply With Quote
Old 6th January 2010, 19:28   #994  |  Link
SamuriHL
Registered User
 
SamuriHL's Avatar
 
Join Date: May 2004
Posts: 5,351
Um, that's a lot of "not normal" in there!
__________________
HTPC: Windows 11, AMD 5900X, RTX 3080, Pioneer Elite VSX-LX303, LG G2 77" OLED
SamuriHL is offline   Reply With Quote
Old 6th January 2010, 19:39   #995  |  Link
albain
Media Control author
 
Join Date: Dec 2006
Location: Paris
Posts: 1,014
I still think this is some kind of modulo because the values added are always 4, 8 or 12.

Maybe Madshi will have an idea (he found out for TrueHD!)
albain is offline   Reply With Quote
Old 6th January 2010, 19:41   #996  |  Link
SamuriHL
Registered User
 
SamuriHL's Avatar
 
Join Date: May 2004
Posts: 5,351
I really hope so cause I'd love to see this issue get fixed so we have max compatibility.
__________________
HTPC: Windows 11, AMD 5900X, RTX 3080, Pioneer Elite VSX-LX303, LG G2 77" OLED
SamuriHL is offline   Reply With Quote
Old 6th January 2010, 19:54   #997  |  Link
SamuriHL
Registered User
 
SamuriHL's Avatar
 
Join Date: May 2004
Posts: 5,351
How is the buffer size calculated? I'd like to take a peak at this and see if I can see any kind of pattern in it that may help.
__________________
HTPC: Windows 11, AMD 5900X, RTX 3080, Pioneer Elite VSX-LX303, LG G2 77" OLED
SamuriHL is offline   Reply With Quote
Old 6th January 2010, 20:23   #998  |  Link
BSalita
Registered User
 
Join Date: Dec 2009
Location: Paris
Posts: 3
Value1 = (Value2 & ~0xf) + 0x18

C'est vrai?
BSalita is offline   Reply With Quote
Old 6th January 2010, 20:24   #999  |  Link
albain
Media Control author
 
Join Date: Dec 2006
Location: Paris
Posts: 1,014
Quote:
Originally Posted by SamuriHL View Post
How is the buffer size calculated? I'd like to take a peak at this and see if I can see any kind of pattern in it that may help.
Here is how it works

Each buffer is formatted as follows :

1/ 72F81F4E1104 : IEC header including format type
2/ calculated size (2 bytes or 4 hexas) : the size which is wrongly calculated by FFDShow.

This size corresponds to the bytes starting at 3/ (so it starts with the extra bytes)

3/ 0001000000000000FEFE : extra bytes (12 bytes)
4/ data size (2 bytes) sum of size of the DTS block + the DTS HD block. => normally this data size + 12 = calculated size.
After this data size (starting at 4/) you will get zeros to fill in the rest of the buffer which is always 32768 long
4/ DTS block starting with FE7F
5/ DTS HD block following starting with 58642520
68160001000000000000FEFE5016
albain is offline   Reply With Quote
Old 6th January 2010, 20:27   #1000  |  Link
albain
Media Control author
 
Join Date: Dec 2006
Location: Paris
Posts: 1,014
Quote:
Originally Posted by BSalita View Post
Value1 = (Value2 & ~0xf) + 0x18

C'est vrai?
You're right my friend !!!

I updated my little program and this formula works for every buffers !

Thank you so much!!
albain is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 06:52.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.