libavcodec/lpc.h File Reference

#include <stdint.h>
#include "dsputil.h"

Go to the source code of this file.

Data Structures

struct  LPCContext

Defines

#define ORDER_METHOD_EST   0
 LPC utility code Copyright (c) 2006 Justin Ruggles <justin.ruggles@gmail.com>.
#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
#define LPC_TYPE   float

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 max_shift, int zero_shift)
 Calculate LPC coefficients for multiple orders.
int ff_lpc_init (LPCContext *s, int blocksize, int max_order, enum FFLPCType lpc_type)
 Initialize LPCContext.
void ff_lpc_init_x86 (LPCContext *s)
void ff_lpc_end (LPCContext *s)
 Uninitialize LPCContext.
static int compute_lpc_coefs (const LPC_TYPE *autoc, int max_order, LPC_TYPE *lpc, int lpc_stride, int fail, int normalize)
 Levinson-Durbin recursion.


Define Documentation

#define LPC_TYPE   float

Definition at line 109 of file lpc.h.

Referenced by compute_lpc_coefs().

#define MAX_LPC_ORDER   32

#define MIN_LPC_ORDER   1

Definition at line 35 of file lpc.h.

Referenced by alac_encode_init(), ff_lpc_calc_coefs(), and flac_encode_init().

#define ORDER_METHOD_2LEVEL   1

Definition at line 29 of file lpc.h.

Referenced by dprint_compression_options(), and encode_residual_ch().

#define ORDER_METHOD_4LEVEL   2

Definition at line 30 of file lpc.h.

Referenced by dprint_compression_options(), encode_residual_ch(), and flac_encode_init().

#define ORDER_METHOD_8LEVEL   3

Definition at line 31 of file lpc.h.

Referenced by dprint_compression_options(), and encode_residual_ch().

#define ORDER_METHOD_EST   0

LPC utility code Copyright (c) 2006 Justin Ruggles <justin.ruggles@gmail.com>.

This file is part of FFmpeg.

FFmpeg is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.

FFmpeg is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with FFmpeg; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA

Definition at line 28 of file lpc.h.

Referenced by calc_predictor_params(), dprint_compression_options(), ff_lpc_calc_coefs(), flac_encode_init(), and ra144_encode_frame().

#define ORDER_METHOD_LOG   5

Definition at line 33 of file lpc.h.

Referenced by dprint_compression_options(), encode_residual_ch(), and flac_encode_init().

#define ORDER_METHOD_SEARCH   4

Definition at line 32 of file lpc.h.

Referenced by dprint_compression_options(), encode_residual_ch(), and flac_encode_init().


Enumeration Type Documentation

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 41 of file lpc.h.


Function Documentation

static int compute_lpc_coefs ( const LPC_TYPE *  autoc,
int  max_order,
LPC_TYPE *  lpc,
int  lpc_stride,
int  fail,
int  normalize 
) [inline, static]

Levinson-Durbin recursion.

Produce LPC coefficients from autocorrelation data.

Definition at line 116 of file lpc.h.

Referenced by apply_tns(), backward_filter(), and ff_lpc_calc_coefs().

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  max_shift,
int  zero_shift 
)

Calculate LPC coefficients for multiple orders.

Parameters:
use_lpc LPC method for determining coefficients 0 = LPC with fixed pre-defined coeffs 1 = LPC with coeffs determined by Levinson-Durbin recursion 2+ = LPC with coeffs determined by Cholesky factorization using (use_lpc-1) passes.

Definition at line 157 of file lpc.c.

Referenced by calc_predictor_params(), encode_residual_ch(), and ra144_encode_frame().

void ff_lpc_end ( LPCContext s  ) 

Uninitialize LPCContext.

Definition at line 268 of file lpc.c.

Referenced by alac_encode_close(), ff_lpc_calc_coefs(), flac_encode_close(), and ra144_encode_close().

int ff_lpc_init ( LPCContext s,
int  blocksize,
int  max_order,
enum FFLPCType  lpc_type 
)

Initialize LPCContext.

Definition at line 243 of file lpc.c.

Referenced by alac_encode_init(), ff_lpc_calc_coefs(), flac_encode_init(), and ra144_encode_init().

void ff_lpc_init_x86 ( LPCContext s  ) 

Definition at line 139 of file lpc_mmx.c.

Referenced by ff_lpc_init().


Generated on Fri Oct 26 02:38:17 2012 for FFmpeg by  doxygen 1.5.8