summaryrefslogtreecommitdiff
path: root/libavcodec/mpegaudiodec_float.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2010-05-11 19:52:42 +0000
committerMichael Niedermayer <michaelni@gmx.at>2010-05-11 19:52:42 +0000
commitb91d46614df189e7905538e7f5c4ed9c7ed0d274 (patch)
tree003eba00b838e5773d657dd802fecf18b08101c8 /libavcodec/mpegaudiodec_float.c
parent495af353dbb0f0f4792baecc63a45ef563f80e44 (diff)
float based mp1/mp2/mp3 decoders.
Originally committed as revision 23095 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/mpegaudiodec_float.c')
-rw-r--r--libavcodec/mpegaudiodec_float.c103
1 files changed, 103 insertions, 0 deletions
diff --git a/libavcodec/mpegaudiodec_float.c b/libavcodec/mpegaudiodec_float.c
new file mode 100644
index 0000000000..dcdeea59cf
--- /dev/null
+++ b/libavcodec/mpegaudiodec_float.c
@@ -0,0 +1,103 @@
+/*
+ * Float MPEG Audio decoder
+ * Copyright (c) 2010 Michael Niedermayer
+ *
+ * This file is part of FFmpeg.
+ *
+ * FFmpeg is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * FFmpeg is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with FFmpeg; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#define CONFIG_FLOAT 1
+#include "mpegaudiodec.c"
+
+#if CONFIG_MP1FLOAT_DECODER
+AVCodec mp1float_decoder =
+{
+ "mp1float",
+ AVMEDIA_TYPE_AUDIO,
+ CODEC_ID_MP1,
+ sizeof(MPADecodeContext),
+ decode_init,
+ NULL,
+ NULL,
+ decode_frame,
+ CODEC_CAP_PARSE_ONLY,
+ .flush= flush,
+ .long_name= NULL_IF_CONFIG_SMALL("MP1 (MPEG audio layer 1)"),
+};
+#endif
+#if CONFIG_MP2FLOAT_DECODER
+AVCodec mp2float_decoder =
+{
+ "mp2float",
+ AVMEDIA_TYPE_AUDIO,
+ CODEC_ID_MP2,
+ sizeof(MPADecodeContext),
+ decode_init,
+ NULL,
+ NULL,
+ decode_frame,
+ CODEC_CAP_PARSE_ONLY,
+ .flush= flush,
+ .long_name= NULL_IF_CONFIG_SMALL("MP2 (MPEG audio layer 2)"),
+};
+#endif
+#if CONFIG_MP3FLOAT_DECODER
+AVCodec mp3float_decoder =
+{
+ "mp3float",
+ AVMEDIA_TYPE_AUDIO,
+ CODEC_ID_MP3,
+ sizeof(MPADecodeContext),
+ decode_init,
+ NULL,
+ NULL,
+ decode_frame,
+ CODEC_CAP_PARSE_ONLY,
+ .flush= flush,
+ .long_name= NULL_IF_CONFIG_SMALL("MP3 (MPEG audio layer 3)"),
+};
+#endif
+#if CONFIG_MP3ADUFLOAT_DECODER
+AVCodec mp3adufloat_decoder =
+{
+ "mp3adufloat",
+ AVMEDIA_TYPE_AUDIO,
+ CODEC_ID_MP3ADU,
+ sizeof(MPADecodeContext),
+ decode_init,
+ NULL,
+ NULL,
+ decode_frame_adu,
+ CODEC_CAP_PARSE_ONLY,
+ .flush= flush,
+ .long_name= NULL_IF_CONFIG_SMALL("ADU (Application Data Unit) MP3 (MPEG audio layer 3)"),
+};
+#endif
+#if CONFIG_MP3ON4FLOAT_DECODER
+AVCodec mp3on4float_decoder =
+{
+ "mp3on4float",
+ AVMEDIA_TYPE_AUDIO,
+ CODEC_ID_MP3ON4,
+ sizeof(MP3On4DecodeContext),
+ decode_init_mp3on4,
+ NULL,
+ decode_close_mp3on4,
+ decode_frame_mp3on4,
+ .flush= flush,
+ .long_name= NULL_IF_CONFIG_SMALL("MP3onMP4"),
+};
+#endif