[SCM] libav/experimental: read/write adts aac

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Jun 30 15:46:18 UTC 2013


The following commit has been merged in the experimental branch:
commit fda885c70312715184a8b8a00c88f854c5e71021
Author: Måns Rullgård <mans at mansr.com>
Date:   Wed Feb 8 00:51:55 2006 +0000

    read/write adts aac
    
    Originally committed as revision 4955 to svn://svn.ffmpeg.org/ffmpeg/trunk

diff --git a/libavformat/raw.c b/libavformat/raw.c
index 7628b23..fc01dbb 100644
--- a/libavformat/raw.c
+++ b/libavformat/raw.c
@@ -256,6 +256,23 @@ static int dts_read_header(AVFormatContext *s,
     return 0;
 }
 
+/* aac read */
+static int aac_read_header(AVFormatContext *s,
+                           AVFormatParameters *ap)
+{
+    AVStream *st;
+
+    st = av_new_stream(s, 0);
+    if (!st)
+        return AVERROR_NOMEM;
+
+    st->codec->codec_type = CODEC_TYPE_AUDIO;
+    st->codec->codec_id = CODEC_ID_AAC;
+    st->need_parsing = 1;
+    /* the parameters will be extracted from the compressed bitstream */
+    return 0;
+}
+
 /* mpeg1/h263 input */
 static int video_read_header(AVFormatContext *s,
                              AVFormatParameters *ap)
@@ -389,6 +406,32 @@ AVInputFormat dts_iformat = {
     .extensions = "dts",
 };
 
+AVInputFormat aac_iformat = {
+    "aac",
+    "ADTS AAC",
+    0,
+    NULL,
+    aac_read_header,
+    raw_read_partial_packet,
+    raw_read_close,
+    .extensions = "aac",
+};
+
+#ifdef CONFIG_MUXERS
+AVOutputFormat aac_oformat = {
+    "aac",
+    "ADTS AAC",
+    "audio/aac",
+    "aac",
+    0,
+    CODEC_ID_AAC,
+    0,
+    raw_write_header,
+    raw_write_packet,
+    raw_write_trailer,
+};
+#endif
+
 AVInputFormat h261_iformat = {
     "h261",
     "raw h261",
@@ -739,6 +782,9 @@ int raw_init(void)
     av_register_input_format(&ac3_iformat);
     av_register_output_format(&ac3_oformat);
 
+    av_register_input_format(&aac_iformat);
+    av_register_output_format(&aac_oformat);
+
     av_register_input_format(&dts_iformat);
 
     av_register_input_format(&h261_iformat);

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list