[vlc-devel] [PATCH 10/16] Add deinterleaving test case.

glenvt18 glenvt18 at gmail.com
Fri Jun 26 13:20:04 CEST 2015


---
 test/testbsops.c | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/test/testbsops.c b/test/testbsops.c
index a8588bd..6654c89 100644
--- a/test/testbsops.c
+++ b/test/testbsops.c
@@ -318,6 +318,36 @@ main		(void)
   c = BS_SHR8(a, 3);
   vec_testeq(b, c);
 
+#ifdef BS_LOAD_DEINTERLEAVE_8
+
+  /* test BS_LOAD_DEINTERLEAVE_8 */
+
+  {
+  /* block cipher sbox + perm */
+  dvbcsa_bs_word_t d, buf_in[2], buf_out[4];
+  int i;
+  uint8_t *src, *dst;
+
+  a = BS_VAL(0x0001020304050607LL, 0x08090a0b0c0d0e0fLL);
+  b = BS_VAL(0x8f8e8d8c8b8a8988LL, 0x8786858483828180LL);
+  buf_in[0] = a;
+  buf_in[1] = b;
+  src = (uint8_t *)buf_in;
+  dst = (uint8_t *)buf_out;
+  for (i = 0; i < BS_BATCH_BYTES * 2; i++)
+    {
+      dst[i * 2] = src[i];
+      dst[i * 2 + 1] = src[i] + 0x10;
+    }
+  BS_LOAD_DEINTERLEAVE_8(buf_out, c, d);
+  vec_testeq(a, c);
+  vec_testeq(BS_OR(a, BS_VAL8(10)), d);
+  BS_LOAD_DEINTERLEAVE_8(buf_out + 2, c, d);
+  vec_testeq(b, c);
+  vec_testeq(BS_OR(b, BS_VAL8(10)), d);
+  }
+#endif
+
 #endif
 
   puts("Ok");
-- 
1.9.1




More information about the vlc-devel mailing list