Skip to content

Conversation

cjee21
Copy link
Contributor

@cjee21 cjee21 commented Aug 19, 2025

More parsing and improved trace output for Dolby TrueHD. I put some of the new codes under a TrueHD/FBA check since I do not have MLP/FBB info or samples to know if it is the same.

@cjee21 cjee21 force-pushed the truehd branch 3 times, most recently from 1e263fa to beba6a5 Compare August 21, 2025 10:25
@cjee21
Copy link
Contributor Author

cjee21 commented Aug 21, 2025

Tried to improve the Format Format/Info and Commercial name display but there is still some weirdness especially with legacystreamdisplay enabled:

Format                                   : MLP FBA / AC-3 AC-3 MLP FBA 16-ch
Format/Info                              : Audio Coding 3 + Meridian Lossless Packing FBA with 16-channel presentation
Commercial name                          : Dolby TrueHD with Dolby Atmos
Muxing mode                              : Stream extension

@cjee21 cjee21 force-pushed the truehd branch 11 times, most recently from e48e6ae to cd6c6b7 Compare August 26, 2025 09:12
@cjee21
Copy link
Contributor Author

cjee21 commented Aug 26, 2025

int8u reserved_data_size_bits;
Get_S1 (4, reserved_data_size_bits, "reserved_data_size_bits");
int8u padding = 8 - (reserved_data_size_bits % 8);
Skip_S1(reserved_data_size_bits, "reserved_data()");
if (padding)
Skip_S1(padding, "padding");

Does not seem to match specs:

The reserved_data_size_bits codeword indicates the value of reserved_data_size.

The reserved_data_size indicates the length of the reserved_data element plus the padding element in bytes and can be calculated by the following equation:

                        reserved_data_size = reserved_data_size_bits+ 1

In this equation, the bits of the reserved_data_size_bits element are interpreted as an unsigned integer.

@cjee21 cjee21 force-pushed the truehd branch 11 times, most recently from 7b0f040 to 5e7d0b8 Compare August 27, 2025 08:23
@cjee21 cjee21 force-pushed the truehd branch 2 times, most recently from a228aa3 to 203debf Compare August 27, 2025 09:48
@cjee21 cjee21 force-pushed the truehd branch 4 times, most recently from 605dc36 to 7cde1cb Compare August 27, 2025 17:40
@cjee21
Copy link
Contributor Author

cjee21 commented Aug 27, 2025

@JeromeMartinez There should be nothing else now. Almost complete parsing of TrueHD and OAMD now. Also CRC and parity computations for TrueHD. At the moment, only two of the CRC/parity are used, the others are only computed during trace. All CRC/parity results are only shown in trace. I did not do anything regarding the items mentioned in the above two posts.

@cjee21
Copy link
Contributor Author

cjee21 commented Aug 28, 2025

Not related to this PR but noticed that for raw TrueHD stream, even with full parse, there is no duration and bitrate in output.

@JeromeMartinez
Copy link
Member

Not related to this PR but noticed that for raw TrueHD stream, even with full parse, there is no duration and bitrate in output.

It was not implemented for full parse, but should be easy, I'll give it a look.
For non full parse, there is no timestamp and it is VBR so not possible to get it.

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 this pull request may close these issues.

2 participants