Kostya Shishkov <[email protected]> writes:
> depends whom you ask ;)
> For the first frame chset sizes are 489, 476, 495 and 520.
> For the last frame sizes are 2571 and 2541.
Thanks! Sorry I'm a bit late responding, but I've been at home with a
cold for a few days.
> Hint: NAVI table should store sizes only for chsets and nothing else.
As far as I find, the spec describes this only using some pseudocode.
>From page 128-129 (with my line numbers):
1 for (Band=0; Band<P; Band++){
2 BandSize[Band]=0;
3 for(Seg=0;Seg<M;Seg++){
4 SegmentSize[Band][Seg]=ExtractBits(nBits4Ssize);
5 for(ChSET=0; ChSET<N; ChSET++){
6 if ( GetNumFreqBand4ChSet[ChSET] > Band ){
7 BandChSetSize[Band][Seg][ChSET]=ExtractBits(nBits4Ssize)+1;
8 SegmentSize[Band][Seg] += BandChSetSize[Band][Seg][ChSET];
9 }
10 }
11 BandSize[Band] += SegmentSize[Band][Seg];
12 }
13 }
14 // Re-align bit pointer to byte position
15 bitptr = next_byte_position_in_stream();
So your saying that line 4 is incorrect? If I replace that by just
initializing the segment size to zero, I get the following values for
the first and last frame of "Master Audio 5.0 96khz.dts":
XLL NAVI size table, bits per entry: 11:
band 0: 1978
seg 0: 480
chset 0: 480
seg 1: 486
chset 0: 486
seg 2: 488
chset 0: 488
seg 3: 524
chset 0: 524
XLL NAVI size table, bits per entry: 12:
band 0: 5096
seg 0: 2569
chset 0: 2569
seg 1: 2527
chset 0: 2527
So it's *close* to the values you list, but not the same... Diff -9,
-10, -7, 4, -2, -14. Just to double check, your values are for the same
input file? I guess I'll have to make a hexdump/bindump of these headers
and go through them to try to make the position of the NAVI table match
your data.
> Hint2: you might need to play with the number of downmixing
> coefficients too.
I don't think that should affect parsing of the NAVI table. Since
finding the end of each channel set subheader is done via the header
size.
Or is there some data between the last subset channel header and the
start of the navi table, which I'm missing when I read the spec?
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