[FFmpeg-devel] [PATCH] dts parser fails to parse DTS-HD Master streams due to changing frame size
madshi
dear
Thu Jul 24 21:24:27 CEST 2008
> As for DTS HD, I don't know a way to determine fixed frame
> size (for now)
It's really easy. A DTS-HD stream has always one core frame,
then one DTS-HD data block, then one core frame, then one
DTS-HD data block. Here's how the DTS-HD data blocks are
structured:
32bit -> magic (must be 0x64582025)
8bit -> unknown (can be ignored)
2bit -> index (can be ignored)
1bit -> isBlownUpHeader
if (isBlownUpHeader)
{
12bit -> header size
20bit -> full DTS-HD data block size
} else {
8bit -> header size
16bit -> full DTS-HD data block size
}
I think this is all you need to add DTS-HD support to the
libav parser. Please note that you can NOT rely on that the
DTS-HD blocks have a constant frame size. For lossless
compression each DTS-HD block has a different size. Of
course the DTS core adheres to all the usual DTS rules
including constant frame size.
> neither have samples to test.
I've sent Benjamin a whole bunch of various different
DTS-HD samples.
If you need any more information, just let me know...
Regards, madshi.
More information about the ffmpeg-devel
mailing list