X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavcodec%2Fmpegaudio.h;h=b55680100bd78b9bfadf29bb8314e3d767b24311;hb=7f596368a404363d72b1be6d16c51420a71bc523;hp=3381dbed252afa0a9a69d633a0e9268db2a636d5;hpb=6d5bf5343c810344a444f4d4e1f6a6a020c76e83;p=ffmpeg diff --git a/libavcodec/mpegaudio.h b/libavcodec/mpegaudio.h index 3381dbed252..b55680100bd 100644 --- a/libavcodec/mpegaudio.h +++ b/libavcodec/mpegaudio.h @@ -1,7 +1,39 @@ -/* mpeg audio declarations for both encoder and decoder */ +/* + * copyright (c) 2001 Fabrice Bellard + * + * This file is part of Libav. + * + * Libav 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. + * + * Libav 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 Libav; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/** + * @file + * mpeg audio declarations for both encoder and decoder. + */ + +#ifndef AVCODEC_MPEGAUDIO_H +#define AVCODEC_MPEGAUDIO_H + +#ifndef CONFIG_FLOAT +# define CONFIG_FLOAT 0 +#endif + +#include /* max frame size, in samples */ -#define MPA_FRAME_SIZE 1152 +#define MPA_FRAME_SIZE 1152 /* max compressed frame size */ #define MPA_MAX_CODED_FRAME_SIZE 1792 @@ -15,13 +47,29 @@ #define MPA_DUAL 2 #define MPA_MONO 3 -int l2_select_table(int bitrate, int nb_channels, int freq, int lsf); +#ifndef FRAC_BITS +#define FRAC_BITS 23 /* fractional bits for sb_samples and dct */ +#define WFRAC_BITS 16 /* fractional bits for window */ +#endif + +#define FRAC_ONE (1 << FRAC_BITS) + +#define FIX(a) ((int)((a) * FRAC_ONE)) + +#if CONFIG_FLOAT +# define INTFLOAT float +typedef float MPA_INT; +typedef float OUT_INT; +#elif FRAC_BITS <= 15 +# define INTFLOAT int +typedef int16_t MPA_INT; +typedef int16_t OUT_INT; +#else +# define INTFLOAT int +typedef int32_t MPA_INT; +typedef int16_t OUT_INT; +#endif + +int ff_mpa_l2_select_table(int bitrate, int nb_channels, int freq, int lsf); -extern const UINT16 mpa_bitrate_tab[2][3][15]; -extern const UINT16 mpa_freq_tab[3]; -extern const unsigned char *alloc_tables[5]; -extern const double enwindow[512]; -extern const int sblimit_table[5]; -extern const int quant_steps[17]; -extern const int quant_bits[17]; -extern const INT32 mpa_enwindow[257]; +#endif /* AVCODEC_MPEGAUDIO_H */