summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAurelien Jacobs <aurel@gnuage.org>2008-04-02 21:41:48 +0000
committerAurelien Jacobs <aurel@gnuage.org>2008-04-02 21:41:48 +0000
commit7bfacd4e75a773c2cdf8ce81bed5aeff9a698140 (patch)
tree0d7117e6f241ea0411bc52dde2253e3b5b4dbea8
parentb2fec0fc2574872c80c3cb3a700f3f58d1f302d2 (diff)
use common aac sample rate tables
Originally committed as revision 12671 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r--libavcodec/Makefile5
-rw-r--r--libavformat/matroskadec.c9
-rw-r--r--libavformat/matroskaenc.c9
3 files changed, 9 insertions, 14 deletions
diff --git a/libavcodec/Makefile b/libavcodec/Makefile
index 2f44d1bd77..0ec1548cd4 100644
--- a/libavcodec/Makefile
+++ b/libavcodec/Makefile
@@ -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
diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c
index 86a3994808..321968a98d 100644
--- a/libavformat/matroskadec.c
+++ b/libavformat/matroskadec.c
@@ -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;
}
diff --git a/libavformat/matroskaenc.c b/libavformat/matroskaenc.c
index 44465a33be..f5729e48c6 100644
--- a/libavformat/matroskaenc.c
+++ b/libavformat/matroskaenc.c
@@ -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];
}
}