FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions | Variables
eac3enc.c File Reference

E-AC-3 encoder. More...

#include "libavutil/attributes.h"
#include "ac3enc.h"
#include "eac3enc.h"
#include "eac3_data.h"
#include "ac3enc_opts_template.c"

Go to the source code of this file.

Macros

#define CONFIG_AC3ENC_FLOAT   1
 
#define AC3ENC_TYPE   AC3ENC_TYPE_EAC3
 

Functions

av_cold void ff_eac3_exponent_init (void)
 Initialize E-AC-3 exponent tables. More...
 
void ff_eac3_get_frame_exp_strategy (AC3EncodeContext *s)
 Determine frame exponent strategy use and indices. More...
 
void ff_eac3_set_cpl_states (AC3EncodeContext *s)
 Set coupling states. More...
 
void ff_eac3_output_frame_header (AC3EncodeContext *s)
 Write the E-AC-3 frame header to the output bitstream. More...
 

Variables

static const AVClass eac3enc_class
 
static int8_t eac3_frame_expstr_index_tab [3][4][4][4][4][4]
 LUT for finding a matching frame exponent strategy index from a set of exponent strategies for a single channel across all 6 blocks. More...
 
AVCodec ff_eac3_encoder
 

Detailed Description

E-AC-3 encoder.

Definition in file eac3enc.c.

Macro Definition Documentation

#define CONFIG_AC3ENC_FLOAT   1

Definition at line 27 of file eac3enc.c.

#define AC3ENC_TYPE   AC3ENC_TYPE_EAC3

Definition at line 35 of file eac3enc.c.

Function Documentation

av_cold void ff_eac3_exponent_init ( void  )

Initialize E-AC-3 exponent tables.

Definition at line 52 of file eac3enc.c.

Referenced by exponent_init().

void ff_eac3_get_frame_exp_strategy ( AC3EncodeContext s)

Determine frame exponent strategy use and indices.

Definition at line 68 of file eac3enc.c.

Referenced by compute_exp_strategy().

void ff_eac3_set_cpl_states ( AC3EncodeContext s)

Set coupling states.

This determines whether certain flags must be written to the bitstream or whether they will be implicitly already known by the decoder.

Definition at line 95 of file eac3enc.c.

Referenced by apply_channel_coupling().

void ff_eac3_output_frame_header ( AC3EncodeContext s)

Write the E-AC-3 frame header to the output bitstream.

Definition at line 128 of file eac3enc.c.

Referenced by ff_ac3_encode_init().

Variable Documentation

const AVClass eac3enc_class
static
Initial value:
= {
.class_name = "E-AC-3 Encoder",
.item_name = av_default_item_name,
.option = ac3_options,
}
#define LIBAVUTIL_VERSION_INT
Definition: version.h:85
av_default_item_name
static const AVOption ac3_options[]

Definition at line 38 of file eac3enc.c.

int8_t eac3_frame_expstr_index_tab[3][4][4][4][4][4]
static

LUT for finding a matching frame exponent strategy index from a set of exponent strategies for a single channel across all 6 blocks.

Definition at line 49 of file eac3enc.c.

Referenced by ff_eac3_exponent_init(), and ff_eac3_get_frame_exp_strategy().

AVCodec ff_eac3_encoder
Initial value:
= {
.name = "eac3",
.long_name = NULL_IF_CONFIG_SMALL("ATSC A/52 E-AC-3"),
.priv_data_size = sizeof(AC3EncodeContext),
.priv_class = &eac3enc_class,
.channel_layouts = ff_ac3_channel_layouts,
.defaults = ac3_defaults,
}
float, planar
Definition: samplefmt.h:69
static av_cold int init(AVCodecContext *avctx)
Definition: avrndec.c:35
static const AVClass eac3enc_class
Definition: eac3enc.c:38
int ff_ac3_float_encode_frame(AVCodecContext *avctx, AVPacket *avpkt, const AVFrame *frame, int *got_packet_ptr)
int ff_ac3_float_encode_init(AVCodecContext *avctx)
Definition: ac3enc_float.c:139
av_cold int ff_ac3_encode_close(AVCodecContext *avctx)
Finalize encoding and free any memory allocated by the encoder.
Definition: ac3enc.c:2017
const uint64_t ff_ac3_channel_layouts[19]
List of supported channel layouts.
Definition: ac3enc.c:81
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification. ...
Definition: internal.h:176
AVSampleFormat
Audio sample formats.
Definition: samplefmt.h:58
static const AVCodecDefault ac3_defaults[]
AC-3 encoder private context.
Definition: ac3enc.h:162
static enum AVSampleFormat sample_fmts[]
Definition: adpcmenc.c:701

Definition at line 254 of file eac3enc.c.