[FFmpeg-devel] [PATCH] Add an AMR parser

Martin Storsjö martin
Mon Mar 29 09:11:47 CEST 2010


On Sun, 28 Mar 2010, Ronald S. Bultje wrote:

> On Sat, Mar 27, 2010 at 2:25 PM, Martin Storsj? <martin at martin.st> wrote:
> > The attached patch adds an AMR parser, able to split/join AMR frames as
> > needed. It's very far based on the AAC parser, and thus retains the
> > copyright headers from that file.
> >
> > With this parser enabled, I was able to play back .amr files even if the
> > AMR demuxer was modified to return non-aligned frames.
> 
> Same problem as the RTP parser, we keep yet another copy of the table.
> I'd prefer if that was shared between all AMR-[NW]B de/enthingers.

The entities that have this kind of table are:
- lavf/amr.c
- lavf/rtpdec_amr.c
- lavc/libopencore-amr.c
- lavc/amr_parser.c (after this patch)
- lavc/amrnbdec.c has something similar but formatted differently (since 
it actually decodes stuff and not just observes the frames)

Since the tables are quite small (2 x 16 bytes) and can be formulated in a 
few different ways), I don't see it necessary to make it a public API in 
lavc so that lavf could share that copy, but there could be one shared 
copy in lavf for amr.c and rtpdec_amr.c, and one in lavc for 
libopencore-amr.c and amr_parser.c - leaving amrnbdec.c use whatever 
internal formulation it has of these tables.

// Martin



More information about the ffmpeg-devel mailing list