27 #include "libavutil/common.h"
38 int sample_rate_index, bitrate_index;
39 if (header & (1<<20)) {
40 s->lsf = (header & (1<<19)) ? 0 : 1;
47 s->layer = 4 - ((header >> 17) & 3);
49 sample_rate_index = (header >> 10) & 3;
51 sample_rate_index = 0;
53 sample_rate_index += 3 * (s->lsf + mpeg25);
54 s->sample_rate_index = sample_rate_index;
55 s->error_protection = ((header >> 16) & 1) ^ 1;
56 s->sample_rate = sample_rate;
58 bitrate_index = (header >> 12) & 0xf;
59 padding = (header >> 9) & 1;
61 s->mode = (header >> 6) & 3;
62 s->mode_ext = (header >> 4) & 3;
72 if (bitrate_index != 0) {
74 s->bit_rate = frame_size * 1000;
77 frame_size = (frame_size * 12000) / sample_rate;
78 frame_size = (frame_size + padding) * 4;
81 frame_size = (frame_size * 144000) / sample_rate;
82 frame_size += padding;
86 frame_size = (frame_size * 144000) / (sample_rate << s->lsf);
87 frame_size += padding;
98 s->layer, s->sample_rate, s->bit_rate);
99 if (s->nb_channels == 2) {
145 *sample_rate = s->sample_rate;
146 *channels = s->nb_channels;
147 *bit_rate = s->bit_rate;
148 return s->frame_size;
av_dlog(ac->avr,"%d samples - audio_convert: %s to %s (%s)\n", len, av_get_sample_fmt_name(ac->in_fmt), av_get_sample_fmt_name(ac->out_fmt), use_generic?ac->func_descr_generic:ac->func_descr)
mpeg audio layer common tables.
const uint16_t avpriv_mpa_freq_tab[3]
static const uint8_t frame_size[4]
#define MODE_EXT_MS_STEREO
preferred ID for decoding MPEG audio layer 1, 2 or 3
Libavcodec external API header.
#define FF_ARRAY_ELEMS(a)
main external API structure.
#define MODE_EXT_I_STEREO
mpeg audio declarations for both encoder and decoder.
const uint16_t avpriv_mpa_bitrate_tab[2][3][15]