[FFmpeg-devel] [RFC/PATCHES] AAC LATM decoder

Janne Grunau janne-ffmpeg
Mon Oct 18 11:53:23 CEST 2010

On Sun, Oct 17, 2010 at 03:39:48PM -0700, Alex Converse wrote:
> On Sun, Oct 17, 2010 at 3:39 AM, Janne Grunau <janne-ffmpeg at jannau.net> wrote:
> > Hi,
> >
> > I'm too annoyed by LATM in MPEG-TS to get the chained demuxers working.
> > The last annoyance which triggered my capitulation was that multiple LATM
> > frames are packed into a single PES packet.
> >
> > Based on one of Paul Kendall's libfaad LATM decoder patches I wrote a
> > decoder using FFmpeg's AAC decoder.
> >
> > I know that it's technically unclean but it's vastly simpler and less
> > annoying for the AAC LATM usage we see. All current digital TV
> > transmission use only a single stream in LATM. I have even samples with
> > multiple LATM elementary stream in MPEG-TS for a single program.
> >
> IIRC someone on IRC said that multiple stream LATM is becoming more
> popular. Where is fftrollbot when we need him?

It was kierank who said that BBC HD might use more than one stream in
LATM. I've spoken with a BBC engineer and they have only single stream
LATM. Main Audio track and audio description track have each on PID.

> What do we want to do about LATM? Multiple people have made attempts
> on it and we never seem to get anywhere. The realities of LATM don't
> seem to align nicely with the assumption FFmpeg is currently designed
> around.

I'm of course around to change the LATM handling. Chaining the demuxer
directly in the mpeg-ts demuxer is unfortunately not a sane option.

> > One (currently theoretical) advantage of the decoder approach over the
> > demuxer approach is that it could avoid the copying of the unaligned
> > aac data by passing the GetBitContext to the AAC decoder.
> >
> What are the byte alignments inside the AAC bitstream in relation to

The audio specific config seems to be byte aligned, the AAC bitstream is
only in some samples.

> IIRC there was a COR about this.

I haven't found it, but
(proposal to add LATM for IEC 60958 s/pdif) mentions the missing byte
alignment of the AAC bitstream as one reason to add it.


More information about the ffmpeg-devel mailing list