FFmpeg
Loading...
Searching...
No Matches
ac3enc.h
Go to the documentation of this file.
1/*
2 * AC-3 encoder & E-AC-3 encoder common header
3 * Copyright (c) 2000 Fabrice Bellard
4 * Copyright (c) 2006-2010 Justin Ruggles <justin.ruggles@gmail.com>
5 *
6 * This file is part of FFmpeg.
7 *
8 * FFmpeg is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Lesser General Public
10 * License as published by the Free Software Foundation; either
11 * version 2.1 of the License, or (at your option) any later version.
12 *
13 * FFmpeg is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 * Lesser General Public License for more details.
17 *
18 * You should have received a copy of the GNU Lesser General Public
19 * License along with FFmpeg; if not, write to the Free Software
20 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21 */
22
23/**
24 * @file
25 * AC-3 encoder & E-AC-3 encoder common header
26 */
27
28#ifndef AVCODEC_AC3ENC_H
29#define AVCODEC_AC3ENC_H
30
31#include <stdint.h>
32
34#include "libavutil/opt.h"
35#include "libavutil/tx.h"
36
37#include "ac3.h"
38#include "ac3defs.h"
39#include "ac3dsp.h"
40#include "audio_frame_queue.h"
41#include "avcodec.h"
42#include "codec_internal.h"
43#include "mathops.h"
44#include "me_cmp.h"
45#include "audiodsp.h"
46
47#ifndef AC3ENC_FLOAT
48#define AC3ENC_FLOAT 0
49#endif
50
51#if AC3ENC_FLOAT
52#include "libavutil/float_dsp.h"
53#define MAC_COEF(d,a,b) ((d)+=(a)*(b))
54#define COEF_MIN (-16777215.0/16777216.0)
55#define COEF_MAX ( 16777215.0/16777216.0)
56#define NEW_CPL_COORD_THRESHOLD 0.03
57typedef float SampleType;
58typedef float CoefType;
59typedef float CoefSumType;
60#else
61#include "libavutil/fixed_dsp.h"
62#define MAC_COEF(d,a,b) MAC64(d,a,b)
63#define COEF_MIN -16777215
64#define COEF_MAX 16777215
65#define NEW_CPL_COORD_THRESHOLD 503317
69#endif
70
71/* common option values */
72#define AC3ENC_OPT_NONE -1
73#define AC3ENC_OPT_AUTO -1
74#define AC3ENC_OPT_OFF 0
75#define AC3ENC_OPT_ON 1
76#define AC3ENC_OPT_NOT_INDICATED 0
77#define AC3ENC_OPT_MODE_ON 2
78#define AC3ENC_OPT_MODE_OFF 1
79#define AC3ENC_OPT_DSUREX_DPLIIZ 3
80
81/* specific option values */
82#define AC3ENC_OPT_LARGE_ROOM 1
83#define AC3ENC_OPT_SMALL_ROOM 2
84#define AC3ENC_OPT_DOWNMIX_LTRT 1
85#define AC3ENC_OPT_DOWNMIX_LORO 2
86#define AC3ENC_OPT_DOWNMIX_DPLII 3 // reserved value in A/52, but used by encoders to indicate DPL2
87#define AC3ENC_OPT_ADCONV_STANDARD 0
88#define AC3ENC_OPT_ADCONV_HDCD 1
89
90
91/**
92 * Encoding Options used by AVOption.
93 */
125
126/**
127 * Data for a single audio block.
128 */
129typedef struct AC3Block {
130 CoefType *mdct_coef[AC3_MAX_CHANNELS]; ///< MDCT coefficients
131 int32_t *fixed_coef[AC3_MAX_CHANNELS]; ///< fixed-point MDCT coefficients
132 uint8_t *exp[AC3_MAX_CHANNELS]; ///< original exponents
133 uint8_t *grouped_exp[AC3_MAX_CHANNELS]; ///< grouped exponents
134 int16_t *psd[AC3_MAX_CHANNELS]; ///< psd per frequency bin
135 int16_t *band_psd[AC3_MAX_CHANNELS]; ///< psd per critical band
136 int16_t *mask[AC3_MAX_CHANNELS]; ///< masking curve
137 uint16_t *qmant[AC3_MAX_CHANNELS]; ///< quantized mantissas
138 uint8_t *cpl_coord_exp[AC3_MAX_CHANNELS]; ///< coupling coord exponents (cplcoexp)
139 uint8_t *cpl_coord_mant[AC3_MAX_CHANNELS]; ///< coupling coord mantissas (cplcomant)
140 uint8_t new_rematrixing_strategy; ///< send new rematrixing flags in this block
141 int num_rematrixing_bands; ///< number of rematrixing bands
142 uint8_t rematrixing_flags[4]; ///< rematrixing flags
143 int new_cpl_strategy; ///< send new coupling strategy
144 int cpl_in_use; ///< coupling in use for this block (cplinu)
145 uint8_t channel_in_cpl[AC3_MAX_CHANNELS]; ///< channel in coupling (chincpl)
146 int num_cpl_channels; ///< number of channels in coupling
147 uint8_t new_cpl_coords[AC3_MAX_CHANNELS]; ///< send new coupling coordinates (cplcoe)
148 uint8_t cpl_master_exp[AC3_MAX_CHANNELS]; ///< coupling coord master exponents (mstrcplco)
149 int new_snr_offsets; ///< send new SNR offsets
150 int new_cpl_leak; ///< send new coupling leak info
151 int end_freq[AC3_MAX_CHANNELS]; ///< end frequency bin (endmant)
152} AC3Block;
153
154struct PutBitContext;
155
156/**
157 * AC-3 encoder private context.
158 */
159typedef struct AC3EncodeContext {
160 AVClass *av_class; ///< AVClass used for AVOption
161 AC3EncOptions options; ///< encoding options
162 AVCodecContext *avctx; ///< parent AVCodecContext
164#if AC3ENC_FLOAT
166#else
168#endif
170 AC3DSPContext ac3dsp; ///< AC-3 optimized functions
171 AVTXContext *tx; ///< FFT context for MDCT calculation
173
174 AC3Block blocks[AC3_MAX_BLOCKS]; ///< per-block info
175
176 int fixed_point; ///< indicates if fixed-point encoder is being used
177 int eac3; ///< indicates if this is E-AC-3 vs. AC-3
178 int bitstream_id; ///< bitstream id (bsid)
179 int bitstream_mode; ///< bitstream mode (bsmod)
180
181 int bit_rate; ///< target bit rate, in bits-per-second
182 int sample_rate; ///< sampling frequency, in Hz
183
184 int num_blks_code; ///< number of blocks code (numblkscod)
185 int num_blocks; ///< number of blocks per frame
186 int frame_size_min; ///< minimum frame size in case rounding is necessary
187 int frame_size; ///< current frame size in bytes
188 int frame_size_code; ///< frame size code (frmsizecod)
189 uint16_t crc_inv[2];
190 int64_t bits_written; ///< bit count (used to avg. bitrate)
191 int64_t samples_written; ///< sample count (used to avg. bitrate)
192
193 int fbw_channels; ///< number of full-bandwidth channels (nfchans)
194 int channels; ///< total number of channels (nchans)
195 int lfe_on; ///< indicates if there is an LFE channel (lfeon)
196 int lfe_channel; ///< channel index of the LFE channel
197 int has_center; ///< indicates if there is a center channel
198 int has_surround; ///< indicates if there are one or more surround channels
199 int channel_mode; ///< channel mode (acmod)
200 const uint8_t *channel_map; ///< channel map used to reorder channels
201
202 int center_mix_level; ///< center mix level code
203 int surround_mix_level; ///< surround mix level code
204 int ltrt_center_mix_level; ///< Lt/Rt center mix level code
205 int ltrt_surround_mix_level; ///< Lt/Rt surround mix level code
206 int loro_center_mix_level; ///< Lo/Ro center mix level code
207 int loro_surround_mix_level; ///< Lo/Ro surround mix level code
208
209 int cutoff; ///< user-specified cutoff frequency, in Hz
210 int bandwidth_code; ///< bandwidth code (0 to 60) (chbwcod)
211 int start_freq[AC3_MAX_CHANNELS]; ///< start frequency bin (strtmant)
212 int cpl_end_freq; ///< coupling channel end frequency bin
213
214 int cpl_on; ///< coupling turned on for this frame
215 int cpl_enabled; ///< coupling enabled for all frames
216 int num_cpl_subbands; ///< number of coupling subbands (ncplsubnd)
217 int num_cpl_bands; ///< number of coupling bands (ncplbnd)
218 uint8_t cpl_band_sizes[AC3_MAX_CPL_BANDS]; ///< number of coeffs in each coupling band
219
220 int rematrixing_enabled; ///< stereo rematrixing enabled
221
222 /* bitrate allocation control */
223 int slow_gain_code; ///< slow gain code (sgaincod)
224 int slow_decay_code; ///< slow decay code (sdcycod)
225 int fast_decay_code; ///< fast decay code (fdcycod)
226 int db_per_bit_code; ///< dB/bit code (dbpbcod)
227 int floor_code; ///< floor code (floorcod)
228 AC3BitAllocParameters bit_alloc; ///< bit allocation parameters
229 int coarse_snr_offset; ///< coarse SNR offsets (csnroffst)
230 int fast_gain_code[AC3_MAX_CHANNELS]; ///< fast gain codes (signal-to-mask ratio) (fgaincod)
231 int fine_snr_offset[AC3_MAX_CHANNELS]; ///< fine SNR offsets (fsnroffst)
232 int frame_bits_fixed; ///< number of non-coefficient bits for fixed parameters
233 int frame_bits; ///< all frame bits except exponents and mantissas
234 int exponent_bits; ///< number of bits used for exponents
235
238 uint8_t *bap_buffer;
239 uint8_t *bap1_buffer;
242 uint8_t *exp_buffer;
244 int16_t *psd_buffer;
246 int16_t *mask_buffer;
247 int16_t *qmant_buffer;
249
250 uint8_t exp_strategy[AC3_MAX_CHANNELS][AC3_MAX_BLOCKS]; ///< exponent strategies
251 uint8_t frame_exp_strategy[AC3_MAX_CHANNELS]; ///< frame exp strategy index
252 int use_frame_exp_strategy; ///< indicates use of frame exp strategy
253 uint8_t exp_ref_block[AC3_MAX_CHANNELS][AC3_MAX_BLOCKS]; ///< reference blocks for EXP_REUSE
254 uint8_t *ref_bap [AC3_MAX_CHANNELS][AC3_MAX_BLOCKS]; ///< bit allocation pointers (bap)
255 int ref_bap_set; ///< indicates if ref_bap pointers have been set
256
258
259 /** fixed vs. float function pointers */
260 void (*encode_frame)(struct AC3EncodeContext *s, const AVFrame *frame);
261
262 /* AC-3 vs. E-AC-3 function pointers */
264
265 union {
268 };
269 union {
272 };
274
275extern const AVChannelLayout ff_ac3_ch_layouts[19];
276extern const AVOption ff_ac3_enc_options[];
277extern const AVClass ff_ac3enc_class;
279
282
284
285
287
289 const AVFrame *frame, int *got_packet_ptr);
290
291#endif /* AVCODEC_AC3ENC_H */
Common code between the AC-3 encoder and decoder.
#define AC3_MAX_CHANNELS
maximum number of channels, including coupling channel
Definition ac3defs.h:26
#define AC3_BLOCK_SIZE
Definition ac3defs.h:30
#define AC3_WINDOW_SIZE
Definition ac3defs.h:33
#define AC3_MAX_BLOCKS
Definition ac3defs.h:31
#define AC3_MAX_CPL_BANDS
Definition ac3defs.h:35
const AVClass ff_ac3enc_class
Definition ac3enc.c:130
const AVOption ff_ac3_enc_options[]
Definition ac3enc.c:80
const AVChannelLayout ff_ac3_ch_layouts[19]
List of supported channel layouts.
Definition ac3enc.c:152
const FFCodecDefault ff_ac3_enc_defaults[]
Definition ac3enc.c:137
int ff_ac3_encode_close(AVCodecContext *avctx)
Finalize encoding and free any memory allocated by the encoder.
Definition ac3enc.c:2165
void ff_ac3_compute_coupling_strategy(AC3EncodeContext *s)
Set the initial coupling strategy parameters prior to coupling analysis.
Definition ac3enc.c:507
int ff_ac3_float_encode_init(AVCodecContext *avctx)
int32_t SampleType
Definition ac3enc.h:66
int64_t CoefSumType
Definition ac3enc.h:68
int ff_ac3_encode_frame(AVCodecContext *avctx, AVPacket *avpkt, const AVFrame *frame, int *got_packet_ptr)
Definition ac3enc.c:1981
int ff_ac3_encode_init(AVCodecContext *avctx)
Definition ac3enc.c:2490
int32_t CoefType
Definition ac3enc.h:67
int32_t
Libavcodec external API header.
#define s(width, name)
Definition cbs_vp9.c:198
long long int64_t
Definition coverity.c:34
static AVFrame * frame
#define DECLARE_ALIGNED(n, t, v)
Declare a variable that is aligned in memory.
AVOptions.
Data for a single audio block.
Definition ac3enc.h:129
uint8_t new_rematrixing_strategy
send new rematrixing flags in this block
Definition ac3enc.h:140
uint8_t * grouped_exp[AC3_MAX_CHANNELS]
grouped exponents
Definition ac3enc.h:133
int new_snr_offsets
send new SNR offsets
Definition ac3enc.h:149
uint8_t * cpl_coord_mant[AC3_MAX_CHANNELS]
coupling coord mantissas (cplcomant)
Definition ac3enc.h:139
int16_t * psd[AC3_MAX_CHANNELS]
psd per frequency bin
Definition ac3enc.h:134
int16_t * mask[AC3_MAX_CHANNELS]
masking curve
Definition ac3enc.h:136
int new_cpl_strategy
send new coupling strategy
Definition ac3enc.h:143
uint8_t rematrixing_flags[4]
rematrixing flags
Definition ac3enc.h:142
int num_rematrixing_bands
number of rematrixing bands
Definition ac3enc.h:141
int32_t * fixed_coef[AC3_MAX_CHANNELS]
fixed-point MDCT coefficients
Definition ac3enc.h:131
uint8_t new_cpl_coords[AC3_MAX_CHANNELS]
send new coupling coordinates (cplcoe)
Definition ac3enc.h:147
uint8_t channel_in_cpl[AC3_MAX_CHANNELS]
channel in coupling (chincpl)
Definition ac3enc.h:145
uint16_t * qmant[AC3_MAX_CHANNELS]
quantized mantissas
Definition ac3enc.h:137
int new_cpl_leak
send new coupling leak info
Definition ac3enc.h:150
int cpl_in_use
coupling in use for this block (cplinu)
Definition ac3enc.h:144
uint8_t cpl_master_exp[AC3_MAX_CHANNELS]
coupling coord master exponents (mstrcplco)
Definition ac3enc.h:148
int16_t * band_psd[AC3_MAX_CHANNELS]
psd per critical band
Definition ac3enc.h:135
int num_cpl_channels
number of channels in coupling
Definition ac3enc.h:146
uint8_t * cpl_coord_exp[AC3_MAX_CHANNELS]
coupling coord exponents (cplcoexp)
Definition ac3enc.h:138
int end_freq[AC3_MAX_CHANNELS]
end frequency bin (endmant)
Definition ac3enc.h:151
uint8_t * exp[AC3_MAX_CHANNELS]
original exponents
Definition ac3enc.h:132
CoefType * mdct_coef[AC3_MAX_CHANNELS]
MDCT coefficients.
Definition ac3enc.h:130
Encoding Options used by AVOption.
Definition ac3enc.h:94
float ltrt_surround_mix_level
Definition ac3enc.h:109
int dialogue_level
Definition ac3enc.h:96
float surround_mix_level
Definition ac3enc.h:99
int dolby_surround_ex_mode
Definition ac3enc.h:113
int channel_coupling
Definition ac3enc.h:122
int eac3_mixing_metadata
Definition ac3enc.h:116
int cpl_start
Definition ac3enc.h:123
int dolby_headphone_mode
Definition ac3enc.h:114
int extended_bsi_2
Definition ac3enc.h:112
float loro_surround_mix_level
Definition ac3enc.h:111
int audio_production_info
Definition ac3enc.h:101
int allow_per_frame_metadata
Definition ac3enc.h:120
int dolby_surround_mode
Definition ac3enc.h:100
int room_type
Definition ac3enc.h:103
int extended_bsi_1
Definition ac3enc.h:106
int copyright
Definition ac3enc.h:104
int stereo_rematrixing
Definition ac3enc.h:121
float loro_center_mix_level
Definition ac3enc.h:110
int bitstream_mode
Definition ac3enc.h:97
int eac3_info_metadata
Definition ac3enc.h:117
int ad_converter_type
Definition ac3enc.h:115
int preferred_stereo_downmix
Definition ac3enc.h:107
float ltrt_center_mix_level
Definition ac3enc.h:108
int mixing_level
Definition ac3enc.h:102
float center_mix_level
Definition ac3enc.h:98
AC-3 encoder private context.
Definition ac3enc.h:159
int channels
total number of channels (nchans)
Definition ac3enc.h:194
int fast_gain_code[AC3_MAX_CHANNELS]
fast gain codes (signal-to-mask ratio) (fgaincod)
Definition ac3enc.h:230
int32_t windowed_samples_fixed[AC3_WINDOW_SIZE]
Definition ac3enc.h:271
void(* encode_frame)(struct AC3EncodeContext *s, const AVFrame *frame)
fixed vs.
Definition ac3enc.h:260
int fine_snr_offset[AC3_MAX_CHANNELS]
fine SNR offsets (fsnroffst)
Definition ac3enc.h:231
int channel_mode
channel mode (acmod)
Definition ac3enc.h:199
uint8_t frame_exp_strategy[AC3_MAX_CHANNELS]
frame exp strategy index
Definition ac3enc.h:251
MECmpContext mecc
Definition ac3enc.h:169
uint8_t * exp_buffer
Definition ac3enc.h:242
int16_t * qmant_buffer
Definition ac3enc.h:247
int32_t mdct_window_fixed[AC3_BLOCK_SIZE]
Definition ac3enc.h:267
AC3DSPContext ac3dsp
AC-3 optimized functions.
Definition ac3enc.h:170
int16_t * band_psd_buffer
Definition ac3enc.h:245
uint8_t * bap1_buffer
Definition ac3enc.h:239
int lfe_on
indicates if there is an LFE channel (lfeon)
Definition ac3enc.h:195
int fixed_point
indicates if fixed-point encoder is being used
Definition ac3enc.h:176
AVClass * av_class
AVClass used for AVOption.
Definition ac3enc.h:160
int slow_gain_code
slow gain code (sgaincod)
Definition ac3enc.h:223
int cpl_on
coupling turned on for this frame
Definition ac3enc.h:214
int loro_center_mix_level
Lo/Ro center mix level code.
Definition ac3enc.h:206
int cutoff
user-specified cutoff frequency, in Hz
Definition ac3enc.h:209
float windowed_samples_float[AC3_WINDOW_SIZE]
Definition ac3enc.h:270
int frame_bits
all frame bits except exponents and mantissas
Definition ac3enc.h:233
int ref_bap_set
indicates if ref_bap pointers have been set
Definition ac3enc.h:255
int db_per_bit_code
dB/bit code (dbpbcod)
Definition ac3enc.h:226
int cpl_enabled
coupling enabled for all frames
Definition ac3enc.h:215
int coarse_snr_offset
coarse SNR offsets (csnroffst)
Definition ac3enc.h:229
av_tx_fn tx_fn
Definition ac3enc.h:172
AC3Block blocks[AC3_MAX_BLOCKS]
per-block info
Definition ac3enc.h:174
AudioDSPContext adsp
Definition ac3enc.h:163
int ltrt_center_mix_level
Lt/Rt center mix level code.
Definition ac3enc.h:204
int64_t samples_written
sample count (used to avg. bitrate)
Definition ac3enc.h:191
int use_frame_exp_strategy
indicates use of frame exp strategy
Definition ac3enc.h:252
uint8_t exp_strategy[AC3_MAX_CHANNELS][AC3_MAX_BLOCKS]
exponent strategies
Definition ac3enc.h:250
AC3BitAllocParameters bit_alloc
bit allocation parameters
Definition ac3enc.h:228
int bit_rate
target bit rate, in bits-per-second
Definition ac3enc.h:181
int num_blks_code
number of blocks code (numblkscod)
Definition ac3enc.h:184
uint8_t * input_samples[AC3_MAX_CHANNELS - 1]
Definition ac3enc.h:237
int floor_code
floor code (floorcod)
Definition ac3enc.h:227
int16_t * mask_buffer
Definition ac3enc.h:246
int32_t * fixed_coef_buffer
Definition ac3enc.h:241
int slow_decay_code
slow decay code (sdcycod)
Definition ac3enc.h:224
AVTXContext * tx
FFT context for MDCT calculation.
Definition ac3enc.h:171
uint8_t * grouped_exp_buffer
Definition ac3enc.h:243
int fast_decay_code
fast decay code (fdcycod)
Definition ac3enc.h:225
int frame_size
current frame size in bytes
Definition ac3enc.h:187
int frame_size_min
minimum frame size in case rounding is necessary
Definition ac3enc.h:186
uint16_t crc_inv[2]
Definition ac3enc.h:189
int has_center
indicates if there is a center channel
Definition ac3enc.h:197
int frame_size_code
frame size code (frmsizecod)
Definition ac3enc.h:188
AVCodecContext * avctx
parent AVCodecContext
Definition ac3enc.h:162
int has_surround
indicates if there are one or more surround channels
Definition ac3enc.h:198
CoefType * mdct_coef_buffer
Definition ac3enc.h:240
int cpl_end_freq
coupling channel end frequency bin
Definition ac3enc.h:212
int eac3
indicates if this is E-AC-3 vs. AC-3
Definition ac3enc.h:177
int16_t * psd_buffer
Definition ac3enc.h:244
int exponent_bits
number of bits used for exponents
Definition ac3enc.h:234
uint8_t * ref_bap[AC3_MAX_CHANNELS][AC3_MAX_BLOCKS]
bit allocation pointers (bap)
Definition ac3enc.h:254
int num_cpl_bands
number of coupling bands (ncplbnd)
Definition ac3enc.h:217
int surround_mix_level
surround mix level code
Definition ac3enc.h:203
const uint8_t * channel_map
channel map used to reorder channels
Definition ac3enc.h:200
int start_freq[AC3_MAX_CHANNELS]
start frequency bin (strtmant)
Definition ac3enc.h:211
int lfe_channel
channel index of the LFE channel
Definition ac3enc.h:196
int num_cpl_subbands
number of coupling subbands (ncplsubnd)
Definition ac3enc.h:216
int64_t bits_written
bit count (used to avg. bitrate)
Definition ac3enc.h:190
int center_mix_level
center mix level code
Definition ac3enc.h:202
int fbw_channels
number of full-bandwidth channels (nfchans)
Definition ac3enc.h:193
int ltrt_surround_mix_level
Lt/Rt surround mix level code.
Definition ac3enc.h:205
uint8_t cpl_band_sizes[AC3_MAX_CPL_BANDS]
number of coeffs in each coupling band
Definition ac3enc.h:218
int bitstream_mode
bitstream mode (bsmod)
Definition ac3enc.h:179
int bitstream_id
bitstream id (bsid)
Definition ac3enc.h:178
uint8_t * bap_buffer
Definition ac3enc.h:238
AC3EncOptions options
encoding options
Definition ac3enc.h:161
uint8_t * cpl_coord_buffer
Definition ac3enc.h:248
int frame_bits_fixed
number of non-coefficient bits for fixed parameters
Definition ac3enc.h:232
uint8_t * planar_samples[AC3_MAX_CHANNELS - 1]
Definition ac3enc.h:236
AudioFrameQueue afq
Definition ac3enc.h:257
uint8_t exp_ref_block[AC3_MAX_CHANNELS][AC3_MAX_BLOCKS]
reference blocks for EXP_REUSE
Definition ac3enc.h:253
int sample_rate
sampling frequency, in Hz
Definition ac3enc.h:182
int num_blocks
number of blocks per frame
Definition ac3enc.h:185
void(* output_frame_header)(struct AC3EncodeContext *s, struct PutBitContext *pb)
Definition ac3enc.h:263
int rematrixing_enabled
stereo rematrixing enabled
Definition ac3enc.h:220
int loro_surround_mix_level
Lo/Ro surround mix level code.
Definition ac3enc.h:207
AVFixedDSPContext * fdsp
Definition ac3enc.h:167
float mdct_window_float[AC3_BLOCK_SIZE]
Definition ac3enc.h:266
int bandwidth_code
bandwidth code (0 to 60) (chbwcod)
Definition ac3enc.h:210
An AVChannelLayout holds information about the channel layout of audio data.
Describe the class of an AVClass context structure.
Definition log.h:76
main external API structure.
Definition avcodec.h:443
This structure describes decoded (raw) audio or video data.
Definition frame.h:472
AVOption.
Definition opt.h:428
This structure stores compressed data.
Definition packet.h:580
void(* av_tx_fn)(AVTXContext *s, void *out, void *in, ptrdiff_t stride)
Function pointer to a function to perform the transform.
Definition tx.h:151