libavcodec/lpc.c File Reference

#include "libavutil/lls.h"
#include "dsputil.h"
#include "lpc.h"

Go to the source code of this file.

Defines

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

Functions

static void apply_welch_window (const int32_t *data, int len, double *w_data)
 Apply Welch window function to audio block.
void ff_lpc_compute_autocorr (const int32_t *data, int len, int lag, double *autoc)
 Calculates autocorrelation data from audio samples A Welch window function is applied before calculation.
static void quantize_lpc_coefs (double *lpc_in, int order, int precision, int32_t *lpc_out, int *shift, int max_shift, int zero_shift)
 Quantize LPC coefficients.
static int estimate_best_order (double *ref, int min_order, int max_order)
int ff_lpc_calc_coefs (DSPContext *s, const int32_t *samples, int blocksize, int min_order, int max_order, int precision, int32_t coefs[][MAX_LPC_ORDER], int *shift, int use_lpc, int omethod, int max_shift, int zero_shift)
 Calculate LPC coefficients for multiple orders.


Define Documentation

#define LPC_USE_DOUBLE

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 25 of file lpc.c.


Function Documentation

static void apply_welch_window ( const int32_t *  data,
int  len,
double *  w_data 
) [static]

Apply Welch window function to audio block.

Definition at line 32 of file lpc.c.

Referenced by ff_lpc_compute_autocorr().

static int estimate_best_order ( double *  ref,
int  min_order,
int  max_order 
) [static]

Definition at line 143 of file lpc.c.

Referenced by ff_lpc_calc_coefs().

int ff_lpc_calc_coefs ( DSPContext s,
const int32_t *  samples,
int  blocksize,
int  min_order,
int  max_order,
int  precision,
int32_t  coefs[][MAX_LPC_ORDER],
int *  shift,
int  use_lpc,
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 165 of file lpc.c.

Referenced by calc_predictor_params(), and encode_residual().

void ff_lpc_compute_autocorr ( const int32_t *  data,
int  len,
int  lag,
double *  autoc 
)

Calculates autocorrelation data from audio samples A Welch window function is applied before calculation.

Definition at line 58 of file lpc.c.

Referenced by dsputil_init().

static void quantize_lpc_coefs ( double *  lpc_in,
int  order,
int  precision,
int32_t *  lpc_out,
int *  shift,
int  max_shift,
int  zero_shift 
) [static]

Quantize LPC coefficients.

Definition at line 94 of file lpc.c.

Referenced by ff_lpc_calc_coefs().


Generated on Fri Oct 26 02:36:52 2012 for FFmpeg by  doxygen 1.5.8