]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/mpegaudio.h
avoid 2 additions (1 cpu cycle) per MB
[ffmpeg] / libavcodec / mpegaudio.h
index 8a830e25a9c8842551b9716f0e0772729b6d8645..d0461526bac2ee5850d03716336fc9435287af0a 100644 (file)
 #define WFRAC_BITS  14   /* fractional bits for window */
 #endif
 
+#define FRAC_ONE    (1 << FRAC_BITS)
+
+#define FIX(a)   ((int)((a) * FRAC_ONE))
+
 #if defined(USE_HIGHPRECISION) && defined(CONFIG_AUDIO_NONSHORT)
 typedef int32_t OUT_INT;
 #define OUT_MAX INT32_MAX
@@ -116,6 +120,13 @@ typedef struct MPADecodeContext {
     AVCodecContext* avctx;
 } MPADecodeContext;
 
+/* layer 3 huffman tables */
+typedef struct HuffTable {
+    int xsize;
+    const uint8_t *bits;
+    const uint16_t *codes;
+} HuffTable;
+
 int ff_mpa_l2_select_table(int bitrate, int nb_channels, int freq, int lsf);
 int ff_mpa_decode_header(AVCodecContext *avctx, uint32_t head, int *sample_rate);
 void ff_mpa_synth_init(MPA_INT *window);