FFmpeg
|
#include <stdint.h>
#include <stddef.h>
#include "libavutil/avassert.h"
#include "libavutil/lls.h"
#include "aac_defines.h"
Go to the source code of this file.
Data Structures | |
struct | LPCContext |
Macros | |
#define | ORDER_METHOD_EST 0 |
#define | ORDER_METHOD_2LEVEL 1 |
#define | ORDER_METHOD_4LEVEL 2 |
#define | ORDER_METHOD_8LEVEL 3 |
#define | ORDER_METHOD_SEARCH 4 |
#define | ORDER_METHOD_LOG 5 |
#define | MIN_LPC_ORDER 1 |
#define | MAX_LPC_ORDER 32 |
Typedefs | |
typedef float | LPC_TYPE |
typedef float | LPC_TYPE_U |
Enumerations | |
enum | FFLPCType { FF_LPC_TYPE_DEFAULT = -1, FF_LPC_TYPE_NONE = 0, FF_LPC_TYPE_FIXED = 1, FF_LPC_TYPE_LEVINSON = 2, FF_LPC_TYPE_CHOLESKY = 3, FF_LPC_TYPE_NB } |
LPC analysis type. More... | |
Functions | |
int | ff_lpc_calc_coefs (LPCContext *s, const int32_t *samples, int blocksize, int min_order, int max_order, int precision, int32_t coefs[][MAX_LPC_ORDER], int *shift, enum FFLPCType lpc_type, int lpc_passes, int omethod, int min_shift, int max_shift, int zero_shift) |
Calculate LPC coefficients for multiple orders. More... | |
int | ff_lpc_calc_ref_coefs (LPCContext *s, const int32_t *samples, int order, double *ref) |
double | ff_lpc_calc_ref_coefs_f (LPCContext *s, const float *samples, int len, int order, double *ref) |
int | ff_lpc_init (LPCContext *s, int blocksize, int max_order, enum FFLPCType lpc_type) |
Initialize LPCContext. More... | |
void | ff_lpc_init_x86 (LPCContext *s) |
void | ff_lpc_end (LPCContext *s) |
Uninitialize LPCContext. More... | |
static void | compute_ref_coefs (const LPC_TYPE *autoc, int max_order, LPC_TYPE *ref, LPC_TYPE *error) |
Schur recursion. More... | |
static int AAC_RENAME() | compute_lpc_coefs (const LPC_TYPE *autoc, int max_order, LPC_TYPE *lpc, int lpc_stride, int fail, int normalize) |
Levinson-Durbin recursion. More... | |
typedef float LPC_TYPE_U |
enum FFLPCType |
LPC analysis type.
int ff_lpc_calc_coefs | ( | LPCContext * | s, |
const int32_t * | samples, | ||
int | blocksize, | ||
int | min_order, | ||
int | max_order, | ||
int | precision, | ||
int32_t | coefs[][MAX_LPC_ORDER], | ||
int * | shift, | ||
enum FFLPCType | lpc_type, | ||
int | lpc_passes, | ||
int | omethod, | ||
int | min_shift, | ||
int | max_shift, | ||
int | zero_shift | ||
) |
Calculate LPC coefficients for multiple orders.
lpc_type | LPC method for determining coefficients, see FFLPCType for details |
Definition at line 207 of file lpc.c.
Referenced by calc_predictor_params(), encode_residual_ch(), ra144_encode_frame(), and set_filter().
int ff_lpc_calc_ref_coefs | ( | LPCContext * | s, |
const int32_t * | samples, | ||
int | order, | ||
double * | ref | ||
) |
Definition at line 166 of file lpc.c.
Referenced by cng_encode_frame().
double ff_lpc_calc_ref_coefs_f | ( | LPCContext * | s, |
const float * | samples, | ||
int | len, | ||
int | order, | ||
double * | ref | ||
) |
Definition at line 178 of file lpc.c.
Referenced by ff_aac_search_for_tns().
int ff_lpc_init | ( | LPCContext * | s, |
int | blocksize, | ||
int | max_order, | ||
enum FFLPCType | lpc_type | ||
) |
Initialize LPCContext.
Definition at line 307 of file lpc.c.
Referenced by aac_encode_init(), alac_encode_init(), checkasm_check_lpc(), cng_encode_init(), ff_lpc_calc_coefs(), flac_encode_init(), mlp_encode_init(), and ra144_encode_init().
void ff_lpc_init_x86 | ( | LPCContext * | s | ) |
Definition at line 106 of file lpc_init.c.
Referenced by ff_lpc_init().
void ff_lpc_end | ( | LPCContext * | s | ) |
Uninitialize LPCContext.
Definition at line 330 of file lpc.c.
Referenced by aac_encode_end(), alac_encode_close(), checkasm_check_lpc(), cng_encode_close(), ff_lpc_calc_coefs(), flac_encode_close(), mlp_encode_close(), and ra144_encode_close().
|
inlinestatic |
Schur recursion.
Produces reflection coefficients from autocorrelation data.
Definition at line 136 of file lpc.h.
Referenced by ff_lpc_calc_ref_coefs(), and ff_lpc_calc_ref_coefs_f().
|
inlinestatic |
Levinson-Durbin recursion.
Produce LPC coefficients from autocorrelation data.
Definition at line 167 of file lpc.h.
Referenced by apply_tns(), backward_filter(), ff_aac_apply_tns(), and ff_lpc_calc_coefs().