FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions
aacenc_utils.h File Reference

AAC encoder utilities. More...

#include "aac.h"
#include "aac_tablegen_decl.h"
#include "aacenctab.h"

Go to the source code of this file.

Macros

#define ROUND_STANDARD   0.4054f
 
#define ROUND_TO_ZERO   0.1054f
 
#define C_QUANT   0.4054f
 
#define ERROR_IF(cond,...)
 
#define WARN_IF(cond,...)
 

Functions

static void abs_pow34_v (float *out, const float *in, const int size)
 
static int quant (float coef, const float Q, const float rounding)
 Quantize one coefficient. More...
 
static void quantize_bands (int *out, const float *in, const float *scaled, int size, float Q34, int is_signed, int maxval, const float rounding)
 
static float find_max_val (int group_len, int swb_size, const float *scaled)
 
static int find_min_book (float maxval, int sf)
 
static uint8_t coef2minsf (float coef)
 Return the minimum scalefactor where the quantized coef does not clip. More...
 
static uint8_t coef2maxsf (float coef)
 Return the maximum scalefactor where the quantized coef is not zero. More...
 
static int quant_array_idx (const float val, const float *arr, const int num)
 

Detailed Description

AAC encoder utilities.

Author
Rostislav Pehlivanov ( atomnuker gmail com )

Definition in file aacenc_utils.h.

Macro Definition Documentation

#define ROUND_STANDARD   0.4054f

Definition at line 35 of file aacenc_utils.h.

Referenced by search_for_quantizers_faac().

#define ROUND_TO_ZERO   0.1054f

Definition at line 36 of file aacenc_utils.h.

#define C_QUANT   0.4054f

Definition at line 37 of file aacenc_utils.h.

Referenced by find_min_book().

#define ERROR_IF (   cond,
  ... 
)
Value:
if (cond) { \
av_log(avctx, AV_LOG_ERROR, __VA_ARGS__); \
return AVERROR(EINVAL); \
}
#define av_log(a,...)
#define AV_LOG_ERROR
Something went wrong and cannot losslessly be recovered.
Definition: log.h:176
#define AVERROR(e)
Definition: error.h:43
return

Definition at line 131 of file aacenc_utils.h.

Referenced by aac_encode_init().

#define WARN_IF (   cond,
  ... 
)
Value:
if (cond) { \
av_log(avctx, AV_LOG_WARNING, __VA_ARGS__); \
}
#define AV_LOG_WARNING
Something somehow does not look correct.
Definition: log.h:182
#define av_log(a,...)

Definition at line 137 of file aacenc_utils.h.

Referenced by aac_encode_init().

Function Documentation

static void abs_pow34_v ( float *  out,
const float *  in,
const int  size 
)
inlinestatic
static int quant ( float  coef,
const float  Q,
const float  rounding 
)
inlinestatic

Quantize one coefficient.

Returns
absolute value of the quantized coefficient
See Also
3GPP TS26.403 5.6.2 "Scalefactor determination"

Definition at line 53 of file aacenc_utils.h.

static void quantize_bands ( int *  out,
const float *  in,
const float *  scaled,
int  size,
float  Q34,
int  is_signed,
int  maxval,
const float  rounding 
)
inlinestatic

Definition at line 59 of file aacenc_utils.h.

Referenced by quantize_and_encode_band_cost_template().

static float find_max_val ( int  group_len,
int  swb_size,
const float *  scaled 
)
inlinestatic
static int find_min_book ( float  maxval,
int  sf 
)
inlinestatic
static uint8_t coef2minsf ( float  coef)
inlinestatic

Return the minimum scalefactor where the quantized coef does not clip.

Definition at line 103 of file aacenc_utils.h.

Referenced by search_for_quantizers_anmr().

static uint8_t coef2maxsf ( float  coef)
inlinestatic

Return the maximum scalefactor where the quantized coef is not zero.

Definition at line 109 of file aacenc_utils.h.

Referenced by search_for_quantizers_anmr().

static int quant_array_idx ( const float  val,
const float *  arr,
const int  num 
)
inlinestatic

Definition at line 117 of file aacenc_utils.h.