linux-bluetooth.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Frédéric Dalleau" <frederic.dalleau@linux.intel.com>
To: linux-bluetooth@vger.kernel.org
Cc: "Frédéric Dalleau" <frederic.dalleau@linux.intel.com>
Subject: [PATCH v5 08/16] sbc: Add plain C primitive for 1b 8s analysis
Date: Fri, 14 Dec 2012 16:03:29 +0100	[thread overview]
Message-ID: <1355497417-10357-9-git-send-email-frederic.dalleau@linux.intel.com> (raw)
In-Reply-To: <1355497417-10357-1-git-send-email-frederic.dalleau@linux.intel.com>

---
 sbc/sbc_primitives.c |   18 +++++++++++++++++-
 1 file changed, 17 insertions(+), 1 deletion(-)

diff --git a/sbc/sbc_primitives.c b/sbc/sbc_primitives.c
index 0b48ddb..a4767ef 100644
--- a/sbc/sbc_primitives.c
+++ b/sbc/sbc_primitives.c
@@ -209,6 +209,19 @@ static inline void sbc_analyze_4b_8s_simd(struct sbc_encoder_state *state,
 	sbc_analyze_eight_simd(x + 0, out, analysis_consts_fixed8_simd_even);
 }
 
+static inline void sbc_analyze_1b_8s_simd(struct sbc_encoder_state *state,
+		int16_t *x, int32_t *out, int out_stride)
+{
+	if (state->odd)
+		sbc_analyze_eight_simd(x, out,
+					analysis_consts_fixed8_simd_odd);
+	else
+		sbc_analyze_eight_simd(x, out,
+					analysis_consts_fixed8_simd_even);
+
+	state->odd = !state->odd;
+}
+
 static inline int16_t unaligned16_be(const uint8_t *ptr)
 {
 	return (int16_t) ((ptr[0] << 8) | ptr[1]);
@@ -525,7 +538,10 @@ void sbc_init_primitives(struct sbc_encoder_state *state)
 
 	/* Default implementation for analyze functions */
 	state->sbc_analyze_4s = sbc_analyze_4b_4s_simd;
-	state->sbc_analyze_8s = sbc_analyze_4b_8s_simd;
+	if (state->increment == 1)
+		state->sbc_analyze_8s = sbc_analyze_1b_8s_simd;
+	else
+		state->sbc_analyze_8s = sbc_analyze_4b_8s_simd;
 
 	/* Default implementation for input reordering / deinterleaving */
 	state->sbc_enc_process_input_4s_le = sbc_enc_process_input_4s_le;
-- 
1.7.9.5


  parent reply	other threads:[~2012-12-14 15:03 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-12-14 15:03 [PATCH v5 00/16] mSBC tests Frédéric Dalleau
2012-12-14 15:03 ` [PATCH v5 01/16] sbc: Add encoder_state to analysis functions Frédéric Dalleau
2012-12-14 15:03 ` [PATCH v5 02/16] sbc: Break 4 blocks processing to variable steps Frédéric Dalleau
2012-12-14 15:03 ` [PATCH v5 03/16] sbc: Rename sbc_analyze_4b_xx to sbc_analyze_xx Frédéric Dalleau
2012-12-14 15:03 ` [PATCH v5 04/16] sbc: add odd member variable to sbc_encoder_state Frédéric Dalleau
2012-12-14 15:03 ` [PATCH v5 05/16] sbc: Add mmx primitive for 1b 8s analysis Frédéric Dalleau
2012-12-14 15:03 ` [PATCH v5 06/16] sbc: Add armv6 " Frédéric Dalleau
2012-12-14 15:03 ` [PATCH v5 07/16] sbc: Add iwmmxt primitive for 1b 8s encoding Frédéric Dalleau
2012-12-14 15:03 ` Frédéric Dalleau [this message]
2012-12-14 15:03 ` [PATCH v5 09/16] sbc: Use plain C primitive if doing msbc on neon Frédéric Dalleau
2012-12-14 15:03 ` [PATCH v5 10/16] sbc: Fix input reordering for 15 blocks case Frédéric Dalleau
2012-12-14 15:03 ` [PATCH v5 11/16] sbc: Add SBC_MSBC flag to enable 15 block encoding Frédéric Dalleau
2012-12-19 17:41   ` Marcel Holtmann
2012-12-14 15:03 ` [PATCH v5 12/16] sbc: Add support for mSBC frame header Frédéric Dalleau
2012-12-14 15:03 ` [PATCH v5 13/16] sbc: Update sbcdec for msbc Frédéric Dalleau
2012-12-14 15:03 ` [PATCH v5 14/16] sbc: Update sbcenc " Frédéric Dalleau
2012-12-14 15:03 ` [PATCH v5 15/16] sbc: Update sbcinfo " Frédéric Dalleau
2012-12-14 15:03 ` [PATCH v5 16/16] sbc: Update copyrights Frédéric Dalleau
2012-12-17  0:33 ` [PATCH v5 00/16] mSBC tests Siarhei Siamashka

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1355497417-10357-9-git-send-email-frederic.dalleau@linux.intel.com \
    --to=frederic.dalleau@linux.intel.com \
    --cc=linux-bluetooth@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).