FFmpeg
Macros | Functions | Variables
ac3dec_fixed.c File Reference
#include "ac3dec.h"
#include "eac3dec.c"
#include "ac3dec.c"

Go to the source code of this file.

Macros

#define FFT_FLOAT   0
 
#define USE_FIXED   1
 
#define FFT_FIXED_32   1
 

Functions

static void scale_coefs (int32_t *dst, const int32_t *src, int dynrng, int len)
 
static void ac3_downmix_c_fixed16 (int16_t **samples, int16_t **matrix, int out_ch, int in_ch, int len)
 Downmix samples from original signal to stereo or mono (this is for 16-bit samples and fixed point decoder - original (for 32-bit samples) is in ac3dsp.c). More...
 

Variables

static const int end_freq_inv_tab [8]
 
static const AVOption options []
 
static const AVClass ac3_decoder_class
 
AVCodec ff_ac3_fixed_decoder
 

Macro Definition Documentation

#define FFT_FLOAT   0

Definition at line 50 of file ac3dec_fixed.c.

#define USE_FIXED   1

Definition at line 51 of file ac3dec_fixed.c.

#define FFT_FIXED_32   1

Definition at line 52 of file ac3dec_fixed.c.

Function Documentation

static void scale_coefs ( int32_t dst,
const int32_t src,
int  dynrng,
int  len 
)
static

Definition at line 61 of file ac3dec_fixed.c.

Referenced by decode_audio_block().

static void ac3_downmix_c_fixed16 ( int16_t **  samples,
int16_t **  matrix,
int  out_ch,
int  in_ch,
int  len 
)
static

Downmix samples from original signal to stereo or mono (this is for 16-bit samples and fixed point decoder - original (for 32-bit samples) is in ac3dsp.c).

Definition at line 142 of file ac3dec_fixed.c.

Referenced by decode_audio_block().

Variable Documentation

const int end_freq_inv_tab[8]
static
Initial value:
=
{
50529027, 44278013, 39403370, 32292987, 27356480, 23729101, 20951060, 18755316
}

Definition at line 56 of file ac3dec_fixed.c.

Referenced by spx_strategy().

const AVOption options[]
static
Initial value:
= {
{ "cons_noisegen", "enable consistent noise generation", OFFSET(consistent_noise_generation), AV_OPT_TYPE_BOOL, {.i64 = 0 }, 0, 1, PAR },
{ "drc_scale", "percentage of dynamic range compression to apply", OFFSET(drc_scale), AV_OPT_TYPE_FLOAT, {.dbl = 1.0}, 0.0, 6.0, PAR },
{ "heavy_compr", "enable heavy dynamic range compression", OFFSET(heavy_compression), AV_OPT_TYPE_BOOL, {.i64 = 0 }, 0, 1, PAR },
{ NULL},
}
#define NULL
Definition: coverity.c:32
it s the only field you need to keep assuming you have a context There is some magic you don t need to care about around this just let it vf default minimum maximum flags name is the option keep it simple and lowercase description are in without and describe what they for example set the foo of the bar offset is the offset of the field in your local see the OFFSET() macro
Definition: af_afade.c:54

Definition at line 170 of file ac3dec_fixed.c.

const AVClass ac3_decoder_class
static
Initial value:
= {
.class_name = "Fixed-Point AC-3 Decoder",
.item_name = av_default_item_name,
.option = options,
}
#define LIBAVUTIL_VERSION_INT
Definition: version.h:85
const char * av_default_item_name(void *ptr)
Return the context name.
Definition: log.c:191
static const AVOption options[]
Definition: ac3dec_fixed.c:170

Definition at line 177 of file ac3dec_fixed.c.

AVCodec ff_ac3_fixed_decoder
Initial value:
= {
.name = "ac3_fixed",
.priv_data_size = sizeof (AC3DecodeContext),
.close = ac3_decode_end,
.capabilities = AV_CODEC_CAP_DR1,
.long_name = NULL_IF_CONFIG_SMALL("ATSC A/52A (AC-3)"),
.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S16P,
.priv_class = &ac3_decoder_class,
}
static const AVClass ac3_decoder_class
Definition: ac3dec_fixed.c:177
static av_cold int init(AVCodecContext *avctx)
Definition: avrndec.c:35
static void decode(AVCodecContext *dec_ctx, AVPacket *pkt, AVFrame *frame, FILE *outfile)
Definition: decode_audio.c:71
static av_cold int ac3_decode_end(AVCodecContext *avctx)
Uninitialize the AC-3 decoder.
Definition: ac3dec.c:1831
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification. ...
Definition: internal.h:186
static int ac3_decode_frame(AVCodecContext *avctx, void *data, int *got_frame_ptr, AVPacket *avpkt)
Decode a single AC-3 frame.
Definition: ac3dec.c:1462
AVSampleFormat
Audio sample formats.
Definition: samplefmt.h:58
signed 16 bits, planar
Definition: samplefmt.h:67
static av_cold int ac3_decode_init(AVCodecContext *avctx)
AVCodec initialization.
Definition: ac3dec.c:184
#define AV_CODEC_CAP_DR1
Codec uses get_buffer() for allocating buffers and supports custom allocators.
Definition: avcodec.h:984

Definition at line 184 of file ac3dec_fixed.c.