I've written code to parse some additional fiels of the channel set headers, and the navigation table. It's pretty hard to know if it's correct...
I get the following output for the first and the last frame in the "Master Audio 5.0 96khz.dts" sample file: [dca @ 0x1ad4120] DTS-XLL: decoding XLL extension [dca @ 0x1ad4120] xll_nch_sets = 1 [dca @ 0x1ad4120] xll_segments = 4 [dca @ 0x1ad4120] xll_smp_in_seg = 256 [dca @ 0x1ad4120] xll_bits4seg_size = 11 [dca @ 0x1ad4120] xll_banddata_crcen = 0 [dca @ 0x1ad4120] xll_scalable_lsb = 1 [dca @ 0x1ad4120] xll_bits4ch_mask = 5 [dca @ 0x1ad4120] xll_fixed_lsb_width = 0 [dca @ 0x1ad4120] xll channel set 0 [dca @ 0x1ad4120] hdr_pos = 16464 [dca @ 0x1ad4120] hdr_size = 47 [dca @ 0x1ad4120] channels = 5 [dca @ 0x1ad4120] residual_encode = 0 [dca @ 0x1ad4120] bit_resolution = 24 [dca @ 0x1ad4120] bit_width = 24 [dca @ 0x1ad4120] sampling_frequency = 96000 [dca @ 0x1ad4120] fs_interpolate = 0 [dca @ 0x1ad4120] replacement_set = 0 [dca @ 0x1ad4120] downmix_coeff_code_embedded = 1 [dca @ 0x1ad4120] primary_ch_set = 1 [dca @ 0x1ad4120] downmix_type = 1 [dca @ 0x1ad4120] XLL NAVI size table, bits per entry: 11: [dca @ 0x1ad4120] band 0: 3323 [dca @ 0x1ad4120] seg 0: 966 [dca @ 0x1ad4120] chset 0: 486 [dca @ 0x1ad4120] seg 1: 1012 [dca @ 0x1ad4120] chset 0: 524 [dca @ 0x1ad4120] seg 2: 282 [dca @ 0x1ad4120] chset 0: 192 [dca @ 0x1ad4120] seg 3: 1063 [dca @ 0x1ad4120] chset 0: 931 [dca @ 0x1ad4120] DTS-XLL: decoding XLL extension [dca @ 0x1ad4120] xll_nch_sets = 1 [dca @ 0x1ad4120] xll_segments = 2 [dca @ 0x1ad4120] xll_smp_in_seg = 512 [dca @ 0x1ad4120] xll_bits4seg_size = 12 [dca @ 0x1ad4120] xll_banddata_crcen = 0 [dca @ 0x1ad4120] xll_scalable_lsb = 1 [dca @ 0x1ad4120] xll_bits4ch_mask = 5 [dca @ 0x1ad4120] xll_fixed_lsb_width = 0 [dca @ 0x1ad4120] xll channel set 0 [dca @ 0x1ad4120] hdr_pos = 16464 [dca @ 0x1ad4120] hdr_size = 98 [dca @ 0x1ad4120] channels = 5 [dca @ 0x1ad4120] residual_encode = 0 [dca @ 0x1ad4120] bit_resolution = 24 [dca @ 0x1ad4120] bit_width = 24 [dca @ 0x1ad4120] sampling_frequency = 96000 [dca @ 0x1ad4120] fs_interpolate = 0 [dca @ 0x1ad4120] replacement_set = 0 [dca @ 0x1ad4120] downmix_coeff_code_embedded = 1 [dca @ 0x1ad4120] primary_ch_set = 1 [dca @ 0x1ad4120] downmix_type = 1 [dca @ 0x1ad4120] XLL NAVI size table, bits per entry: 12: [dca @ 0x1ad4120] band 0: 10087 [dca @ 0x1ad4120] seg 0: 5096 [dca @ 0x1ad4120] chset 0: 2527 [dca @ 0x1ad4120] seg 1: 4991 [dca @ 0x1ad4120] chset 0: 979 At least doesn't look obviously bogus. Some frames seem to have 2 segments and 512 samples / segment, others have 4 segments with 256 samples / segment. I've put a copy of my repo at http://www.southpole.se/~nisse/libav.git, branch xll. Regards, /Niels -- Niels Möller. PGP-encrypted email is preferred. Keyid C0B98E26. Internet email is subject to wholesale government surveillance. _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
