Revision 0d8837bd libavcodec/lpc.h

View differences:

libavcodec/lpc.h
36 36
#define MAX_LPC_ORDER       32
37 37

  
38 38

  
39
typedef struct LPCContext {
40
    /**
41
     * Perform autocorrelation on input samples with delay of 0 to lag.
42
     * @param data  input samples.
43
     *              no alignment needed.
44
     * @param len   number of input samples to process
45
     * @param lag   maximum delay to calculate
46
     * @param autoc output autocorrelation coefficients.
47
     *              constraints: array size must be at least lag+1.
48
     */
49
    void (*lpc_compute_autocorr)(const int32_t *data, int len, int lag,
50
                                 double *autoc);
51
} LPCContext;
52

  
53

  
39 54
/**
40 55
 * Calculate LPC coefficients for multiple orders
41 56
 */
42
int ff_lpc_calc_coefs(DSPContext *s,
57
int ff_lpc_calc_coefs(LPCContext *s,
43 58
                      const int32_t *samples, int blocksize, int min_order,
44 59
                      int max_order, int precision,
45 60
                      int32_t coefs[][MAX_LPC_ORDER], int *shift,
46 61
                      enum AVLPCType lpc_type, int lpc_passes,
47 62
                      int omethod, int max_shift, int zero_shift);
48 63

  
49
void ff_lpc_compute_autocorr(const int32_t *data, int len, int lag,
50
                             double *autoc);
64
/**
65
 * Initialize LPCContext.
66
 */
67
void ff_lpc_init(LPCContext *s);
68
void ff_lpc_init_x86(LPCContext *s);
51 69

  
52 70
#ifdef LPC_USE_DOUBLE
53 71
#define LPC_TYPE double

Also available in: Unified diff