use common aac sample rate tables
authorAurelien Jacobs <aurel@gnuage.org>
Wed, 2 Apr 2008 21:41:48 +0000 (21:41 +0000)
committerAurelien Jacobs <aurel@gnuage.org>
Wed, 2 Apr 2008 21:41:48 +0000 (21:41 +0000)
Originally committed as revision 12671 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/Makefile
libavformat/matroskadec.c
libavformat/matroskaenc.c

index 2f44d1b..0ec1548 100644 (file)
@@ -306,8 +306,9 @@ OBJS-$(CONFIG_ADPCM_YAMAHA_ENCODER)    += adpcm.o
 
 # libavformat dependencies
 OBJS-$(CONFIG_GXF_DEMUXER)             += mpeg12data.o
-OBJS-$(CONFIG_MATROSKA_AUDIO_MUXER)    += xiph.o
-OBJS-$(CONFIG_MATROSKA_MUXER)          += xiph.o
+OBJS-$(CONFIG_MATROSKA_AUDIO_MUXER)    += xiph.o mpeg4audio.o
+OBJS-$(CONFIG_MATROSKA_DEMUXER)        += mpeg4audio.o
+OBJS-$(CONFIG_MATROSKA_MUXER)          += xiph.o mpeg4audio.o
 OBJS-$(CONFIG_NUT_MUXER)               += mpegaudiodata.o
 OBJS-$(CONFIG_OGG_MUXER)               += xiph.o
 OBJS-$(CONFIG_RTP_MUXER)               += mpegvideo.o
index 86a3994..321968a 100644 (file)
@@ -33,6 +33,7 @@
 #include "riff.h"
 #include "intfloat_readwrite.h"
 #include "matroska.h"
+#include "libavcodec/mpeg4audio.h"
 
 typedef struct Track {
     MatroskaTrackType type;
@@ -1997,14 +1998,10 @@ matroska_aac_profile (char *codec_id)
 static int
 matroska_aac_sri (int samplerate)
 {
-    static const int aac_sample_rates[] = {
-        96000, 88200, 64000, 48000, 44100, 32000,
-        24000, 22050, 16000, 12000, 11025,  8000,
-    };
     int sri;
 
-    for (sri=0; sri<ARRAY_SIZE(aac_sample_rates); sri++)
-        if (aac_sample_rates[sri] == samplerate)
+    for (sri=0; sri<ARRAY_SIZE(ff_mpeg4audio_sample_rates); sri++)
+        if (ff_mpeg4audio_sample_rates[sri] == samplerate)
             break;
     return sri;
 }
index 44465a3..f5729e4 100644 (file)
@@ -25,6 +25,7 @@
 #include "xiph.h"
 #include "matroska.h"
 #include "avc.h"
+#include "libavcodec/mpeg4audio.h"
 
 typedef struct ebml_master {
     offset_t        pos;                ///< absolute offset in the file where the master's elements start
@@ -438,10 +439,6 @@ static int put_flac_codecpriv(AVFormatContext *s, ByteIOContext *pb, AVCodecCont
 
 static void get_aac_sample_rates(AVFormatContext *s, AVCodecContext *codec, int *sample_rate, int *output_sample_rate)
 {
-    static const int aac_sample_rates[] = {
-        96000, 88200, 64000, 48000, 44100, 32000,
-        24000, 22050, 16000, 12000, 11025,  8000,
-    };
     int sri;
 
     if (codec->extradata_size < 2) {
@@ -454,7 +451,7 @@ static void get_aac_sample_rates(AVFormatContext *s, AVCodecContext *codec, int
         av_log(s, AV_LOG_WARNING, "AAC samplerate index out of bounds\n");
         return;
     }
-    *sample_rate = aac_sample_rates[sri];
+    *sample_rate = ff_mpeg4audio_sample_rates[sri];
 
     // if sbr, get output sample rate as well
     if (codec->extradata_size == 5) {
@@ -463,7 +460,7 @@ static void get_aac_sample_rates(AVFormatContext *s, AVCodecContext *codec, int
             av_log(s, AV_LOG_WARNING, "AAC output samplerate index out of bounds\n");
             return;
         }
-        *output_sample_rate = aac_sample_rates[sri];
+        *output_sample_rate = ff_mpeg4audio_sample_rates[sri];
     }
 }