summaryrefslogtreecommitdiff
path: root/libavcodec/lpc.h
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2011-04-02 12:28:01 +0200
committerAnton Khirnov <anton@khirnov.net>2011-05-10 07:42:33 +0200
commit188dea1dbfd8761133ca138bba0d8f19beac6c09 (patch)
tree55f768f571b0ac9a6370586084dbb92b45f55916 /libavcodec/lpc.h
parentbc97695af84304e5e95658ca26e00c6e7074eca4 (diff)
downloadffmpeg-188dea1dbfd8761133ca138bba0d8f19beac6c09.tar.gz
lavc: move some flac-specific options to its private context.
Diffstat (limited to 'libavcodec/lpc.h')
-rw-r--r--libavcodec/lpc.h17
1 files changed, 14 insertions, 3 deletions
diff --git a/libavcodec/lpc.h b/libavcodec/lpc.h
index c2d342801a..8cc2362e5b 100644
--- a/libavcodec/lpc.h
+++ b/libavcodec/lpc.h
@@ -35,11 +35,22 @@
#define MIN_LPC_ORDER 1
#define MAX_LPC_ORDER 32
+/**
+ * LPC analysis type
+ */
+enum FFLPCType {
+ FF_LPC_TYPE_DEFAULT = -1, ///< use the codec default LPC type
+ FF_LPC_TYPE_NONE = 0, ///< do not use LPC prediction or use all zero coefficients
+ FF_LPC_TYPE_FIXED = 1, ///< fixed LPC coefficients
+ FF_LPC_TYPE_LEVINSON = 2, ///< Levinson-Durbin recursion
+ FF_LPC_TYPE_CHOLESKY = 3, ///< Cholesky factorization
+ FF_LPC_TYPE_NB , ///< Not part of ABI
+};
typedef struct LPCContext {
int blocksize;
int max_order;
- enum AVLPCType lpc_type;
+ enum FFLPCType lpc_type;
double *windowed_samples;
/**
@@ -77,14 +88,14 @@ 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 AVLPCType lpc_type, int lpc_passes,
+ enum FFLPCType lpc_type, int lpc_passes,
int omethod, int max_shift, int zero_shift);
/**
* Initialize LPCContext.
*/
int ff_lpc_init(LPCContext *s, int blocksize, int max_order,
- enum AVLPCType lpc_type);
+ enum FFLPCType lpc_type);
void ff_lpc_init_x86(LPCContext *s);
/**