tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

mpegaudio.h (2064B)


      1 /*
      2 * copyright (c) 2001 Fabrice Bellard
      3 *
      4 * This file is part of FFmpeg.
      5 *
      6 * FFmpeg is free software; you can redistribute it and/or
      7 * modify it under the terms of the GNU Lesser General Public
      8 * License as published by the Free Software Foundation; either
      9 * version 2.1 of the License, or (at your option) any later version.
     10 *
     11 * FFmpeg is distributed in the hope that it will be useful,
     12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
     13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
     14 * Lesser General Public License for more details.
     15 *
     16 * You should have received a copy of the GNU Lesser General Public
     17 * License along with FFmpeg; if not, write to the Free Software
     18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
     19 */
     20 
     21 /**
     22 * @file
     23 * mpeg audio declarations for both encoder and decoder.
     24 */
     25 
     26 #ifndef AVCODEC_MPEGAUDIO_H
     27 #define AVCODEC_MPEGAUDIO_H
     28 
     29 #ifndef USE_FLOATS
     30 #   define USE_FLOATS 0
     31 #endif
     32 
     33 #include <stdint.h>
     34 #include "libavutil/internal.h"
     35 
     36 /* max frame size, in samples */
     37 #define MPA_FRAME_SIZE 1152
     38 
     39 /* max compressed frame size */
     40 #define MPA_MAX_CODED_FRAME_SIZE 1792
     41 
     42 #define MPA_MAX_CHANNELS 2
     43 
     44 #define SBLIMIT 32 /* number of subbands */
     45 
     46 #define MPA_STEREO  0
     47 #define MPA_JSTEREO 1
     48 #define MPA_DUAL    2
     49 #define MPA_MONO    3
     50 
     51 #ifndef FRAC_BITS
     52 #define FRAC_BITS   23   /* fractional bits for sb_samples and dct */
     53 #define WFRAC_BITS  16   /* fractional bits for window */
     54 #endif
     55 
     56 #define IMDCT_SCALAR 1.759
     57 
     58 #define FRAC_ONE    (1 << FRAC_BITS)
     59 
     60 #define FIX(a)   ((int)((a) * FRAC_ONE))
     61 
     62 #if USE_FLOATS
     63 #   define INTFLOAT float
     64 #   define SUINTFLOAT float
     65 typedef float MPA_INT;
     66 typedef float OUT_INT;
     67 #elif FRAC_BITS <= 15
     68 #   define INTFLOAT int
     69 #   define SUINTFLOAT SUINT
     70 typedef int16_t MPA_INT;
     71 typedef int16_t OUT_INT;
     72 #else
     73 #   define INTFLOAT int
     74 #   define SUINTFLOAT SUINT
     75 typedef int32_t MPA_INT;
     76 typedef int16_t OUT_INT;
     77 #endif
     78 
     79 int ff_mpa_l2_select_table(int bitrate, int nb_channels, int freq, int lsf);
     80 
     81 #endif /* AVCODEC_MPEGAUDIO_H */