FFmpeg
Loading...
Searching...
No Matches
aacsbr.c File Reference

AAC Spectral Band Replication decoding functions. More...

#include "aac.h"
#include "sbr.h"
#include "aacsbr.h"
#include "aacsbrdata.h"
#include "aacps.h"
#include "sbrdsp.h"
#include "libavutil/internal.h"
#include "libavutil/intfloat.h"
#include "libavutil/libm.h"
#include "libavutil/avassert.h"
#include "libavutil/mem_internal.h"
#include <stdint.h>
#include <float.h>
#include <math.h>
#include "aacsbr_template.c"

Go to the source code of this file.

Macros

#define USE_FIXED   0
 

Functions

static av_always_inline float exp2fi (int x)
 2^(x) for integer x
 
static void aacsbr_func_ptr_init (AACSBRContext *c)
 
static void make_bands (int16_t *bands, int start, int stop, int num_bands)
 
static void sbr_dequant (SpectralBandReplication *sbr, int id_aac)
 Dequantization and stereo decoding (14496-3 sp04 p203)
 
static void sbr_hf_inverse_filter (SBRDSPContext *dsp, float(*alpha0)[2], float(*alpha1)[2], const float X_low[32][40][2], int k0)
 High Frequency Generation (14496-3 sp04 p214+) and Inverse Filtering (14496-3 sp04 p214) Warning: This routine does not seem numerically stable.
 
static void sbr_chirp (SpectralBandReplication *sbr, SBRData *ch_data)
 Chirp Factors (14496-3 sp04 p214)
 
static void sbr_gain_calc (SpectralBandReplication *sbr, SBRData *ch_data, const int e_a[2])
 Calculation of levels of additional HF signal components (14496-3 sp04 p219) and Calculation of gain (14496-3 sp04 p219)
 
static void sbr_hf_assemble (float Y1[38][64][2], const float X_high[64][40][2], SpectralBandReplication *sbr, SBRData *ch_data, const int e_a[2])
 Assembling HF Signals (14496-3 sp04 p220)
 

Detailed Description

AAC Spectral Band Replication decoding functions.

Author
Robert Swain ( rob opendot cl )

Definition in file aacsbr.c.

Macro Definition Documentation

◆ USE_FIXED

#define USE_FIXED   0

Definition at line 28 of file aacsbr.c.

Function Documentation

◆ exp2fi()

static av_always_inline float exp2fi ( int x)
static

2^(x) for integer x

Returns
correctly rounded float

Definition at line 50 of file aacsbr.c.

Referenced by sbr_dequant().

◆ aacsbr_func_ptr_init()

static void aacsbr_func_ptr_init ( AACSBRContext * c)
static

◆ make_bands()

static void make_bands ( int16_t * bands,
int start,
int stop,
int num_bands )
static

Definition at line 67 of file aacsbr.c.

Referenced by sbr_make_f_master().

◆ sbr_dequant()

static void sbr_dequant ( SpectralBandReplication * sbr,
int id_aac )
static

Dequantization and stereo decoding (14496-3 sp04 p203)

Definition at line 86 of file aacsbr.c.

Referenced by ff_aac_sbr_apply().

◆ sbr_hf_inverse_filter()

static void sbr_hf_inverse_filter ( SBRDSPContext * dsp,
float(*) alpha0[2],
float(*) alpha1[2],
const float X_low[32][40][2],
int k0 )
static

High Frequency Generation (14496-3 sp04 p214+) and Inverse Filtering (14496-3 sp04 p214) Warning: This routine does not seem numerically stable.

Definition at line 153 of file aacsbr.c.

Referenced by aacsbr_func_ptr_init().

◆ sbr_chirp()

static void sbr_chirp ( SpectralBandReplication * sbr,
SBRData * ch_data )
static

Chirp Factors (14496-3 sp04 p214)

Definition at line 208 of file aacsbr.c.

Referenced by ff_aac_sbr_apply().

◆ sbr_gain_calc()

static void sbr_gain_calc ( SpectralBandReplication * sbr,
SBRData * ch_data,
const int e_a[2] )
static

Calculation of levels of additional HF signal components (14496-3 sp04 p219) and Calculation of gain (14496-3 sp04 p219)

Definition at line 232 of file aacsbr.c.

Referenced by ff_aac_sbr_apply().

◆ sbr_hf_assemble()

static void sbr_hf_assemble ( float Y1[38][64][2],
const float X_high[64][40][2],
SpectralBandReplication * sbr,
SBRData * ch_data,
const int e_a[2] )
static

Assembling HF Signals (14496-3 sp04 p220)

Definition at line 289 of file aacsbr.c.

Referenced by aacsbr_func_ptr_init().