22 #ifndef AVCODEC_MPEG4AUDIO_H 23 #define AVCODEC_MPEG4AUDIO_H 40 int ext_sampling_index;
45 int frame_length_short;
48 extern av_export_avcodec
const int avpriv_mpeg4audio_sample_rates[16];
49 extern const uint8_t ff_mpeg4audio_channels[8];
70 int bit_size,
int sync_extension);
72 enum AudioObjectType {
119 #define MAX_PCE_SIZE 320 122 static av_always_inline
unsigned int ff_pce_copy_bits(
PutBitContext *pb,
126 unsigned int el = get_bits(gb, bits);
127 put_bits(pb, bits, el);
133 int five_bit_ch, four_bit_ch, comment_size, bits;
134 int offset = put_bits_count(pb);
136 ff_pce_copy_bits(pb, gb, 10);
137 five_bit_ch = ff_pce_copy_bits(pb, gb, 4);
138 five_bit_ch += ff_pce_copy_bits(pb, gb, 4);
139 five_bit_ch += ff_pce_copy_bits(pb, gb, 4);
140 four_bit_ch = ff_pce_copy_bits(pb, gb, 2);
141 four_bit_ch += ff_pce_copy_bits(pb, gb, 3);
142 five_bit_ch += ff_pce_copy_bits(pb, gb, 4);
143 if (ff_pce_copy_bits(pb, gb, 1))
144 ff_pce_copy_bits(pb, gb, 4);
145 if (ff_pce_copy_bits(pb, gb, 1))
146 ff_pce_copy_bits(pb, gb, 4);
147 if (ff_pce_copy_bits(pb, gb, 1))
148 ff_pce_copy_bits(pb, gb, 3);
149 for (bits = five_bit_ch*5+four_bit_ch*4; bits > 16; bits -= 16)
150 ff_pce_copy_bits(pb, gb, 16);
152 ff_pce_copy_bits(pb, gb, bits);
155 comment_size = ff_pce_copy_bits(pb, gb, 8);
156 for (; comment_size > 0; comment_size--)
157 ff_pce_copy_bits(pb, gb, 8);
159 return put_bits_count(pb) - offset;
Definition: put_bits.h:35
void avpriv_align_put_bits(PutBitContext *s)
Pad the bitstream with zeros up to the next byte boundary.
Definition: bitstream.c:48
Macro definitions for various function/variable attributes.
bitstream reader API header.
Definition: mpeg4audio.h:33
Definition: get_bits.h:56
common internal api header.
int sbr
-1 implicit, 1 presence
Definition: mpeg4audio.h:38
int ps
-1 implicit, 1 presence
Definition: mpeg4audio.h:44