comparison mpegaudio.h @ 2472:021dc26e760f libavcodec

dithering for the mpeg audio decoder
author michael
date Sun, 30 Jan 2005 14:04:56 +0000
parents 0d2b59cf9f45
children cc55bc1f8d92
comparison
equal deleted inserted replaced
2471:805431763e84 2472:021dc26e760f
16 #define MPA_STEREO 0 16 #define MPA_STEREO 0
17 #define MPA_JSTEREO 1 17 #define MPA_JSTEREO 1
18 #define MPA_DUAL 2 18 #define MPA_DUAL 2
19 #define MPA_MONO 3 19 #define MPA_MONO 3
20 20
21 /* header + layer + bitrate + freq + lsf/mpeg25 */
22 #define SAME_HEADER_MASK \
23 (0xffe00000 | (3 << 17) | (0xf << 12) | (3 << 10) | (3 << 19))
24
21 int l2_select_table(int bitrate, int nb_channels, int freq, int lsf); 25 int l2_select_table(int bitrate, int nb_channels, int freq, int lsf);
22 int mpa_decode_header(AVCodecContext *avctx, uint32_t head); 26 int mpa_decode_header(AVCodecContext *avctx, uint32_t head);
23 27
24 extern const uint16_t mpa_bitrate_tab[2][3][15]; 28 extern const uint16_t mpa_bitrate_tab[2][3][15];
25 extern const uint16_t mpa_freq_tab[3]; 29 extern const uint16_t mpa_freq_tab[3];
27 extern const double enwindow[512]; 31 extern const double enwindow[512];
28 extern const int sblimit_table[5]; 32 extern const int sblimit_table[5];
29 extern const int quant_steps[17]; 33 extern const int quant_steps[17];
30 extern const int quant_bits[17]; 34 extern const int quant_bits[17];
31 extern const int32_t mpa_enwindow[257]; 35 extern const int32_t mpa_enwindow[257];
36
37 /* fast header check for resync */
38 static inline int ff_mpa_check_header(uint32_t header){
39 /* header */
40 if ((header & 0xffe00000) != 0xffe00000)
41 return -1;
42 /* layer check */
43 if ((header & (3<<17)) == 0)
44 return -1;
45 /* bit rate */
46 if ((header & (0xf<<12)) == 0xf<<12)
47 return -1;
48 /* frequency */
49 if ((header & (3<<10)) == 3<<10)
50 return -1;
51 return 0;
52 }