diff options
author | Frédéric Dalleau <frederic.dalleau@linux.intel.com> | 2013-04-08 15:24:03 +0200 |
---|---|---|
committer | Johan Hedberg <johan.hedberg@intel.com> | 2013-04-15 10:58:04 +0300 |
commit | 92f3298371bea8bbdf02b6a64ba9e624b4befc47 (patch) | |
tree | 978ea8f70d7eec4bbbbbcaafd374a0f1c31f2fd5 /sbc/sbc_primitives.c | |
parent | 49dcc23f95f11b53fee495226886b0ba0f62e63c (diff) | |
download | sbc-92f3298371bea8bbdf02b6a64ba9e624b4befc47.tar.gz |
sbc: Add encoder_state to analysis functions
Until now, SIMD analysis used to process 4 blocks of 8 samples at a
time. This was implemented using two constant tables: odd and even. This
mean we can only process 4, 8, 12, or 16 blocks par SBC packets.
mSBC requires 15 blocks, so to be able to analyse 1 block, it will be
necessary to know if we are processing an odd or even block. This will
be done with a new member to encoder_state.
Diffstat (limited to 'sbc/sbc_primitives.c')
-rw-r--r-- | sbc/sbc_primitives.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/sbc/sbc_primitives.c b/sbc/sbc_primitives.c index ad780d0..f8cc4b6 100644 --- a/sbc/sbc_primitives.c +++ b/sbc/sbc_primitives.c @@ -183,8 +183,8 @@ static inline void sbc_analyze_eight_simd(const int16_t *in, int32_t *out, (SBC_COS_TABLE_FIXED8_SCALE - SCALE_OUT_BITS); } -static inline void sbc_analyze_4b_4s_simd(int16_t *x, - int32_t *out, int out_stride) +static inline void sbc_analyze_4b_4s_simd(struct sbc_encoder_state *state, + int16_t *x, int32_t *out, int out_stride) { /* Analyze blocks */ sbc_analyze_four_simd(x + 12, out, analysis_consts_fixed4_simd_odd); @@ -196,8 +196,8 @@ static inline void sbc_analyze_4b_4s_simd(int16_t *x, sbc_analyze_four_simd(x + 0, out, analysis_consts_fixed4_simd_even); } -static inline void sbc_analyze_4b_8s_simd(int16_t *x, - int32_t *out, int out_stride) +static inline void sbc_analyze_4b_8s_simd(struct sbc_encoder_state *state, + int16_t *x, int32_t *out, int out_stride) { /* Analyze blocks */ sbc_analyze_eight_simd(x + 24, out, analysis_consts_fixed8_simd_odd); |