FFmpeg
|
AC-3 encoder & E-AC-3 encoder common header. More...
#include <stdint.h>
#include "libavutil/float_dsp.h"
#include "ac3.h"
#include "ac3dsp.h"
#include "avcodec.h"
#include "dsputil.h"
#include "put_bits.h"
#include "fft.h"
Go to the source code of this file.
Data Structures | |
struct | AC3EncOptions |
Encoding Options used by AVOption. More... | |
struct | AC3Block |
Data for a single audio block. More... | |
struct | AC3EncodeContext |
AC-3 encoder private context. More... | |
Macros | |
#define | CONFIG_AC3ENC_FLOAT 0 |
#define | OFFSET(param) offsetof(AC3EncodeContext, options.param) |
#define | AC3ENC_PARAM (AV_OPT_FLAG_AUDIO_PARAM | AV_OPT_FLAG_ENCODING_PARAM) |
#define | AC3ENC_TYPE_AC3_FIXED 0 |
#define | AC3ENC_TYPE_AC3 1 |
#define | AC3ENC_TYPE_EAC3 2 |
#define | AC3_NAME(x) ff_ac3_fixed_ ## x |
#define | MAC_COEF(d, a, b) MAC64(d,a,b) |
#define | COEF_MIN -16777215 |
#define | COEF_MAX 16777215 |
#define | NEW_CPL_COORD_THRESHOLD 503317 |
#define | AC3ENC_OPT_NONE -1 |
#define | AC3ENC_OPT_AUTO -1 |
#define | AC3ENC_OPT_OFF 0 |
#define | AC3ENC_OPT_ON 1 |
#define | AC3ENC_OPT_NOT_INDICATED 0 |
#define | AC3ENC_OPT_MODE_ON 2 |
#define | AC3ENC_OPT_MODE_OFF 1 |
#define | AC3ENC_OPT_LARGE_ROOM 1 |
#define | AC3ENC_OPT_SMALL_ROOM 2 |
#define | AC3ENC_OPT_DOWNMIX_LTRT 1 |
#define | AC3ENC_OPT_DOWNMIX_LORO 2 |
#define | AC3ENC_OPT_ADCONV_STANDARD 0 |
#define | AC3ENC_OPT_ADCONV_HDCD 1 |
Typedefs | |
typedef int16_t | SampleType |
typedef int32_t | CoefType |
typedef int64_t | CoefSumType |
typedef struct AC3EncOptions | AC3EncOptions |
Encoding Options used by AVOption. More... | |
typedef struct AC3Block | AC3Block |
Data for a single audio block. More... | |
typedef struct AC3EncodeContext | AC3EncodeContext |
AC-3 encoder private context. More... | |
Variables | |
const uint64_t | ff_ac3_channel_layouts [19] |
List of supported channel layouts. More... | |
Detailed Description
AC-3 encoder & E-AC-3 encoder common header.
Definition in file ac3enc.h.
Macro Definition Documentation
#define AC3ENC_OPT_ADCONV_HDCD 1 |
Definition at line 87 of file ac3enc.h.
Referenced by dprint_options().
#define AC3ENC_OPT_ADCONV_STANDARD 0 |
Definition at line 86 of file ac3enc.h.
Referenced by dprint_options(), and ff_ac3_validate_metadata().
#define AC3ENC_OPT_AUTO -1 |
Definition at line 74 of file ac3enc.h.
Referenced by set_bandwidth().
#define AC3ENC_OPT_DOWNMIX_LORO 2 |
Definition at line 85 of file ac3enc.h.
Referenced by dprint_options().
#define AC3ENC_OPT_DOWNMIX_LTRT 1 |
Definition at line 84 of file ac3enc.h.
Referenced by dprint_options().
#define AC3ENC_OPT_LARGE_ROOM 1 |
Definition at line 82 of file ac3enc.h.
Referenced by dprint_options().
#define AC3ENC_OPT_MODE_OFF 1 |
Definition at line 79 of file ac3enc.h.
Referenced by dprint_options().
#define AC3ENC_OPT_MODE_ON 2 |
Definition at line 78 of file ac3enc.h.
Referenced by dprint_options().
#define AC3ENC_OPT_NONE -1 |
Definition at line 73 of file ac3enc.h.
Referenced by ff_ac3_validate_metadata().
#define AC3ENC_OPT_NOT_INDICATED 0 |
Definition at line 77 of file ac3enc.h.
Referenced by dprint_options(), and ff_ac3_validate_metadata().
#define AC3ENC_OPT_OFF 0 |
Definition at line 75 of file ac3enc.h.
Referenced by ff_ac3_validate_metadata().
#define AC3ENC_OPT_ON 1 |
Definition at line 76 of file ac3enc.h.
Referenced by ff_ac3_validate_metadata().
#define AC3ENC_OPT_SMALL_ROOM 2 |
Definition at line 83 of file ac3enc.h.
Referenced by dprint_options().
#define AC3ENC_PARAM (AV_OPT_FLAG_AUDIO_PARAM | AV_OPT_FLAG_ENCODING_PARAM) |
#define COEF_MAX 16777215 |
Definition at line 65 of file ac3enc.h.
Referenced by calc_cpl_coord(), and clip_coefficients().
#define COEF_MIN -16777215 |
Definition at line 64 of file ac3enc.h.
Referenced by clip_coefficients().
Definition at line 63 of file ac3enc.h.
Referenced by apply_channel_coupling().
#define NEW_CPL_COORD_THRESHOLD 503317 |
Definition at line 66 of file ac3enc.h.
Referenced by apply_channel_coupling().
#define OFFSET | ( | param | ) | offsetof(AC3EncodeContext, options.param) |
Typedef Documentation
typedef struct AC3EncodeContext AC3EncodeContext |
AC-3 encoder private context.
typedef struct AC3EncOptions AC3EncOptions |
Encoding Options used by AVOption.
typedef int64_t CoefSumType |
typedef int16_t SampleType |
Function Documentation
void ff_ac3_adjust_frame_size | ( | AC3EncodeContext * | s | ) |
Adjust the frame size to make the average bit rate match the target bit rate.
This is only needed for 11025, 22050, and 44100 sample rates or any E-AC-3.
- Parameters
-
s AC-3 encoder private context
Definition at line 181 of file ac3enc.c.
Referenced by encode_frame().
void ff_ac3_apply_rematrixing | ( | AC3EncodeContext * | s | ) |
Apply stereo rematrixing to coefficients based on rematrixing flags.
- Parameters
-
s AC-3 encoder private context
Definition at line 270 of file ac3enc.c.
Referenced by encode_frame().
int ff_ac3_compute_bit_allocation | ( | AC3EncodeContext * | s | ) |
Definition at line 1144 of file ac3enc.c.
Referenced by encode_frame().
void ff_ac3_compute_coupling_strategy | ( | AC3EncodeContext * | s | ) |
Set the initial coupling strategy parameters prior to coupling analysis.
- Parameters
-
s AC-3 encoder private context
Definition at line 199 of file ac3enc.c.
Referenced by encode_frame().
int ff_ac3_encode_close | ( | AVCodecContext * | avctx | ) |
Finalize encoding and free any memory allocated by the encoder.
- Parameters
-
avctx Codec context
Definition at line 2015 of file ac3enc.c.
Referenced by calc_cpl_coord(), ff_ac3_encode_init(), and ff_eac3_output_frame_header().
int ff_ac3_encode_init | ( | AVCodecContext * | avctx | ) |
Definition at line 2419 of file ac3enc.c.
Referenced by ac3_fixed_encode_init(), calc_cpl_coord(), and ff_eac3_output_frame_header().
int ff_ac3_fixed_allocate_sample_buffers | ( | AC3EncodeContext * | s | ) |
Referenced by ff_ac3_encode_init().
int ff_ac3_fixed_encode_frame | ( | AVCodecContext * | avctx, |
AVPacket * | avpkt, | ||
const AVFrame * | frame, | ||
int * | got_packet_ptr | ||
) |
void ff_ac3_fixed_mdct_end | ( | AC3EncodeContext * | s | ) |
Referenced by ff_ac3_encode_init().
int ff_ac3_fixed_mdct_init | ( | AC3EncodeContext * | s | ) |
Referenced by ff_ac3_encode_init().
int ff_ac3_float_allocate_sample_buffers | ( | AC3EncodeContext * | s | ) |
Referenced by ff_ac3_encode_init().
int ff_ac3_float_encode_frame | ( | AVCodecContext * | avctx, |
AVPacket * | avpkt, | ||
const AVFrame * | frame, | ||
int * | got_packet_ptr | ||
) |
Referenced by calc_cpl_coord(), and ff_eac3_output_frame_header().
void ff_ac3_float_mdct_end | ( | AC3EncodeContext * | s | ) |
Finalize MDCT and free allocated memory.
- Parameters
-
s AC-3 encoder private context
Definition at line 55 of file ac3enc_float.c.
Referenced by ff_ac3_encode_init().
int ff_ac3_float_mdct_init | ( | AC3EncodeContext * | s | ) |
Initialize MDCT tables.
- Parameters
-
s AC-3 encoder private context
- Returns
- 0 on success, negative error code on failure
Definition at line 68 of file ac3enc_float.c.
Referenced by ff_ac3_encode_init().
void ff_ac3_group_exponents | ( | AC3EncodeContext * | s | ) |
Group exponents.
3 delta-encoded exponents are in each 7-bit group. The number of groups varies depending on exponent strategy and bandwidth.
- Parameters
-
s AC-3 encoder private context
Definition at line 577 of file ac3enc.c.
Referenced by encode_frame().
void ff_ac3_output_frame | ( | AC3EncodeContext * | s, |
unsigned char * | frame | ||
) |
Write the frame to the output bitstream.
- Parameters
-
s AC-3 encoder private context frame output data buffer
Definition at line 1659 of file ac3enc.c.
Referenced by encode_frame().
void ff_ac3_process_exponents | ( | AC3EncodeContext * | s | ) |
Calculate final exponents from the supplied MDCT coefficients and exponent shift.
Extract exponents from MDCT coefficients, calculate exponent strategies, and encode final exponents.
- Parameters
-
s AC-3 encoder private context
Definition at line 635 of file ac3enc.c.
Referenced by encode_frame().
void ff_ac3_quantize_mantissas | ( | AC3EncodeContext * | s | ) |
Quantize mantissas using coefficients, exponents, and bit allocation pointers.
- Parameters
-
s AC-3 encoder private context
Definition at line 1298 of file ac3enc.c.
Referenced by encode_frame().
int ff_ac3_validate_metadata | ( | AC3EncodeContext * | s | ) |
Validate metadata options as set by AVOption system.
These values can optionally be changed per-frame.
- Parameters
-
s AC-3 encoder private context
Definition at line 1831 of file ac3enc.c.
Referenced by encode_frame(), and validate_options().
Variable Documentation
const uint64_t ff_ac3_channel_layouts[19] |
List of supported channel layouts.
Definition at line 79 of file ac3enc.c.
Referenced by calc_cpl_coord(), and ff_eac3_output_frame_header().
Generated on Fri Dec 20 2024 06:56:10 for FFmpeg by 1.8.11