FFmpeg
|
#include "libavutil/common.h"
#include "libavutil/lls.h"
#include "libavutil/mem_internal.h"
#include "lpc.h"
#include "lpc_functions.h"
#include "libavutil/avassert.h"
Go to the source code of this file.
Macros | |
#define | LPC_USE_DOUBLE |
Functions | |
static void | compute_ref_coefs (const LPC_TYPE *autoc, int max_order, LPC_TYPE *ref, LPC_TYPE *error) |
Schur recursion. More... | |
static void | lpc_apply_welch_window_c (const int32_t *data, ptrdiff_t len, double *w_data) |
Apply Welch window function to audio block. More... | |
static void | lpc_compute_autocorr_c (const double *data, ptrdiff_t len, int lag, double *autoc) |
Calculate autocorrelation data from audio samples A Welch window function is applied before calculation. More... | |
static void | quantize_lpc_coefs (double *lpc_in, int order, int precision, int32_t *lpc_out, int *shift, int min_shift, int max_shift, int zero_shift) |
Quantize LPC coefficients. More... | |
static int | estimate_best_order (double *ref, int min_order, int max_order) |
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_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... | |
av_cold int | ff_lpc_init (LPCContext *s, int blocksize, int max_order, enum FFLPCType lpc_type) |
Initialize LPCContext. More... | |
av_cold void | ff_lpc_end (LPCContext *s) |
Uninitialize LPCContext. More... | |
|
inlinestatic |
Schur recursion.
Produces reflection coefficients from autocorrelation data.
Definition at line 35 of file lpc.c.
Referenced by ff_lpc_calc_ref_coefs(), and ff_lpc_calc_ref_coefs_f().
|
static |
Apply Welch window function to audio block.
Definition at line 65 of file lpc.c.
Referenced by ff_lpc_init().
|
static |
Calculate autocorrelation data from audio samples A Welch window function is applied before calculation.
Definition at line 105 of file lpc.c.
Referenced by ff_lpc_init().
Definition at line 183 of file lpc.c.
Referenced by ff_lpc_calc_coefs().
int ff_lpc_calc_ref_coefs | ( | LPCContext * | s, |
const int32_t * | samples, | ||
int | order, | ||
double * | ref | ||
) |
Definition at line 197 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 209 of file lpc.c.
Referenced by ff_aac_search_for_tns().
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 238 of file lpc.c.
Referenced by calc_predictor_params(), encode_residual_ch(), ra144_encode_frame(), and set_filter().
Initialize LPCContext.
Definition at line 340 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().
av_cold void ff_lpc_end | ( | LPCContext * | s | ) |
Uninitialize LPCContext.
Definition at line 365 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().