Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Differentiating DTS:X and DTS-HD MA for IMAX enhanced movies (special variant of DTS:X) #422

Closed
rg9400 opened this issue Mar 6, 2020 · 38 comments · Fixed by MediaArea/MediaInfoLib#1651

Comments

@rg9400
Copy link

rg9400 commented Mar 6, 2020

Mediainfo version 19.09

I noticed that a lot of recent 4k releases have DTS:X tracks, but when I rip them and check the mediainfo, it is identified as DTS-HD MA with no discernible difference in the mediainfo between that and an actual DTS-HD MA track. I did check older releases, and they do have the proper XLL X parameter listed.

I had this tested via playback on a Denon receiver, and the receiver did pick up DTS:X MA as the codec. The movie is Charlie's Angels though I noticed similar behavior for A Beautiful Day in the Neighborhood and Zombieland Double Tap as well. Listing the full mediainfo for the file below.

EDIT: IMAX enhanced movies are using a special variant of DTS X that MediaInfo is not able to currently recognize.

Source: https://www.highdefdigest.com/blog/imax-enhanced-dts-audio-format-debut/

{
"media": {
"@ref": "E:\\Ctd\\Charlie's Angels\\test.mkv",
"track": [
{
"@type": "General",
"UniqueID": "199763530053310689454084631493189799213",
"VideoCount": "1",
"AudioCount": "1",
"TextCount": "21",
"MenuCount": "1",
"FileExtension": "mkv",
"Format": "Matroska",
"Format_Version": "4",
"FileSize": "48140699169",
"Duration": "7110.112",
"OverallBitRate_Mode": "VBR",
"OverallBitRate": "54165897",
"FrameRate": "23.976",
"FrameCount": "170472",
"StreamSize": "5700270",
"IsStreamable": "Yes",
"Title": "Charlie's Angels 4K",
"Movie": "Charlie's Angels 4K",
"Encoded_Date": "UTC 2020-02-28 04:22:19",
"File_Created_Date": "UTC 2020-03-05 22:40:19.214",
"File_Created_Date_Local": "2020-03-05 16:40:19.214",
"File_Modified_Date": "UTC 2020-03-01 00:58:55.700",
"File_Modified_Date_Local": "2020-02-29 18:58:55.700",
"Encoded_Application": "mkvmerge v43.0.0 ('The Quartermaster') 64-bit",
"Encoded_Library": "libebml v1.3.10 + libmatroska v1.5.2",
"extra": {
"IMDB": "tt5033998",
"TMDB": "movie/458897"
}
},
{
"@type": "Video",
"StreamOrder": "0",
"ID": "1",
"UniqueID": "1824465896351993439",
"Format": "HEVC",
"Format_Profile": "Main 10",
"Format_Level": "5.1",
"Format_Tier": "High",
"HDR_Format": "SMPTE ST 2086",
"HDR_Format_Compatibility": "HDR10",
"CodecID": "V_MPEGH/ISO/HEVC",
"Duration": "7110.103000000",
"BitRate": "47280648",
"Width": "3840",
"Height": "2160",
"Sampled_Width": "3840",
"Sampled_Height": "2160",
"PixelAspectRatio": "1.000",
"DisplayAspectRatio": "1.778",
"FrameRate_Mode": "CFR",
"FrameRate": "23.976",
"FrameCount": "170472",
"ColorSpace": "YUV",
"ChromaSubsampling": "4:2:0",
"ChromaSubsampling_Position": "Type 2",
"BitDepth": "10",
"Delay": "0.000",
"StreamSize": "42021284828",
"Default": "Yes",
"Forced": "No",
"colour_description_present": "Yes",
"colour_description_present_Source": "Stream",
"colour_range": "Limited",
"colour_range_Source": "Stream",
"colour_primaries": "BT.2020",
"colour_primaries_Source": "Stream",
"transfer_characteristics": "PQ",
"transfer_characteristics_Source": "Stream",
"matrix_coefficients": "BT.2020 non-constant",
"matrix_coefficients_Source": "Stream",
"MasteringDisplay_ColorPrimaries": "Display P3",
"MasteringDisplay_ColorPrimaries_Source": "Stream",
"MasteringDisplay_Luminance": "min: 0.0050 cd/m2, max: 4000 cd/m2",
"MasteringDisplay_Luminance_Source": "Stream",
"MaxCLL": "9949 cd/m2",
"MaxCLL_Source": "Stream",
"MaxFALL": "904 cd/m2",
"MaxFALL_Source": "Stream"
},
{
"@type": "Audio",
"StreamOrder": "1",
"ID": "2",
"UniqueID": "2614698419623003428",
"Format": "DTS",
"Format_Commercial_IfAny": "DTS-HD Master Audio",
"Format_Settings_Mode": "16",
"Format_Settings_Endianness": "Big",
"Format_AdditionalFeatures": "XLL",
"CodecID": "A_DTS",
"Duration": "7110.112000000",
"BitRate_Mode": "VBR",
"BitRate": "6242280",
"Channels": "8",
"ChannelPositions": "Front: L C R, Side: L R, Back: L R, LFE",
"ChannelLayout": "C L R LFE Lb Rb Lss Rss",
"SamplesPerFrame": "512",
"SamplingRate": "48000",
"SamplingCount": "341285376",
"FrameRate": "93.750",
"FrameCount": "666573",
"BitDepth": "24",
"Compression_Mode": "Lossless",
"Delay": "0.000",
"Delay_Source": "Container",
"StreamSize": "5547914400",
"StreamSize_Proportion": "0.11524",
"Title": "DTS:X 7.1",
"Language": "en",
"Default": "Yes",
"Forced": "No"
},
{
"@type": "Text",
"@typeorder": "1",
"ID": "3",
"UniqueID": "1235063323383860457",
"Format": "PGS",
"CodecID": "S_HDMV/PGS",
"Duration": "1172.338000000",
"BitRate": "1045",
"FrameRate": "0.015",
"FrameCount": "18",
"ElementCount": "18",
"StreamSize": "153154",
"Title": "English (Forced only)",
"Language": "en",
"Default": "Yes",
"Forced": "Yes"
},
{
"@type": "Text",
"@typeorder": "2",
"ID": "4",
"UniqueID": "2488744153031235836",
"Format": "PGS",
"CodecID": "S_HDMV/PGS",
"Duration": "6755.081000000",
"BitRate": "36572",
"FrameRate": "0.475",
"FrameCount": "3206",
"ElementCount": "3206",
"StreamSize": "30880975",
"Title": "English",
"Language": "en",
"Default": "No",
"Forced": "No"
},
{
"@type": "Text",
"@typeorder": "3",
"ID": "5",
"UniqueID": "10953577976682247923",
"Format": "PGS",
"CodecID": "S_HDMV/PGS",
"Duration": "6941.894000000",
"BitRate": "44155",
"FrameRate": "0.550",
"FrameCount": "3820",
"ElementCount": "3820",
"StreamSize": "38314926",
"Title": "English (SDH)",
"Language": "en",
"Default": "No",
"Forced": "No"
},
{
"@type": "Text",
"@typeorder": "4",
"ID": "6",
"UniqueID": "16862252624415932763",
"Format": "PGS",
"CodecID": "S_HDMV/PGS",
"Duration": "7061.971000000",
"BitRate": "20890",
"FrameRate": "0.468",
"FrameCount": "3305",
"ElementCount": "3305",
"StreamSize": "18441013",
"Title": "Arabic",
"Language": "ar",
"Default": "No",
"Forced": "No"
},
{
"@type": "Text",
"@typeorder": "5",
"ID": "7",
"UniqueID": "10945388432280711048",
"Format": "PGS",
"CodecID": "S_HDMV/PGS",
"Duration": "7061.971000000",
"BitRate": "31402",
"FrameRate": "0.456",
"FrameCount": "3223",
"ElementCount": "3223",
"StreamSize": "27720063",
"Title": "Bulgarian",
"Language": "bg",
"Default": "No",
"Forced": "No"
},
{
"@type": "Text",
"@typeorder": "6",
"ID": "8",
"UniqueID": "13404179805721034748",
"Format": "PGS",
"CodecID": "S_HDMV/PGS",
"Duration": "7056.132000000",
"BitRate": "29759",
"FrameRate": "0.454",
"FrameCount": "3204",
"ElementCount": "3204",
"StreamSize": "26248744",
"Title": "Croatian",
"Language": "hr",
"Default": "No",
"Forced": "No"
},
{
"@type": "Text",
"@typeorder": "7",
"ID": "9",
"UniqueID": "13794397695572376233",
"Format": "PGS",
"CodecID": "S_HDMV/PGS",
"Duration": "7056.132000000",
"BitRate": "31385",
"FrameRate": "0.464",
"FrameCount": "3275",
"ElementCount": "3275",
"StreamSize": "27682644",
"Title": "Czech",
"Language": "cs",
"Default": "No",
"Forced": "No"
},
{
"@type": "Text",
"@typeorder": "8",
"ID": "10",
"UniqueID": "4031795221431290045",
"Format": "PGS",
"CodecID": "S_HDMV/PGS",
"Duration": "7056.132000000",
"BitRate": "27660",
"FrameRate": "0.447",
"FrameCount": "3155",
"ElementCount": "3155",
"StreamSize": "24396810",
"Title": "French",
"Language": "fr",
"Default": "No",
"Forced": "No"
},
{
"@type": "Text",
"@typeorder": "9",
"ID": "11",
"UniqueID": "6217050999495593679",
"Format": "PGS",
"CodecID": "S_HDMV/PGS",
"Duration": "6763.006000000",
"BitRate": "36639",
"FrameRate": "0.480",
"FrameCount": "3247",
"ElementCount": "3247",
"StreamSize": "30974151",
"Title": "Greek",
"Language": "el",
"Default": "No",
"Forced": "No"
},
{
"@type": "Text",
"@typeorder": "10",
"ID": "12",
"UniqueID": "7516980359831019735",
"Format": "PGS",
"CodecID": "S_HDMV/PGS",
"Duration": "7062.472000000",
"BitRate": "25997",
"FrameRate": "0.469",
"FrameCount": "3315",
"ElementCount": "3315",
"StreamSize": "22951131",
"Title": "Hebrew",
"Language": "he",
"Default": "No",
"Forced": "No"
},
{
"@type": "Text",
"@typeorder": "11",
"ID": "13",
"UniqueID": "14207411358360306617",
"Format": "PGS",
"CodecID": "S_HDMV/PGS",
"Duration": "7056.132000000",
"BitRate": "34035",
"FrameRate": "0.454",
"FrameCount": "3204",
"ElementCount": "3204",
"StreamSize": "30019751",
"Title": "Hungarian",
"Language": "hu",
"Default": "No",
"Forced": "No"
},
{
"@type": "Text",
"@typeorder": "12",
"ID": "14",
"UniqueID": "11812870529798669692",
"Format": "PGS",
"CodecID": "S_HDMV/PGS",
"Duration": "7062.472000000",
"BitRate": "32819",
"FrameRate": "0.444",
"FrameCount": "3134",
"ElementCount": "3134",
"StreamSize": "28973626",
"Title": "Icelandic",
"Language": "is",
"Default": "No",
"Forced": "No"
},
{
"@type": "Text",
"@typeorder": "13",
"ID": "15",
"UniqueID": "4316700920247227926",
"Format": "PGS",
"CodecID": "S_HDMV/PGS",
"Duration": "7061.638000000",
"BitRate": "30074",
"FrameRate": "0.534",
"FrameCount": "3774",
"ElementCount": "3774",
"StreamSize": "26546481",
"Title": "Korean",
"Language": "ko",
"Default": "No",
"Forced": "No"
},
{
"@type": "Text",
"@typeorder": "14",
"ID": "16",
"UniqueID": "1663490792835211507",
"Format": "PGS",
"CodecID": "S_HDMV/PGS",
"Duration": "7056.132000000",
"BitRate": "34407",
"FrameRate": "0.455",
"FrameCount": "3211",
"ElementCount": "3211",
"StreamSize": "30347824",
"Title": "Polish",
"Language": "pl",
"Default": "No",
"Forced": "No"
},
{
"@type": "Text",
"@typeorder": "15",
"ID": "17",
"UniqueID": "8264533774351787290",
"Format": "PGS",
"CodecID": "S_HDMV/PGS",
"Duration": "7056.132000000",
"BitRate": "37263",
"FrameRate": "0.462",
"FrameCount": "3259",
"ElementCount": "3259",
"StreamSize": "32866817",
"Title": "Portuguese (Iberian)",
"Language": "pt",
"Default": "No",
"Forced": "No"
},
{
"@type": "Text",
"@typeorder": "16",
"ID": "18",
"UniqueID": "4735549868080252193",
"Format": "PGS",
"CodecID": "S_HDMV/PGS",
"Duration": "7056.132000000",
"BitRate": "33533",
"FrameRate": "0.435",
"FrameCount": "3071",
"ElementCount": "3071",
"StreamSize": "29577187",
"Title": "Romanian",
"Language": "ro",
"Default": "No",
"Forced": "No"
},
{
"@type": "Text",
"@typeorder": "17",
"ID": "19",
"UniqueID": "11047766040909238408",
"Format": "PGS",
"CodecID": "S_HDMV/PGS",
"Duration": "7061.971000000",
"BitRate": "30555",
"FrameRate": "0.456",
"FrameCount": "3218",
"ElementCount": "3218",
"StreamSize": "26973016",
"Title": "Serbian",
"Language": "sr",
"Default": "No",
"Forced": "No"
},
{
"@type": "Text",
"@typeorder": "18",
"ID": "20",
"UniqueID": "16461732301770012319",
"Format": "PGS",
"CodecID": "S_HDMV/PGS",
"Duration": "7056.049000000",
"BitRate": "29037",
"FrameRate": "0.466",
"FrameCount": "3289",
"ElementCount": "3289",
"StreamSize": "25611422",
"Title": "Slovak",
"Language": "sk",
"Default": "No",
"Forced": "No"
},
{
"@type": "Text",
"@typeorder": "19",
"ID": "21",
"UniqueID": "15182836490083118557",
"Format": "PGS",
"CodecID": "S_HDMV/PGS",
"Duration": "7056.049000000",
"BitRate": "28651",
"FrameRate": "0.376",
"FrameCount": "2652",
"ElementCount": "2652",
"StreamSize": "25270566",
"Title": "Slovenian",
"Language": "sl",
"Default": "No",
"Forced": "No"
},
{
"@type": "Text",
"@typeorder": "20",
"ID": "22",
"UniqueID": "4374001836833664",
"Format": "PGS",
"CodecID": "S_HDMV/PGS",
"Duration": "7056.132000000",
"BitRate": "33832",
"FrameRate": "0.459",
"FrameCount": "3239",
"ElementCount": "3239",
"StreamSize": "29841126",
"Title": "Spanish (Latin American)",
"Language": "es",
"Default": "No",
"Forced": "No"
},
{
"@type": "Text",
"@typeorder": "21",
"ID": "23",
"UniqueID": "1088723151376132958",
"Format": "PGS",
"CodecID": "S_HDMV/PGS",
"Duration": "7056.091000000",
"BitRate": "36290",
"FrameRate": "0.468",
"FrameCount": "3301",
"ElementCount": "3301",
"StreamSize": "32008244",
"Title": "Turkish",
"Language": "tr",
"Default": "No",
"Forced": "No"
},
{
"@type": "Menu",
"extra": {
"_00_00_00_000": "en:Chapter 01",
"_00_10_26_626": "en:Chapter 02",
"_00_16_50_551": "en:Chapter 03",
"_00_26_28_754": "en:Chapter 04",
"_00_31_52_786": "en:Chapter 05",
"_00_37_36_087": "en:Chapter 06",
"_00_43_55_883": "en:Chapter 07",
"_00_46_39_255": "en:Chapter 08",
"_00_51_26_542": "en:Chapter 09",
"_00_55_10_265": "en:Chapter 10",
"_01_03_48_700": "en:Chapter 11",
"_01_11_24_197": "en:Chapter 12",
"_01_20_14_852": "en:Chapter 13",
"_01_30_47_567": "en:Chapter 14",
"_01_40_31_651": "en:Chapter 15",
"_01_45_24_109": "en:Chapter 16"
}
}
]
}
}
@JeromeMartinez
Copy link
Member

Detection of DTS:X is from empirical checks, as I have no spec.
Please provide a sample file + the version of MediaInfo which detects it.

@rg9400
Copy link
Author

rg9400 commented Mar 6, 2020

I emailed you a sample that is not being detected as DTS:X MA on MediaInfo 19.09. It might be related to some new spec/slight changes in the last couple of months. I just noticed the same issue with the 4k disk of Jumanji Next Level

@rg9400
Copy link
Author

rg9400 commented Mar 6, 2020

If it helps, prima facie, it seems like the commonality between these disks is that they are all IMAX Enhanced. Not sure if that's true for all of these DTS:X MA tracks that are not being recognized as such from MediaInfo, but from my limited sample size, does seem to be the only common point in comparison to say like Phantom Thread, which does have a properly recognized DTS:X track.

@loungebob
Copy link

And I thought it was me! Drove me crazy.

Jumanji TNL is indeed detected as DTSHDMA 7.1 and not DTS-X 7.1. I checked Phantom Thread and that one shows DTS XLL X properly.

I dont see mine as being IMAX enhanced though.

@rg9400
Copy link
Author

rg9400 commented Mar 15, 2020

Any update on this? Mainly, were you able to also replicate/see the issue, or am I and loungebob just going crazy?

@JeromeMartinez
Copy link
Member

Any update on this?

I have some urgent paid support to provide before checking this issue.

For speeding up the check on my side:

I did check older releases, and they do have the proper XLL X parameter listed.

Please provide a version number about when it is detected.

@rg9400
Copy link
Author

rg9400 commented Mar 16, 2020

No worries, that makes sense.

I think I was not fully clear. No version of MediaInfo that I tested seems to be recognizing this file as DTS X. Actually, what I was saying is that MediaInfo version 19.09 does recognize older movies as having DTS X tracks. In other words, it is not an issue with MediaInfo version, but maybe newer movies using a slightly different spec. Could be related to them being IMAX Enhanced

@parasiteoflife
Copy link

I was going to report this, good thing I checked first.
Do you need more sample files?
I got one from A Beautiful Planet that is IMAX Enhanced too and is not being detected as DTS:X.

@rg9400
Copy link
Author

rg9400 commented May 11, 2020

Might be worth sending him an email with it. Not sure if my sample was very good. I definitely notice this specifically with IMAX enhanced movies with DTS X tracks. It is a special variant

“The IMAX Enhanced program uses the newest, proprietary post-production process developed by IMAX to digitally re-master content to produce more vibrant colors, greater contrast and sharper clarity. IMAX and DTS have also partnered with award-winning Hollywood sound mixers to use a special variant of the DTS:X codec technology integrated in home audio equipment to deliver an IMAX signature sound experience with more immersive, powerful sound.”

Source: https://www.highdefdigest.com/blog/imax-enhanced-dts-audio-format-debut/

@JeromeMartinez
Copy link
Member

Do you need more sample files?

The more is the better, in order to have more chances to understand how it is "hidden" in the file.


The best would be at the minimum to have DTS provide their specs as Dolby does...

@parasiteoflife
Copy link

I sent you an email. I've uploaded the entire track as I didn't know if spliting it would mess with something, so to be completely sure I didn't do it.

@JeromeMartinez
Copy link
Member

I've uploaded the entire track as I didn't know if spliting it would mess with something, so to be completely sure I didn't do it.

DTS has standalone frames, anyway it can be useful to test all frames so thanks for the complete file.
I try to find something when I have free time, no ETA (lack of time + reverse engineering which takes time).

@parasiteoflife
Copy link

I've uploaded the entire track as I didn't know if spliting it would mess with something, so to be completely sure I didn't do it.

DTS has standalone frames, anyway it can be useful to test all frames so thanks for the complete file.
I try to find something when I have free time, no ETA (lack of time + reverse engineering which takes time).

Thanks for working on this, no pressures here.

@rg9400 rg9400 changed the title Differentiating DTS:X MA and DTS-HD MA Differentiating DTS:X and DTS-HD MA for IMAX enhanced movies (special variant of DTS:X) May 26, 2020
@Krobar
Copy link

Krobar commented Aug 8, 2020

Was any progress made on this? I can provide some interesting samples if that would help (Imax Enhanced and high object count DTS:X)

@Krobar
Copy link

Krobar commented Nov 12, 2020

Not sure if it is best to raise a separate issue but there are some normal DTS:X tracks which do not detect:
Independence Day
Whisky Tango Foxtrot
Zoolander 2

All of the above are detected fine by my receiver but Mediainfo thinks they are plain DTS HD.

@JeromeMartinez
Copy link
Member

@Krobar please few frames of each file, work on that is still stalled but having more files would be better when I decide to work on that, especially because for the moment I see only reverse engineering as a possibility, I didn't find any spec about that.

@Krobar
Copy link

Krobar commented Nov 12, 2020

Just rename to mkv.

3.log
2.log
1.log

@JeromeMartinez
Copy link
Member

@Krobar appreciated.

@Krobar
Copy link

Krobar commented Jan 14, 2021

@JeromeMartinez I'm seeing what I believe is a strong pattern on what is and is not detected as DTS:X by MediaInfo. If the media contains DTS:X with Fixed Channels and no objects then it detects OK. If the media contains DTS:X with objects (Regardless of if fixed channels are included or not) then it fails to detect.

@JeromeMartinez
Copy link
Member

If the media contains DTS:X with objects (Regardless of if fixed channels are included or not) then it fails to detect.

Detection of DTS:X is by reverse engineering, with some byte patterns. so I guess they changed a bit the bytes with objects.
anyway, without more reverse engineering, it will be always more or less random detection...

@Krobar
Copy link

Krobar commented Jan 14, 2021

You might want to check if Whisky Tango Foxtrot and Zoolander 2 have the same pattern as they were likely authored by the same people.

@acedogblast
Copy link

Can confirm that the DTS:X track from Independence Day 4K 20th anniversary edition does not get detected as DTS:X from mediainfo as of version 22.09.

@JeromeMartinez
Copy link
Member

Can confirm that the DTS:X track from Independence Day 4K 20th anniversary edition does not get detected as DTS:X from mediainfo as of version 22.09.

No change there, we didn't check by reverse engineering or so. Is it detected by any other open source software?

@acedogblast
Copy link

Not that I know of.

@JeromeMartinez
Copy link
Member

@Krobar @loungebob @acedogblast @rg9400 @parasiteoflife @alexdns1:
Please test this development snapshot and share DTS:X or IMAX Enhanced streams not detected as such: Windows, macOS.

We implemented parsing of the XLL addition (DTS-HD MA) in order to catch the end of the bitstream (and the real lossless bit depth, by the way) as specified in latest available spec and probe the bytes next to the end of this known bitstream, then we check for "magic values"; it is reverse engineering and empirical tests, we found 2 magic values (1 bit difference) in the streams we found for IMAX, so maybe there are maybe more streams not caught with that.

Also, we are a bit lost in what is what, you know better than us. Current implementation:

DTS:X:

Audio
Format                                   : DTS XLL X
Format/Info                              : Digital Theater Systems
Commercial name                          : DTS:X
Bit rate mode                            : Variable
Channel(s)                               : Object Based
Channel layout                           : Object Based
Sampling rate                            : 48.0 kHz
Frame rate                               : 93.750 FPS (512 SPF)
Bit depth                                : 24 bits

IMAX Enhanced:

Format                                   : DTS XLL IMAX
Format/Info                              : Digital Theater Systems
Commercial name                          : IMAX Enhanced
Bit rate mode                            : Variable
Sampling rate                            : 48.0 kHz
Frame rate                               : 93.750 FPS (512 SPF)
Bit depth                                : 22 bits

Does it make sense? i.e. is it true that IMAX version is not compatible (DTS:X non IMAX plays only the DTS-HD MA, not catching any DTS:X)? is it true that DTS:X is object based and IMAX Enhanced channel based?
We don't have more details because we have no idea about how is the extra content (no spec available).
As the link above says "MAX Enhanced is hamstrung by the current DTS:X limit of only 11 channels of audio, which can be configured as either 9.1.2 or 7.1.4.", can we guess that DTS-HD MA with 7.1 means DTS:X with 7.1.4 and DTS-HD MA with 9.1 means DTS:X with 9.1.2 or is 7.1.2 possible?

It removes the count of channels from the legacy layer because we want to show data from the most advanced detection (and we don't have the count of IMAX, only from DTS+HD MA), but DTS-HD MA channel count will come back in a later patch, more general about legacy layers?

@alexdns1
Copy link

alexdns1 commented Jan 9, 2023

@JeromeMartinez

I believe your labeling is wrong
DTS XLL IMAX should be DTS XLL X IMAX

i.e. is it true that IMAX version is not compatible (DTS:X non IMAX plays only the DTS-HD MA, not catching any DTS:X)?

No you fallback to DTS-X on compatible sink devices

is it true that DTS:X is object based and IMAX Enhanced channel based?

DTS-X is DTS HD MA with object based tracks on top
IMAX enhanced is just a marketing gimmick to sell audio devices to customers who have no clue about audio
IMAX enhanced is mostly used in streaming services like Sony Bravia Core , but there are some blurays who have it in the form of DTS-X with an extra flag which signals to your receiver that you are getting "IMAX enhanced" audio. All you are getting is DTS-X
There is also audio volume normalization ( like TrueHD Atmos tracks )

As the link above says "MAX Enhanced is hamstrung by the current DTS:X limit of only 11 channels of audio

That statement means that the max DTS-X 2 or 4 object channels which is 7.1.4 or 9.1.2. While TrueHD Atmos can do 17 ? i think object channels

can we guess that DTS-HD MA with 7.1 means DTS:X with 7.1.4

No there are lots of DTS-HD MA 7.1 tracks without object channels so they are not DTS-X

DTS-HD MA with 9.1 means DTS:X with 9.1.2 or is 7.1.2 possible?

DTS-HD MA spec is up to 7.1 - anything above that is DTS-X for sure

It removes the count of channels from the legacy layer because we want to show data from the most advanced detection (and we don't have the count of IMAX, only from DTS+HD MA)

IMAX doesn't add any additional channels...

Channel(s) : Object Based
Channel layout : Object Based

Instead of displaying "Object Based" can you display the DTS channel count + Object Based

@JeromeMartinez
Copy link
Member

i.e. is it true that IMAX version is not compatible (DTS:X non IMAX plays only the DTS-HD MA, not catching any DTS:X)?

No you fallback to DTS-X on compatible sink devices

"Magic values" are very different (0x02000850 for DTS:X vs 0xF14000D0 for IMAX), I guess that there was some provision for legacy DTS:X not IMAX, so OK I flag that as "X IMAX" until someone says that their IMAX thing does not work on their DTS:X non IMAX decoder.

DTS-HD MA with 9.1 means DTS:X with 9.1.2 or is 7.1.2 possible?

DTS-HD MA spec is up to 7.1 - anything above that is DTS-X for sure

Technically it seems that there is no such limit for MA. I am interested in a sample stream with 9.1.2 channels.

IMAX doesn't add any additional channels...

This stuff makes me crazy, there is more marketing stuff than anything technical...

Instead of displaying "Object Based" can you display the DTS channel count + Object Based

This is what is already used for DTS:X not IMAX, but now I check Dolby Atmos and I see that the display does the difference between "classic" stream and the object parts, with a "Bed channels" line, so for the moment let's keep the "classic" stream (core+MA) channels.

New version:

DTS:X:

Audio
Format                                   : DTS XLL X
Format/Info                              : Digital Theater Systems
Commercial name                          : DTS:X
Bit rate mode                            : Variable
Channel(s)                               : 8 channels
Channel layout                           : C L R LFE Lb Rb Lss Rss
Sampling rate                            : 48.0 kHz
Frame rate                               : 93.750 FPS (512 SPF)
Bit depth                                : 24 bits

IMAX Enhanced:

Format                                   : DTS XLL X IMAX
Format/Info                              : Digital Theater Systems
Commercial name                          : IMAX Enhanced
Bit rate mode                            : Variable
Channel(s)                               : 8 channels
Channel layout                           : C L R LFE Lb Rb Lss Rss
Sampling rate                            : 48.0 kHz
Frame rate                               : 93.750 FPS (512 SPF)
Bit depth                                : 22 bits

Wondering... DTS-HD MA is lossless, is DTS:X or IMAX lossless too?

@alexdns1
Copy link

alexdns1 commented Jan 9, 2023

Technically it seems that there is no such limit for MA. I am interested in a sample stream with 9.1.2 channels.

DTS HD MA max technical channels are 8 in a 7.1 configuration. There is no object audio on it - that is DTS-X
Im not aware of any official DTS-X releases with >7.1 audio base configuration without objects so 9.1.2 will be impossible to find - that is usually auro3d territory

This stuff makes me crazy, there is more marketing stuff than anything technical...

Well they need to sell stuff to people that have already perfectly working receivers/sink - they cant otherwise

New version:

Yep that works great !

Wondering... DTS-HD MA is lossless, is DTS:X or IMAX lossless too?

Oh boy you are in for a treat !
DTS HD MA is always lossless
DTS-X can be lossy or lossless - example bluray is lossless but streaming is not. and new services will start offering more dts-x soon like disney+ - which will be dts-x i suppose 576k like Sony Bravia Core for old movies without objects and will be lossy and DTS-X IMAX again 576k but with objects again lossy
DTS-X IMAX can be lossy or lossless - example bluray is lossless but for streaming is always lossy

@JeromeMartinez
Copy link
Member

example bluray is lossless but streaming is not.

They use the same commercial name for so different things... even worse that they use DTS-HD MA (so lossless) as the base for then lossy stuff.
I am interested in having lossy streams (need only of few audio frames) in order to see how is the DTS-HD MA (empty? I don't see how the DTS-HD MA part could be lossless if there is a low bitrate constraint).

@alexdns1
Copy link

alexdns1 commented Jan 9, 2023

I am interested in having lossy streams (need only of few audio frames) in order to see how is the DTS-HD MA (empty? I don't see how the DTS-HD MA part could be lossless if there is a low bitrate constraint).

Its about how they are encoded and from what source. You can encode DTS HD-MA or DTS-X in any bitrate you like
For blurays the audio is encoded losslessly - if you have a PCM source and you encode in DTS and back to PCM you will get the same md5 of each time frame of the audio - as in the compression is transparent and fully reversible
For streaming the audio is encoded lossy - heavily compressed at bitrate top of 768kb from what i've seen on Bravia Core for both DTS core and DTS-X IMAX - the compression is not transparent , there is quality loss and irreversible - makes it lossy

@JeromeMartinez
Copy link
Member

For streaming the audio is encoded lossy - heavily compressed at bitrate top of 768kb from what i've seen on Bravia Core for both DTS core and DTS-X IMAX - the compression is not transparent , there is quality loss and irreversible - makes it lossy

Could you share some audio frames of this "lossy" streams? I am curious to see how XLL extension is used in that case (XLL is supposed to be lossless... Maybe they just ignore the lossless part and jump directly to the "X" part, I would like to see that).

@alexdns1
Copy link

alexdns1 commented Jan 9, 2023

@JeromeMartinez sorry i dont have any DTS-X IMAX streaming releases but i will ask around to see if i can come up with something for you

@parasiteoflife
Copy link

I've tested with some movies and it detected the tracks as:

  • How to Train Your Dragon 2 UHD - as DTS:X
  • Jason Bourne - as DTS:X
  • Atomic Blonde - as DTS:X
  • Zoolander 2 - as IMAX Enhanced
  • A Beautiful Planet - as IMAX Enhanced

In the current stable release they are detected as:

  • How to Train Your Dragon 2 UHD - as DTS-HD MA
  • Jason Bourne - as DTS-HD MA
  • Atomic Blonde - as DTS-HD MA
  • Zoolander 2 - as DTS-HD MA
  • A Beautiful Planet - as DTS-HD MA

There is definitely an improvement. I've only tested the movies I have and that I found in this list, it seems most releases go with Dolby.

Thanks!

@JeromeMartinez
Copy link
Member

FYI, due to #710 I refactored some code and cleaned up the DTS output.

In order to keep track of what is "under" DTS:X, I keep now the underlying commercial name.
Note that it is like what is done in FFmpeg.
I shortened "Master Audio" and "High Resolution Audio" when DTS:X is present else it becomes a so long string.

  • DTS-HD MA + DTS:X
  • DTS-HD MA + IMAX Enhanced
  • DTS-HD HRA + DTS:X

Hope it is coherent with what your AVR display, else please report incoherencies.

Development snapshot: Windows, macOS

IMAX doesn't add any additional channels...

Added.

@Sawtaytoes
Copy link

Sawtaytoes commented Mar 24, 2024

This isn't fixed completely; only for some movies. The designation is wrong for some other files: https://drive.google.com/drive/folders/1pq5XC9P9Isw-IAkriikHl4p8t_IjNxxC?usp=sharing

These files will only be hosted for a bit. Please tell me when everyone's acquired them.

Jumani: The Next Level is correct:
image

I have four other movies with IMAX Enhanced that I can clip for you to test with. Those all show up correctly.

This is from a DTS demo called Between Zero and One:
image
This isn't IMAX Enhanced; it's regular DTS:X (based on what shows up on my receiver). I have 2 demos like this that came right off a DTS Demo disc.

The Trinnov receiver company sent me some demos. They are Dolby Atmos, DTS:X, and DTS:X Pro. For some reason, the DTS:X Pro files only show regular DTS:X on my receiver, and MediaInfo doesn't know what to do with them:
image

My receiver is a Marantz AV 10. It has support for IMAX Enhanced and DTS:X Pro.

DTS:X Pro supports more than 11 channels which is good because my receiver has 15 channels + LFE. I'm not sure if DTS:X Pro is supposed to show up on the receiver though. My thinking is it just means you have more base layer channels available; I don't think it's a different protocol than DTS:X though.

@Sawtaytoes
Copy link

Do I need to post this same data somewhere else? Since this ticket is closed, it might not get the same view as open tickets.

@JeromeMartinez
Copy link
Member

Do I need to post this same data somewhere else? Since this ticket is closed, it might not get the same view as open tickets.

Sorry, I have delay in managing tickets., still on my todo-list.
A separate ticket as you did is fine.

@Sawtaytoes
Copy link

Thanks! Just didn't wanna have this info get lost.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

8 participants