diff options
author | Vitor Sessak <vitor1001@gmail.com> | 2010-01-16 03:40:25 +0000 |
---|---|---|
committer | Vitor Sessak <vitor1001@gmail.com> | 2010-01-16 03:40:25 +0000 |
commit | 65323ed279c79a9e033b873beee6d5b3349cf2c4 (patch) | |
tree | a16fe6dc1bc6c5b1eb37a9dac7cab9e9ff633c8a /libavcodec/sipr.c | |
parent | 06cb7a1c8f4965e45f4e102d69c0efc0dadb8eec (diff) | |
download | ffmpeg-65323ed279c79a9e033b873beee6d5b3349cf2c4.tar.gz |
Split some SIPR structs to a header file for the upcoming SIPR16k commit
Originally committed as revision 21232 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/sipr.c')
-rw-r--r-- | libavcodec/sipr.c | 54 |
1 files changed, 1 insertions, 53 deletions
diff --git a/libavcodec/sipr.c b/libavcodec/sipr.c index 82d0267572..2db018ce53 100644 --- a/libavcodec/sipr.c +++ b/libavcodec/sipr.c @@ -37,28 +37,11 @@ #include "acelp_filters.h" #include "celp_filters.h" -#define LSFQ_DIFF_MIN (0.0125 * M_PI) - -#define LP_FILTER_ORDER 10 - -/** Number of past samples needed for excitation interpolation */ -#define L_INTERPOL (LP_FILTER_ORDER + 1) - -/** Subframe size for all modes except 16k */ -#define SUBFR_SIZE 48 - #define MAX_SUBFRAME_COUNT 5 +#include "sipr.h" #include "siprdata.h" -typedef enum { - MODE_16k, - MODE_8k5, - MODE_6k5, - MODE_5k0, - MODE_COUNT -} SiprMode; - typedef struct { const char *mode_name; uint16_t bits_per_frame; @@ -127,41 +110,6 @@ static const SiprModeParam modes[MODE_COUNT] = { } }; -typedef struct { - AVCodecContext *avctx; - DSPContext dsp; - - SiprMode mode; - - float past_pitch_gain; - float lsf_history[LP_FILTER_ORDER]; - - float excitation[L_INTERPOL + PITCH_DELAY_MAX + 5*SUBFR_SIZE]; - - DECLARE_ALIGNED_16(float, synth_buf[LP_FILTER_ORDER + 5*SUBFR_SIZE + 6]); - - float lsp_history[LP_FILTER_ORDER]; - float gain_mem; - float energy_history[4]; - float highpass_filt_mem[2]; - float postfilter_mem[PITCH_DELAY_MAX + LP_FILTER_ORDER]; - - /* 5k0 */ - float tilt_mem; - float postfilter_agc; - float postfilter_mem5k0[PITCH_DELAY_MAX + LP_FILTER_ORDER]; - float postfilter_syn5k0[LP_FILTER_ORDER + SUBFR_SIZE*5]; -} SiprContext; - -typedef struct { - int vq_indexes[5]; - int pitch_delay[5]; ///< pitch delay - int gp_index[5]; ///< adaptive-codebook gain indexes - int16_t fc_indexes[5][10]; ///< fixed-codebook indexes - int gc_index[5]; ///< fixed-codebook gain indexes -} SiprParameters; - - static void dequant(float *out, const int *idx, const float *cbs[]) { int i; |