FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Enumerations | Functions
eac3dec.c File Reference
#include "avcodec.h"
#include "internal.h"
#include "aac_ac3_parser.h"
#include "ac3.h"
#include "ac3_parser.h"
#include "ac3dec.h"
#include "ac3dec_data.h"
#include "eac3_data.h"

Go to the source code of this file.

Macros

#define EAC3_SR_CODE_REDUCED   3
 
#define COEFF_0   10273905LL
 lrint(M_SQRT2*cos(2*M_PI/12)*(1<<23))
 
#define COEFF_1   11863283LL
 lrint(M_SQRT2*cos(0*M_PI/12)*(1<<23)) = lrint(M_SQRT2*(1<<23))
 
#define COEFF_2   3070444LL
 lrint(M_SQRT2*cos(5*M_PI/12)*(1<<23))
 

Enumerations

enum  EAC3GaqMode { EAC3_GAQ_NO =0, EAC3_GAQ_12, EAC3_GAQ_14, EAC3_GAQ_124 }
 gain adaptive quantization mode More...
 

Functions

void ff_eac3_apply_spectral_extension (AC3DecodeContext *s)
 Apply spectral extension to each channel by copying lower frequency coefficients to higher frequency bins and applying side information to approximate the original high frequency signal.
 
static void idct6 (int pre_mant[6])
 Calculate 6-point IDCT of the pre-mantissas.
 
void ff_eac3_decode_transform_coeffs_aht_ch (AC3DecodeContext *s, int ch)
 Decode mantissas in a single channel for the entire frame.
 
int ff_eac3_parse_header (AC3DecodeContext *s)
 Parse the E-AC-3 frame header.
 

Macro Definition Documentation

#define EAC3_SR_CODE_REDUCED   3

Definition at line 64 of file eac3dec.c.

Referenced by ff_eac3_parse_header().

#define COEFF_0   10273905LL

lrint(M_SQRT2*cos(2*M_PI/12)*(1<<23))

Definition at line 156 of file eac3dec.c.

Referenced by idct6().

#define COEFF_1   11863283LL

lrint(M_SQRT2*cos(0*M_PI/12)*(1<<23)) = lrint(M_SQRT2*(1<<23))

Definition at line 159 of file eac3dec.c.

Referenced by idct6().

#define COEFF_2   3070444LL

lrint(M_SQRT2*cos(5*M_PI/12)*(1<<23))

Definition at line 162 of file eac3dec.c.

Referenced by idct6().

Enumeration Type Documentation

gain adaptive quantization mode

Enumerator:
EAC3_GAQ_NO 
EAC3_GAQ_12 
EAC3_GAQ_14 
EAC3_GAQ_124 

Definition at line 57 of file eac3dec.c.

Function Documentation

void ff_eac3_apply_spectral_extension ( AC3DecodeContext s)

Apply spectral extension to each channel by copying lower frequency coefficients to higher frequency bins and applying side information to approximate the original high frequency signal.

Definition at line 66 of file eac3dec.c.

Referenced by decode_audio_block().

static void idct6 ( int  pre_mant[6])
static

Calculate 6-point IDCT of the pre-mantissas.

All calculations are 24-bit fixed-point.

Definition at line 168 of file eac3dec.c.

Referenced by ff_eac3_decode_transform_coeffs_aht_ch().

void ff_eac3_decode_transform_coeffs_aht_ch ( AC3DecodeContext s,
int  ch 
)

Decode mantissas in a single channel for the entire frame.

This is used when AHT mode is enabled.

Definition at line 198 of file eac3dec.c.

Referenced by decode_transform_coeffs_ch().

int ff_eac3_parse_header ( AC3DecodeContext s)

Parse the E-AC-3 frame header.

This parses both the bit stream info and audio frame header.

Definition at line 291 of file eac3dec.c.

Referenced by parse_frame_header().