[FFmpeg-devel] [PATCH 1/2] Add single stream LATM/LOAS decoder

Janne Grunau janne-ffmpeg
Sun Oct 17 12:39:34 CEST 2010


The decoder is basicly just a wrapper around the AAC decoder.
based on patch by Paul Kendall { paul <?t> kcbbs gen nz }
---
 Changelog              |    1 +
 configure              |    1 +
 libavcodec/Makefile    |    2 ++
 libavcodec/allcodecs.c |    2 ++
 libavcodec/avcodec.h   |    3 ++-
 5 files changed, 8 insertions(+), 1 deletions(-)

diff --git a/Changelog b/Changelog
index 76d6b8b..1abc19d 100644
--- a/Changelog
+++ b/Changelog
@@ -46,6 +46,7 @@ version <next>:
 - RTP depacketization of the X-QT QuickTime format
 - SAP (Session Announcement Protocol, RFC 2974) muxer and demuxer
 - cropdetect filter
+- single stream LATM/LOAS decoder
 
 
 version 0.6:
diff --git a/configure b/configure
index 0e6e439..f3e65d4 100755
--- a/configure
+++ b/configure
@@ -1187,6 +1187,7 @@ rdft_select="fft"
 # decoders / encoders / hardware accelerators
 aac_decoder_select="mdct rdft"
 aac_encoder_select="mdct"
+aac_latm_decoder_select="aac_decoder"
 ac3_decoder_select="mdct ac3_parser"
 alac_encoder_select="lpc"
 amrnb_decoder_select="lsp"
diff --git a/libavcodec/Makefile b/libavcodec/Makefile
index 385ae02..bd5f041 100644
--- a/libavcodec/Makefile
+++ b/libavcodec/Makefile
@@ -52,6 +52,7 @@ OBJS-$(CONFIG_AAC_ENCODER)             += aacenc.o aaccoder.o    \
                                           aacpsy.o aactab.o      \
                                           psymodel.o iirfilter.o \
                                           mpeg4audio.o
+OBJS-$(CONFIG_AAC_LATM_DECODER)        += aaclatmdec.o
 OBJS-$(CONFIG_AASC_DECODER)            += aasc.o msrledec.o
 OBJS-$(CONFIG_AC3_DECODER)             += ac3dec.o ac3dec_data.o ac3.o
 OBJS-$(CONFIG_AC3_ENCODER)             += ac3enc.o ac3tab.o ac3.o
@@ -576,6 +577,7 @@ OBJS-$(CONFIG_H264_PARSER)             += h264_parser.o h264.o            \
                                           h264_loopfilter.o h264_cabac.o \
                                           h264_cavlc.o h264_ps.o \
                                           mpegvideo.o error_resilience.o
+OBJS-$(CONFIG_AAC_LATM_PARSER)         += latm_parser.o
 OBJS-$(CONFIG_MJPEG_PARSER)            += mjpeg_parser.o
 OBJS-$(CONFIG_MLP_PARSER)              += mlp_parser.o mlp.o
 OBJS-$(CONFIG_MPEG4VIDEO_PARSER)       += mpeg4video_parser.o h263.o \
diff --git a/libavcodec/allcodecs.c b/libavcodec/allcodecs.c
index 89614ab..c3e4647 100644
--- a/libavcodec/allcodecs.c
+++ b/libavcodec/allcodecs.c
@@ -220,6 +220,7 @@ void avcodec_register_all(void)
 
     /* audio codecs */
     REGISTER_ENCDEC  (AAC, aac);
+    REGISTER_DECODER (AAC_LATM, aac_latm);
     REGISTER_ENCDEC  (AC3, ac3);
     REGISTER_ENCDEC  (ALAC, alac);
     REGISTER_DECODER (ALS, als);
@@ -366,6 +367,7 @@ void avcodec_register_all(void)
 
     /* parsers */
     REGISTER_PARSER  (AAC, aac);
+    REGISTER_PARSER  (AAC_LATM, aac_latm);
     REGISTER_PARSER  (AC3, ac3);
     REGISTER_PARSER  (CAVSVIDEO, cavsvideo);
     REGISTER_PARSER  (DCA, dca);
diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h
index 4bddbaa..5bbebd2 100644
--- a/libavcodec/avcodec.h
+++ b/libavcodec/avcodec.h
@@ -31,7 +31,7 @@
 #include "libavutil/cpu.h"
 
 #define LIBAVCODEC_VERSION_MAJOR 52
-#define LIBAVCODEC_VERSION_MINOR 92
+#define LIBAVCODEC_VERSION_MINOR 93
 #define LIBAVCODEC_VERSION_MICRO  0
 
 #define LIBAVCODEC_VERSION_INT  AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
@@ -376,6 +376,7 @@ enum CodecID {
     CODEC_ID_ATRAC1,
     CODEC_ID_BINKAUDIO_RDFT,
     CODEC_ID_BINKAUDIO_DCT,
+    CODEC_ID_AAC_LATM,
 
     /* subtitle codecs */
     CODEC_ID_DVD_SUBTITLE= 0x17000,
-- 
1.7.3.1




More information about the ffmpeg-devel mailing list