FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations | Functions | Variables
libfdk-aacdec.c File Reference
#include <fdk-aac/aacdecoder_lib.h>
#include "libavutil/channel_layout.h"
#include "libavutil/common.h"
#include "libavutil/opt.h"
#include "avcodec.h"
#include "internal.h"

Go to the source code of this file.

Data Structures

struct  FDKAACDecContext
 

Macros

#define AAC_PCM_MAX_OUTPUT_CHANNELS   AAC_PCM_OUTPUT_CHANNELS
 
#define DMX_ANC_BUFFSIZE   128
 
#define DECODER_MAX_CHANNELS   6
 
#define DECODER_BUFFSIZE   2048 * sizeof(INT_PCM)
 
#define OFFSET(x)   offsetof(FDKAACDecContext, x)
 
#define AD   AV_OPT_FLAG_AUDIO_PARAM | AV_OPT_FLAG_DECODING_PARAM
 

Enumerations

enum  ConcealMethod { CONCEAL_METHOD_SPECTRAL_MUTING = 0, CONCEAL_METHOD_NOISE_SUBSTITUTION = 1, CONCEAL_METHOD_ENERGY_INTERPOLATION = 2, CONCEAL_METHOD_NB }
 

Functions

static int get_stream_info (AVCodecContext *avctx)
 
static av_cold int fdk_aac_decode_close (AVCodecContext *avctx)
 
static av_cold int fdk_aac_decode_init (AVCodecContext *avctx)
 
static int fdk_aac_decode_frame (AVCodecContext *avctx, void *data, int *got_frame_ptr, AVPacket *avpkt)
 
static av_cold void fdk_aac_decode_flush (AVCodecContext *avctx)
 

Variables

static const AVOption fdk_aac_dec_options []
 
static const AVClass fdk_aac_dec_class
 
AVCodec ff_libfdk_aac_decoder
 

Macro Definition Documentation

#define AAC_PCM_MAX_OUTPUT_CHANNELS   AAC_PCM_OUTPUT_CHANNELS

Definition at line 31 of file libfdk-aacdec.c.

Referenced by fdk_aac_decode_init().

#define DMX_ANC_BUFFSIZE   128

Definition at line 56 of file libfdk-aacdec.c.

Referenced by fdk_aac_decode_init().

#define DECODER_MAX_CHANNELS   6

Definition at line 57 of file libfdk-aacdec.c.

Referenced by fdk_aac_decode_frame().

#define DECODER_BUFFSIZE   2048 * sizeof(INT_PCM)

Definition at line 58 of file libfdk-aacdec.c.

Referenced by fdk_aac_decode_frame().

#define OFFSET (   x)    offsetof(FDKAACDecContext, x)

Definition at line 60 of file libfdk-aacdec.c.

Definition at line 61 of file libfdk-aacdec.c.

Enumeration Type Documentation

Enumerator:
CONCEAL_METHOD_SPECTRAL_MUTING 
CONCEAL_METHOD_NOISE_SUBSTITUTION 
CONCEAL_METHOD_ENERGY_INTERPOLATION 
CONCEAL_METHOD_NB 

Definition at line 34 of file libfdk-aacdec.c.

Function Documentation

static int get_stream_info ( AVCodecContext avctx)
static

Definition at line 85 of file libfdk-aacdec.c.

Referenced by fdk_aac_decode_frame().

static av_cold int fdk_aac_decode_close ( AVCodecContext avctx)
static

Definition at line 196 of file libfdk-aacdec.c.

Referenced by fdk_aac_decode_init().

static av_cold int fdk_aac_decode_init ( AVCodecContext avctx)
static

Definition at line 208 of file libfdk-aacdec.c.

static int fdk_aac_decode_frame ( AVCodecContext avctx,
void data,
int *  got_frame_ptr,
AVPacket avpkt 
)
static

Definition at line 314 of file libfdk-aacdec.c.

static av_cold void fdk_aac_decode_flush ( AVCodecContext avctx)
static

Definition at line 395 of file libfdk-aacdec.c.

Variable Documentation

const AVOption fdk_aac_dec_options[]
static
Initial value:
= {
{ "conceal", "Error concealment method", OFFSET(conceal_method), AV_OPT_TYPE_INT, { .i64 = CONCEAL_METHOD_NOISE_SUBSTITUTION }, CONCEAL_METHOD_SPECTRAL_MUTING, CONCEAL_METHOD_NB - 1, AD, "conceal" },
{ "spectral", "Spectral muting", 0, AV_OPT_TYPE_CONST, { .i64 = CONCEAL_METHOD_SPECTRAL_MUTING }, INT_MIN, INT_MAX, AD, "conceal" },
{ "noise", "Noise Substitution", 0, AV_OPT_TYPE_CONST, { .i64 = CONCEAL_METHOD_NOISE_SUBSTITUTION }, INT_MIN, INT_MAX, AD, "conceal" },
{ "energy", "Energy Interpolation", 0, AV_OPT_TYPE_CONST, { .i64 = CONCEAL_METHOD_ENERGY_INTERPOLATION }, INT_MIN, INT_MAX, AD, "conceal" },
{ "drc_boost", "Dynamic Range Control: boost, where [0] is none and [127] is max boost",
OFFSET(drc_boost), AV_OPT_TYPE_INT, { .i64 = -1 }, -1, 127, AD, NULL },
{ "drc_cut", "Dynamic Range Control: attenuation factor, where [0] is none and [127] is max compression",
OFFSET(drc_cut), AV_OPT_TYPE_INT, { .i64 = -1 }, -1, 127, AD, NULL },
{ "drc_level", "Dynamic Range Control: reference level, quantized to 0.25dB steps where [0] is 0dB and [127] is -31.75dB",
OFFSET(drc_level), AV_OPT_TYPE_INT, { .i64 = -1}, -1, 127, AD, NULL },
{ "drc_heavy", "Dynamic Range Control: heavy compression, where [1] is on (RF mode) and [0] is off",
OFFSET(drc_heavy), AV_OPT_TYPE_INT, { .i64 = -1}, -1, 1, AD, NULL },
{ NULL }
}

Definition at line 62 of file libfdk-aacdec.c.

const AVClass fdk_aac_dec_class
static
Initial value:

Definition at line 81 of file libfdk-aacdec.c.

AVCodec ff_libfdk_aac_decoder
Initial value:
= {
.name = "libfdk_aac",
.long_name = NULL_IF_CONFIG_SMALL("Fraunhofer FDK AAC"),
.priv_data_size = sizeof(FDKAACDecContext),
.priv_class = &fdk_aac_dec_class,
}

Definition at line 408 of file libfdk-aacdec.c.