FFmpeg
Data Structures | Macros | Typedefs | Enumerations | Functions
lpc.h File Reference
#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

  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_init (LPCContext *s, int blocksize, int max_order, enum FFLPCType lpc_type)
  Initialize LPCContext. More...
 
 
  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...
 

Macro Definition Documentation

ORDER_METHOD_EST

#define ORDER_METHOD_EST   0

Definition at line 31 of file lpc.h.

ORDER_METHOD_2LEVEL

#define ORDER_METHOD_2LEVEL   1

Definition at line 32 of file lpc.h.

ORDER_METHOD_4LEVEL

#define ORDER_METHOD_4LEVEL   2

Definition at line 33 of file lpc.h.

ORDER_METHOD_8LEVEL

#define ORDER_METHOD_8LEVEL   3

Definition at line 34 of file lpc.h.

ORDER_METHOD_SEARCH

#define ORDER_METHOD_SEARCH   4

Definition at line 35 of file lpc.h.

ORDER_METHOD_LOG

#define ORDER_METHOD_LOG   5

Definition at line 36 of file lpc.h.

MIN_LPC_ORDER

#define MIN_LPC_ORDER   1

Definition at line 38 of file lpc.h.

MAX_LPC_ORDER

#define MAX_LPC_ORDER   32

Definition at line 39 of file lpc.h.

Typedef Documentation

LPC_TYPE

typedef float LPC_TYPE

Definition at line 127 of file lpc.h.

LPC_TYPE_U

typedef float LPC_TYPE_U

Definition at line 128 of file lpc.h.

Enumeration Type Documentation

FFLPCType

enum FFLPCType

LPC analysis type.

Enumerator
FF_LPC_TYPE_DEFAULT 

use the codec default LPC type

FF_LPC_TYPE_NONE 

do not use LPC prediction or use all zero coefficients

FF_LPC_TYPE_FIXED 

fixed LPC coefficients

FF_LPC_TYPE_LEVINSON 

Levinson-Durbin recursion.

FF_LPC_TYPE_CHOLESKY 

Cholesky factorization.

FF_LPC_TYPE_NB 

Not part of ABI.

Definition at line 44 of file lpc.h.

Function Documentation

ff_lpc_calc_coefs()

int ff_lpc_calc_coefs ( LPCContexts,
const int32_tsamples,
int  blocksize,
int  min_order,
int  max_order,
int  precision,
int32_t  coefs[][MAX_LPC_ORDER],
intshift,
enum FFLPCType  lpc_type,
int  lpc_passes,
int  omethod,
int  min_shift,
int  max_shift,
int  zero_shift 
)

Calculate LPC coefficients for multiple orders.

Parameters
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_params().

ff_lpc_calc_ref_coefs()

int ff_lpc_calc_ref_coefs ( LPCContexts,
const int32_tsamples,
int  order,
doubleref 
)

Definition at line 166 of file lpc.c.

Referenced by cng_encode_frame().

ff_lpc_calc_ref_coefs_f()

double ff_lpc_calc_ref_coefs_f ( LPCContexts,
const floatsamples,
int  len,
int  order,
doubleref 
)

Definition at line 178 of file lpc.c.

Referenced by ff_aac_search_for_tns().

ff_lpc_init()

int ff_lpc_init ( LPCContexts,
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().

ff_lpc_init_x86()

void ff_lpc_init_x86 ( LPCContexts )

Definition at line 106 of file lpc_init.c.

Referenced by ff_lpc_init().

ff_lpc_end()

void ff_lpc_end ( LPCContexts )

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().

compute_ref_coefs()

static void compute_ref_coefs ( const LPC_TYPEautoc,
int  max_order,
LPC_TYPEref,
LPC_TYPEerror 
)
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().

compute_lpc_coefs()

static int AAC_RENAME() compute_lpc_coefs ( const LPC_TYPEautoc,
int  max_order,
LPC_TYPElpc,
int  lpc_stride,
int  fail,
int  normalize 
)
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().


Generated on Tue Feb 28 2023 21:34:24 for FFmpeg by   doxygen 1.8.17

AltStyle によって変換されたページ (->オリジナル) /