ac3enc_fixed.c File Reference

fixed-point AC-3 encoder. More...

#include "internal.h"
#include "ac3enc.h"
#include "eac3enc.h"
#include "ac3enc_opts_template.c"
#include "ac3enc_template.c"
Include dependency graph for ac3enc_fixed.c:

Go to the source code of this file.

Macros

#define CONFIG_FFT_FLOAT   0
 
#define AC3ENC_TYPE   AC3ENC_TYPE_AC3_FIXED
 

Functions

av_cold void AC3_NAME() mdct_end (AC3EncodeContext *s)
 Finalize MDCT and free allocated memory. More...
 
av_cold int AC3_NAME() mdct_init (AC3EncodeContext *s)
 Initialize MDCT tables. More...
 
static void apply_window (void *dsp, int16_t *output, const int16_t *input, const int16_t *window, unsigned int len)
 
static int normalize_samples (AC3EncodeContext *s)
 
static void scale_coefficients (AC3EncodeContext *s)
 
static void sum_square_butterfly (AC3EncodeContext *s, int64_t sum[4], const int32_t *coef0, const int32_t *coef1, int len)
 
static void clip_coefficients (DSPContext *dsp, int32_t *coef, unsigned int len)
 
static CoefType calc_cpl_coord (CoefSumType energy_ch, CoefSumType energy_cpl)
 
static av_cold int ac3_fixed_encode_init (AVCodecContext *avctx)
 

Variables

static const AVClass ac3enc_class
 
AVCodec ff_ac3_fixed_encoder
 

Detailed Description

fixed-point AC-3 encoder.

Definition in file ac3enc_fixed.c.

Macro Definition Documentation

#define AC3ENC_TYPE   AC3ENC_TYPE_AC3_FIXED

Definition at line 35 of file ac3enc_fixed.c.

#define CONFIG_FFT_FLOAT   0

Definition at line 29 of file ac3enc_fixed.c.

Function Documentation

static av_cold int ac3_fixed_encode_init ( AVCodecContext avctx)
static

Definition at line 147 of file ac3enc_fixed.c.

static void apply_window ( void dsp,
int16_t *  output,
const int16_t *  input,
const int16_t *  window,
unsigned int  len 
)
static

Definition at line 76 of file ac3enc_fixed.c.

static CoefType calc_cpl_coord ( CoefSumType  energy_ch,
CoefSumType  energy_cpl 
)
static

Definition at line 134 of file ac3enc_fixed.c.

static void clip_coefficients ( DSPContext dsp,
int32_t coef,
unsigned int  len 
)
static

Definition at line 125 of file ac3enc_fixed.c.

av_cold void AC3_NAME() mdct_end ( AC3EncodeContext s)

Finalize MDCT and free allocated memory.

Parameters
sAC-3 encoder private context

Definition at line 53 of file ac3enc_fixed.c.

av_cold int AC3_NAME() mdct_init ( AC3EncodeContext s)

Initialize MDCT tables.

Parameters
sAC-3 encoder private context
Returns
0 on success, negative error code on failure

Definition at line 65 of file ac3enc_fixed.c.

static int normalize_samples ( AC3EncodeContext s)
static

Definition at line 88 of file ac3enc_fixed.c.

static void scale_coefficients ( AC3EncodeContext s)
static

Definition at line 102 of file ac3enc_fixed.c.

static void sum_square_butterfly ( AC3EncodeContext s,
int64_t  sum[4],
const int32_t coef0,
const int32_t coef1,
int  len 
)
static

Definition at line 115 of file ac3enc_fixed.c.

Variable Documentation

const AVClass ac3enc_class
static
Initial value:
= {
.class_name = "Fixed-Point AC-3 Encoder",
.item_name = av_default_item_name,
.option = ac3_options,
}
av_default_item_name
LIBAVUTIL_VERSION_INT
Definition: eval.c:55
static const AVOption ac3_options[]

Definition at line 38 of file ac3enc_fixed.c.

Referenced by calc_cpl_coord().

AVCodec ff_ac3_fixed_encoder
Initial value:
= {
.name = "ac3_fixed",
.priv_data_size = sizeof(AC3EncodeContext),
.long_name = NULL_IF_CONFIG_SMALL("ATSC A/52A (AC-3)"),
.priv_class = &ac3enc_class,
.channel_layouts = ff_ac3_channel_layouts,
.defaults = ac3_defaults,
}
struct AC3EncodeContext AC3EncodeContext
AC-3 encoder private context.
static av_cold int init(AVCodecContext *avctx)
Definition: avrndec.c:35
static av_cold int ac3_fixed_encode_init(AVCodecContext *avctx)
Definition: ac3enc_fixed.c:147
av_cold int ff_ac3_encode_close(AVCodecContext *avctx)
Finalize encoding and free any memory allocated by the encoder.
Definition: ac3enc.c:2015
const uint64_t ff_ac3_channel_layouts[19]
List of supported channel layouts.
Definition: ac3enc.c:79
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification. ...
static void close(AVCodecParserContext *s)
Definition: h264_parser.c:375
int ff_ac3_fixed_encode_frame(AVCodecContext *avctx, AVPacket *avpkt, const AVFrame *frame, int *got_packet_ptr)
static const AVCodecDefault ac3_defaults[]
static const AVClass ac3enc_class
Definition: ac3enc_fixed.c:38
AVSampleFormat
Audio Sample Formats.
Definition: samplefmt.h:49
signed 16 bits, planar
Definition: samplefmt.h:58
static enum AVSampleFormat sample_fmts[]
Definition: adpcmenc.c:700

Definition at line 155 of file ac3enc_fixed.c.