FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Functions | Variables
ac3dsp.c File Reference
#include "libavutil/avassert.h"
#include "avcodec.h"
#include "ac3.h"
#include "ac3dsp.h"
#include "mathops.h"

Go to the source code of this file.

Functions

static void ac3_exponent_min_c (uint8_t *exp, int num_reuse_blocks, int nb_coefs)
 
static int ac3_max_msb_abs_int16_c (const int16_t *src, int len)
 
static void ac3_lshift_int16_c (int16_t *src, unsigned int len, unsigned int shift)
 
static void ac3_rshift_int32_c (int32_t *src, unsigned int len, unsigned int shift)
 
static void float_to_fixed24_c (int32_t *dst, const float *src, unsigned int len)
 
static void ac3_bit_alloc_calc_bap_c (int16_t *mask, int16_t *psd, int start, int end, int snr_offset, int floor, const uint8_t *bap_tab, uint8_t *bap)
 
static void ac3_update_bap_counts_c (uint16_t mant_cnt[16], uint8_t *bap, int len)
 
static int ac3_compute_mantissa_size_c (uint16_t mant_cnt[6][16])
 
static void ac3_extract_exponents_c (uint8_t *exp, int32_t *coef, int nb_coefs)
 
static void ac3_sum_square_butterfly_int32_c (int64_t sum[4], const int32_t *coef0, const int32_t *coef1, int len)
 
static void ac3_sum_square_butterfly_float_c (float sum[4], const float *coef0, const float *coef1, int len)
 
static void ac3_downmix_c (float **samples, float(*matrix)[2], int out_ch, int in_ch, int len)
 
static void ac3_downmix_c_fixed (int32_t **samples, int16_t(*matrix)[2], int out_ch, int in_ch, int len)
 
static void apply_window_int16_c (int16_t *output, const int16_t *input, const int16_t *window, unsigned int len)
 
av_cold void ff_ac3dsp_init (AC3DSPContext *c, int bit_exact)
 

Variables

const uint16_t ff_ac3_bap_bits [16]
 Number of mantissa bits written for each bap value.
 

Function Documentation

static void ac3_exponent_min_c ( uint8_t exp,
int  num_reuse_blocks,
int  nb_coefs 
)
static

Definition at line 28 of file ac3dsp.c.

Referenced by ff_ac3dsp_init().

static int ac3_max_msb_abs_int16_c ( const int16_t *  src,
int  len 
)
static

Definition at line 48 of file ac3dsp.c.

Referenced by ff_ac3dsp_init().

static void ac3_lshift_int16_c ( int16_t *  src,
unsigned int  len,
unsigned int  shift 
)
static

Definition at line 56 of file ac3dsp.c.

Referenced by ff_ac3dsp_init().

static void ac3_rshift_int32_c ( int32_t src,
unsigned int  len,
unsigned int  shift 
)
static

Definition at line 75 of file ac3dsp.c.

Referenced by ff_ac3dsp_init().

static void float_to_fixed24_c ( int32_t dst,
const float *  src,
unsigned int  len 
)
static

Definition at line 91 of file ac3dsp.c.

Referenced by ff_ac3dsp_init().

static void ac3_bit_alloc_calc_bap_c ( int16_t *  mask,
int16_t *  psd,
int  start,
int  end,
int  snr_offset,
int  floor,
const uint8_t bap_tab,
uint8_t bap 
)
static

Definition at line 107 of file ac3dsp.c.

Referenced by ff_ac3dsp_init().

static void ac3_update_bap_counts_c ( uint16_t  mant_cnt[16],
uint8_t bap,
int  len 
)
static

Definition at line 134 of file ac3dsp.c.

Referenced by ff_ac3dsp_init().

static int ac3_compute_mantissa_size_c ( uint16_t  mant_cnt[6][16])
static

Definition at line 145 of file ac3dsp.c.

Referenced by ff_ac3dsp_init().

static void ac3_extract_exponents_c ( uint8_t exp,
int32_t coef,
int  nb_coefs 
)
static

Definition at line 165 of file ac3dsp.c.

Referenced by ff_ac3dsp_init().

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

Definition at line 175 of file ac3dsp.c.

Referenced by ff_ac3dsp_init().

static void ac3_sum_square_butterfly_float_c ( float  sum[4],
const float *  coef0,
const float *  coef1,
int  len 
)
static

Definition at line 196 of file ac3dsp.c.

Referenced by ff_ac3dsp_init().

static void ac3_downmix_c ( float **  samples,
float(*)  matrix[2],
int  out_ch,
int  in_ch,
int  len 
)
static

Definition at line 217 of file ac3dsp.c.

Referenced by ff_ac3dsp_init().

static void ac3_downmix_c_fixed ( int32_t **  samples,
int16_t(*)  matrix[2],
int  out_ch,
int  in_ch,
int  len 
)
static

Definition at line 242 of file ac3dsp.c.

Referenced by ff_ac3dsp_init().

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

Definition at line 267 of file ac3dsp.c.

Referenced by ff_ac3dsp_init().

av_cold void ff_ac3dsp_init ( AC3DSPContext c,
int  bit_exact 
)

Definition at line 280 of file ac3dsp.c.

Referenced by ac3_decode_init(), and ff_ac3_encode_init().

Variable Documentation

const uint16_t ff_ac3_bap_bits[16]
Initial value:
= {
0, 0, 0, 3, 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 16
}

Number of mantissa bits written for each bap value.

bap values with fractional bits are set to 0 and are calculated separately.

Definition at line 141 of file ac3dsp.c.

Referenced by ac3_compute_mantissa_size_c().