os/ossrv/genericopenlibs/liboil/src/ref/wavelet.c
author sl
Tue, 10 Jun 2014 14:32:02 +0200
changeset 1 260cb5ec6c19
permissions -rw-r--r--
Update contrib.
sl@0
     1
//Portions Copyright (c)  2008-2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. 
sl@0
     2
/*
sl@0
     3
Copyright 2002,2003,2004,2005 David A. Schleef <ds@schleef.org>
sl@0
     4
  All rights reserved.
sl@0
     5
  
sl@0
     6
  Redistribution and use in source and binary forms, with or without
sl@0
     7
  modification, are permitted provided that the following conditions
sl@0
     8
  are met:
sl@0
     9
  1. Redistributions of source code must retain the above copyright
sl@0
    10
     notice, this list of conditions and the following disclaimer.
sl@0
    11
  2. Redistributions in binary form must reproduce the above copyright
sl@0
    12
     notice, this list of conditions and the following disclaimer in the
sl@0
    13
     documentation and/or other materials provided with the distribution.
sl@0
    14
  
sl@0
    15
  THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
sl@0
    16
  IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
sl@0
    17
  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
sl@0
    18
  ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
sl@0
    19
  INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
sl@0
    20
  (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
sl@0
    21
  SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
sl@0
    22
  HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
sl@0
    23
  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
sl@0
    24
  IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
sl@0
    25
  POSSIBILITY OF SUCH DAMAGE.
sl@0
    26
*/
sl@0
    27
#include <liboil/liboilfunction.h>
sl@0
    28
#include <liboil/liboiltest.h>
sl@0
    29
#include <liboil/liboilrandom.h>
sl@0
    30
sl@0
    31
sl@0
    32
static void
sl@0
    33
wavelet_test (OilTest *test)
sl@0
    34
{
sl@0
    35
  int16_t *data = (int16_t *)oil_test_get_source_data (test, OIL_ARG_SRC1);
sl@0
    36
  int i;
sl@0
    37
sl@0
    38
  for(i=0;i<test->n;i++){
sl@0
    39
    data[i] = oil_rand_u8();
sl@0
    40
  }
sl@0
    41
}
sl@0
    42
sl@0
    43
static void
sl@0
    44
rshift_test (OilTest *test)
sl@0
    45
{
sl@0
    46
  int16_t *data;
sl@0
    47
  int i;
sl@0
    48
sl@0
    49
  data = (int16_t *)oil_test_get_source_data (test, OIL_ARG_SRC1);
sl@0
    50
  for(i=0;i<test->n;i++){
sl@0
    51
    data[i] = oil_rand_s16()>>1;
sl@0
    52
  }
sl@0
    53
sl@0
    54
  data = (int16_t *)oil_test_get_source_data (test, OIL_ARG_SRC2);
sl@0
    55
  data[0] = (1<<3);
sl@0
    56
  data[1] = 4;
sl@0
    57
}
sl@0
    58
sl@0
    59
static void
sl@0
    60
lshift_test (OilTest *test)
sl@0
    61
{
sl@0
    62
  int16_t *data;
sl@0
    63
sl@0
    64
  data = (int16_t *)oil_test_get_source_data (test, OIL_ARG_SRC2);
sl@0
    65
  data[0] = 12;
sl@0
    66
}
sl@0
    67
 
sl@0
    68
static void
sl@0
    69
combine2_test (OilTest *test)
sl@0
    70
{
sl@0
    71
  int16_t *data;
sl@0
    72
sl@0
    73
  data = (int16_t *)oil_test_get_source_data (test, OIL_ARG_SRC3);
sl@0
    74
  data[0] = 1;
sl@0
    75
  data[1] = 1;
sl@0
    76
  data[2] = 1;
sl@0
    77
  data[3] = 1;
sl@0
    78
}
sl@0
    79
sl@0
    80
static void
sl@0
    81
combine4_test (OilTest *test)
sl@0
    82
{
sl@0
    83
  int16_t *data;
sl@0
    84
sl@0
    85
  data = (int16_t *)oil_test_get_source_data (test, OIL_ARG_SRC5);
sl@0
    86
  data[0] = 4;
sl@0
    87
  data[1] = 4;
sl@0
    88
  data[2] = 4;
sl@0
    89
  data[3] = 4;
sl@0
    90
  data[4] = 8;
sl@0
    91
  data[5] = 4;
sl@0
    92
}
sl@0
    93
sl@0
    94
static void
sl@0
    95
add2_test (OilTest *test)
sl@0
    96
{
sl@0
    97
  int16_t *data;
sl@0
    98
  int i;
sl@0
    99
sl@0
   100
  data = (int16_t *)oil_test_get_source_data (test, OIL_ARG_SRC1);
sl@0
   101
  for(i=0;i<test->n;i++){
sl@0
   102
    data[i] = oil_rand_s16()>>4;
sl@0
   103
  }
sl@0
   104
sl@0
   105
  data = (int16_t *)oil_test_get_source_data (test, OIL_ARG_SRC2);
sl@0
   106
  for(i=0;i<test->n;i++){
sl@0
   107
    data[i] = oil_rand_s16()>>4;
sl@0
   108
  }
sl@0
   109
sl@0
   110
  data = (int16_t *)oil_test_get_source_data (test, OIL_ARG_SRC3);
sl@0
   111
  for(i=0;i<test->n;i++){
sl@0
   112
    data[i] = oil_rand_s16()>>4;
sl@0
   113
  }
sl@0
   114
sl@0
   115
  data = (int16_t *)oil_test_get_source_data (test, OIL_ARG_SRC4);
sl@0
   116
  data[0] = 1;
sl@0
   117
  data[1] = 1;
sl@0
   118
}
sl@0
   119
 
sl@0
   120
OIL_DEFINE_CLASS_FULL (deinterleave,
sl@0
   121
    "int16_t *d_2xn, int16_t *s_2xn, int n", wavelet_test);
sl@0
   122
OIL_DEFINE_CLASS (deinterleave2_s16,
sl@0
   123
    "int16_t *d1_n, int16_t *d2_n, int16_t *s_2xn, int n");
sl@0
   124
OIL_DEFINE_CLASS_FULL (interleave,
sl@0
   125
    "int16_t *d_2xn, int16_t *s_2xn, int n", wavelet_test);
sl@0
   126
OIL_DEFINE_CLASS (interleave2_s16,
sl@0
   127
    "int16_t *d_2xn, int16_t *s1_n, int16_t *s2_n, int n");
sl@0
   128
OIL_DEFINE_CLASS_FULL (synth_daub97,
sl@0
   129
    "int16_t *d_2xn, int16_t *s_2xn, int n", wavelet_test);
sl@0
   130
OIL_DEFINE_CLASS_FULL (split_daub97,
sl@0
   131
    "int16_t *d_2xn, int16_t *s_2xn, int n", wavelet_test);
sl@0
   132
OIL_DEFINE_CLASS_FULL (split_approx97,
sl@0
   133
    "int16_t *d_2xn, int16_t *s_2xn, int n", wavelet_test);
sl@0
   134
OIL_DEFINE_CLASS_FULL (synth_approx97,
sl@0
   135
    "int16_t *d_2xn, int16_t *s_2xn, int n", wavelet_test);
sl@0
   136
OIL_DEFINE_CLASS_FULL (split_53,
sl@0
   137
    "int16_t *d_2xn, int16_t *s_2xn, int n", wavelet_test);
sl@0
   138
OIL_DEFINE_CLASS_FULL (synth_53,
sl@0
   139
    "int16_t *d_2xn, int16_t *s_2xn, int n", wavelet_test);
sl@0
   140
OIL_DEFINE_CLASS_FULL (split_135,
sl@0
   141
    "int16_t *d_2xn, int16_t *s_2xn, int n", wavelet_test);
sl@0
   142
OIL_DEFINE_CLASS_FULL (synth_135,
sl@0
   143
    "int16_t *d_2xn, int16_t *s_2xn, int n", wavelet_test);
sl@0
   144
OIL_DEFINE_CLASS_FULL (add_const_rshift_s16,
sl@0
   145
    "int16_t *d1, int16_t *s1, int16_t *s2_2, int n", rshift_test);
sl@0
   146
OIL_DEFINE_CLASS_FULL (lshift_s16,
sl@0
   147
    "int16_t *d1, int16_t *s1, int16_t *s2_1, int n", lshift_test);
sl@0
   148
OIL_DEFINE_CLASS (multiply_and_add_s16,
sl@0
   149
    "int16_t *d, int16_t *src1, int16_t *src2, int16_t *src3, int n");
sl@0
   150
OIL_DEFINE_CLASS (multiply_and_add_s16_u8,
sl@0
   151
    "int16_t *d, int16_t *src1, int16_t *src2, uint8_t *src3, int n");
sl@0
   152
OIL_DEFINE_CLASS (multiply_and_acc_6xn_s16_u8, "int16_t *i1_6xn, int is1, "
sl@0
   153
    "int16_t *s1_6xn, int ss1, uint8_t *s2_6xn, int ss2, int n");
sl@0
   154
OIL_DEFINE_CLASS (multiply_and_acc_8xn_s16_u8, "int16_t *i1_8xn, int is1, "
sl@0
   155
    "int16_t *s1_8xn, int ss1, uint8_t *s2_8xn, int ss2, int n");
sl@0
   156
OIL_DEFINE_CLASS (multiply_and_acc_12xn_s16_u8, "int16_t *i1_12xn, int is1, "
sl@0
   157
    "int16_t *s1_12xn, int ss1, uint8_t *s2_12xn, int ss2, int n");
sl@0
   158
OIL_DEFINE_CLASS (multiply_and_acc_16xn_s16_u8, "int16_t *i1_16xn, int is1, "
sl@0
   159
    "int16_t *s1_16xn, int ss1, uint8_t *s2_16xn, int ss2, int n");
sl@0
   160
OIL_DEFINE_CLASS (multiply_and_acc_24xn_s16_u8, "int16_t *i1_24xn, int is1, "
sl@0
   161
    "int16_t *s1_24xn, int ss1, uint8_t *s2_24xn, int ss2, int n");
sl@0
   162
OIL_DEFINE_CLASS_FULL (combine2_8xn_u8, "uint8_t *d_8xn, int ds1, "
sl@0
   163
    "uint8_t *s1_8xn, int ss1, uint8_t *s2_8xn, int ss2, int16_t *s3_4, int n", combine2_test);
sl@0
   164
OIL_DEFINE_CLASS_FULL (combine2_12xn_u8, "uint8_t *d_12xn, int ds1, "
sl@0
   165
    "uint8_t *s1_12xn, int ss1, uint8_t *s2_12xn, int ss2, int16_t *s3_4, int n", combine2_test);
sl@0
   166
OIL_DEFINE_CLASS_FULL (combine2_16xn_u8, "uint8_t *d_16xn, int ds1, "
sl@0
   167
    "uint8_t *s1_16xn, int ss1, uint8_t *s2_16xn, int ss2, int16_t *s3_4, int n", combine2_test);
sl@0
   168
OIL_DEFINE_CLASS_FULL (combine4_8xn_u8, "uint8_t *d_8xn, int ds1, "
sl@0
   169
    "uint8_t *s1_8xn, int ss1, uint8_t *s2_8xn, int ss2, uint8_t *s3_8xn, "
sl@0
   170
    "int ss3, uint8_t *s4_8xn, int ss4, int16_t *s5_6, int n", combine4_test);
sl@0
   171
OIL_DEFINE_CLASS_FULL (combine4_12xn_u8, "uint8_t *d_12xn, int ds1, "
sl@0
   172
    "uint8_t *s1_12xn, int ss1, uint8_t *s2_12xn, int ss2, uint8_t *s3_12xn, "
sl@0
   173
    "int ss3, uint8_t *s4_12xn, int ss4, int16_t *s5_6, int n", combine4_test);
sl@0
   174
OIL_DEFINE_CLASS_FULL (combine4_16xn_u8, "uint8_t *d_16xn, int ds1, "
sl@0
   175
    "uint8_t *s1_16xn, int ss1, uint8_t *s2_16xn, int ss2, uint8_t *s3_16xn, "
sl@0
   176
    "int ss3, uint8_t *s4_16xn, int ss4, int16_t *s5_6, int n", combine4_test);
sl@0
   177
OIL_DEFINE_CLASS_FULL (add2_rshift_add_s16, "int16_t *d, int16_t *s1, "
sl@0
   178
    "int16_t *s2, int16_t *s3, int16_t *s4_2, int n", add2_test);
sl@0
   179
OIL_DEFINE_CLASS_FULL (add2_rshift_sub_s16, "int16_t *d, int16_t *s1, "
sl@0
   180
    "int16_t *s2, int16_t *s3, int16_t *s4_2, int n", add2_test);
sl@0
   181
OIL_DEFINE_CLASS (avg2_8xn_u8, "uint8_t *d_8xn, int ds1, "
sl@0
   182
    "uint8_t *s1_8xn, int ss1, uint8_t *s2_8xn, int ss2, int n");
sl@0
   183
OIL_DEFINE_CLASS (avg2_12xn_u8, "uint8_t *d_12xn, int ds1, "
sl@0
   184
    "uint8_t *s1_12xn, int ss1, uint8_t *s2_12xn, int ss2, int n");
sl@0
   185
OIL_DEFINE_CLASS (avg2_16xn_u8, "uint8_t *d_16xn, int ds1, "
sl@0
   186
    "uint8_t *s1_16xn, int ss1, uint8_t *s2_16xn, int ss2, int n");
sl@0
   187
sl@0
   188
	
sl@0
   189
#ifdef __SYMBIAN32__
sl@0
   190
 
sl@0
   191
#endif
sl@0
   192
void
sl@0
   193
deinterleave_ref (int16_t *d_2xn, int16_t *s_2xn, int n)
sl@0
   194
{
sl@0
   195
  int i;
sl@0
   196
sl@0
   197
  for(i=0;i<n;i++) {
sl@0
   198
    d_2xn[i] = s_2xn[2*i];
sl@0
   199
    d_2xn[n + i] = s_2xn[2*i + 1];
sl@0
   200
  }
sl@0
   201
}
sl@0
   202
OIL_DEFINE_IMPL_REF (deinterleave_ref, deinterleave);
sl@0
   203
sl@0
   204
#ifdef __SYMBIAN32__
sl@0
   205
 
sl@0
   206
#endif
sl@0
   207
void
sl@0
   208
deinterleave2_s16_ref (int16_t *d1_n, int16_t *d2_n, int16_t *s_2xn, int n)
sl@0
   209
{
sl@0
   210
  int i;
sl@0
   211
sl@0
   212
  for(i=0;i<n;i++) {
sl@0
   213
    d1_n[i] = s_2xn[2*i];
sl@0
   214
    d2_n[i] = s_2xn[2*i + 1];
sl@0
   215
  }
sl@0
   216
}
sl@0
   217
OIL_DEFINE_IMPL_REF (deinterleave2_s16_ref, deinterleave2_s16);
sl@0
   218
sl@0
   219
#ifdef __SYMBIAN32__
sl@0
   220
 
sl@0
   221
#endif
sl@0
   222
void
sl@0
   223
interleave_ref (int16_t *d_2xn, int16_t *s_2xn, int n)
sl@0
   224
{
sl@0
   225
  int i;
sl@0
   226
sl@0
   227
  for(i=0;i<n;i++) {
sl@0
   228
    d_2xn[2*i] = s_2xn[i];
sl@0
   229
    d_2xn[2*i + 1] = s_2xn[n + i];
sl@0
   230
  }
sl@0
   231
}
sl@0
   232
OIL_DEFINE_IMPL_REF (interleave_ref, interleave);
sl@0
   233
sl@0
   234
#ifdef __SYMBIAN32__
sl@0
   235
 
sl@0
   236
#endif
sl@0
   237
void
sl@0
   238
interleave2_s16_ref (int16_t *d_2xn, int16_t *s1_n, int16_t *s2_n, int n)
sl@0
   239
{
sl@0
   240
  int i;
sl@0
   241
sl@0
   242
  for(i=0;i<n;i++) {
sl@0
   243
    d_2xn[2*i] = s1_n[i];
sl@0
   244
    d_2xn[2*i + 1] = s2_n[i];
sl@0
   245
  }
sl@0
   246
}
sl@0
   247
OIL_DEFINE_IMPL_REF (interleave2_s16_ref, interleave2_s16);
sl@0
   248
sl@0
   249
#ifdef __SYMBIAN32__
sl@0
   250
 
sl@0
   251
#endif
sl@0
   252
void
sl@0
   253
synth_daub97_ref (int16_t *d_2xn, int16_t *s_2xn, int n)
sl@0
   254
{
sl@0
   255
  int i;
sl@0
   256
sl@0
   257
  if (n==0) return;
sl@0
   258
  /* predict */
sl@0
   259
  d_2xn[0] = s_2xn[0] - ((1817 * s_2xn[1]) >> 11);
sl@0
   260
  for(i=2;i<n*2;i+=2){
sl@0
   261
    d_2xn[i] = s_2xn[i] - ((1817 * (s_2xn[i-1] + s_2xn[i+1])) >> 12);
sl@0
   262
  }
sl@0
   263
  for(i=1;i<n*2-2;i+=2){
sl@0
   264
    d_2xn[i] = s_2xn[i] - ((3616 * (d_2xn[i-1] + d_2xn[i+1])) >> 12);
sl@0
   265
  }
sl@0
   266
  d_2xn[n*2-1] = s_2xn[n*2-1] - ((3616 * d_2xn[n*2-2]) >> 11);
sl@0
   267
sl@0
   268
  /* update */
sl@0
   269
  d_2xn[0] += (217 * d_2xn[1]) >> 11;
sl@0
   270
  for(i=2;i<n*2;i+=2){
sl@0
   271
    d_2xn[i] += (217 * (d_2xn[i-1] + d_2xn[i+1])) >> 12;
sl@0
   272
  }
sl@0
   273
  for(i=1;i<n*2-2;i+=2){
sl@0
   274
    d_2xn[i] += (6497 * (d_2xn[i-1] + d_2xn[i+1])) >> 12;
sl@0
   275
  }
sl@0
   276
  d_2xn[n*2-1] += (6497 * d_2xn[n*2-2]) >> 11;
sl@0
   277
}
sl@0
   278
OIL_DEFINE_IMPL_REF (synth_daub97_ref, synth_daub97);
sl@0
   279
sl@0
   280
#ifdef __SYMBIAN32__
sl@0
   281
 
sl@0
   282
#endif
sl@0
   283
void
sl@0
   284
split_daub97_ref (int16_t *d_2xn, int16_t *s_2xn, int n)
sl@0
   285
{
sl@0
   286
  int i;
sl@0
   287
sl@0
   288
  if (n==0) return;
sl@0
   289
  /* predict */
sl@0
   290
  for(i=1;i<n*2-2;i+=2){
sl@0
   291
    d_2xn[i] = s_2xn[i] - ((6497 * (s_2xn[i-1] + s_2xn[i+1])) >> 12);
sl@0
   292
  }
sl@0
   293
  d_2xn[n*2-1] = s_2xn[n*2-1] - ((6497 * s_2xn[n*2-2]) >> 11);
sl@0
   294
  d_2xn[0] = s_2xn[0] - ((217 * d_2xn[1]) >> 11);
sl@0
   295
  for(i=2;i<n*2;i+=2){
sl@0
   296
    d_2xn[i] = s_2xn[i] - ((217 * (d_2xn[i-1] + d_2xn[i+1])) >> 12);
sl@0
   297
  }
sl@0
   298
sl@0
   299
  /* update */
sl@0
   300
  for(i=1;i<n*2-2;i+=2){
sl@0
   301
    d_2xn[i] += (3616 * (d_2xn[i-1] + d_2xn[i+1])) >> 12;
sl@0
   302
  }
sl@0
   303
  d_2xn[n*2-1] += (3616 * d_2xn[n*2-2]) >> 11;
sl@0
   304
  d_2xn[0] += (1817 * d_2xn[1]) >> 11;
sl@0
   305
  for(i=2;i<n*2;i+=2){
sl@0
   306
    d_2xn[i] += (1817 * (d_2xn[i-1] + d_2xn[i+1])) >> 12;
sl@0
   307
  }
sl@0
   308
}
sl@0
   309
OIL_DEFINE_IMPL_REF (split_daub97_ref, split_daub97);
sl@0
   310
sl@0
   311
sl@0
   312
#ifdef __SYMBIAN32__
sl@0
   313
 
sl@0
   314
#endif
sl@0
   315
void
sl@0
   316
split_approx97_ref (int16_t *d_2xn, int16_t *s_2xn, int n)
sl@0
   317
{
sl@0
   318
  int i;
sl@0
   319
sl@0
   320
  if (n==0) return;
sl@0
   321
  if (n==1) {
sl@0
   322
    d_2xn[1] = s_2xn[1] - s_2xn[0];
sl@0
   323
    d_2xn[0] = s_2xn[0] + (d_2xn[1] >> 1);
sl@0
   324
  } else if (n==2) {
sl@0
   325
    /* predict */
sl@0
   326
    d_2xn[1] = s_2xn[1] - ((9*(s_2xn[0] + s_2xn[2]) - (s_2xn[2] + s_2xn[2])) >> 4);
sl@0
   327
    d_2xn[3] = s_2xn[3] - ((9*s_2xn[2] - s_2xn[0]) >> 3);
sl@0
   328
sl@0
   329
    /* update */
sl@0
   330
    d_2xn[0] = s_2xn[0] + (d_2xn[1] >> 1);
sl@0
   331
    d_2xn[2] = s_2xn[2] + ((d_2xn[1] + d_2xn[3]) >> 2);
sl@0
   332
  } else {
sl@0
   333
    /* predict */
sl@0
   334
    d_2xn[1] = s_2xn[1] - ((9*(s_2xn[0] + s_2xn[2]) - (s_2xn[2] + s_2xn[4])) >> 4);
sl@0
   335
    for(i=3;i<n*2-4;i+=2){
sl@0
   336
      d_2xn[i] = s_2xn[i] - ((9*(s_2xn[i-1] + s_2xn[i+1]) - (s_2xn[i-3] + s_2xn[i+3])) >> 4);
sl@0
   337
    }
sl@0
   338
    d_2xn[n*2-3] = s_2xn[n*2-3] - ((9*(s_2xn[n*2-4] + s_2xn[n*2-2]) - (s_2xn[n*2-6] + s_2xn[n*2-2])) >> 4);
sl@0
   339
    d_2xn[n*2-1] = s_2xn[n*2-1] - ((9*s_2xn[n*2-2] - s_2xn[n*2-4]) >> 3);
sl@0
   340
sl@0
   341
    /* update */
sl@0
   342
    d_2xn[0] = s_2xn[0] + (d_2xn[1] >> 1);
sl@0
   343
    for(i=2;i<n*2;i+=2){
sl@0
   344
      d_2xn[i] = s_2xn[i] + ((d_2xn[i-1] + d_2xn[i+1]) >> 2);
sl@0
   345
    }
sl@0
   346
  }
sl@0
   347
sl@0
   348
}
sl@0
   349
OIL_DEFINE_IMPL_REF (split_approx97_ref, split_approx97);
sl@0
   350
sl@0
   351
#ifdef __SYMBIAN32__
sl@0
   352
 
sl@0
   353
#endif
sl@0
   354
void
sl@0
   355
synth_approx97_ref (int16_t *d_2xn, int16_t *s_2xn, int n)
sl@0
   356
{
sl@0
   357
  int i;
sl@0
   358
sl@0
   359
  if (n==0) return;
sl@0
   360
  if (n==1) {
sl@0
   361
    d_2xn[0] = s_2xn[0] - (s_2xn[1] >> 1);
sl@0
   362
    d_2xn[1] = s_2xn[1] + d_2xn[0];
sl@0
   363
  } else if (n==2) {
sl@0
   364
    /* predict */
sl@0
   365
    d_2xn[0] = s_2xn[0] - (s_2xn[1] >> 1);
sl@0
   366
    d_2xn[2] = s_2xn[2] - ((s_2xn[1] + s_2xn[3]) >> 2);
sl@0
   367
sl@0
   368
    /* update */
sl@0
   369
    d_2xn[1] = s_2xn[1] + ((9*(d_2xn[0] + d_2xn[2]) - (d_2xn[2] + d_2xn[2])) >> 4);
sl@0
   370
    d_2xn[3] = s_2xn[3] + ((9*d_2xn[2] - d_2xn[0]) >> 3);
sl@0
   371
  } else {
sl@0
   372
    /* predict */
sl@0
   373
    d_2xn[0] = s_2xn[0] - (s_2xn[1] >> 1);
sl@0
   374
    for(i=2;i<n*2;i+=2){
sl@0
   375
      d_2xn[i] = s_2xn[i] - ((s_2xn[i-1] + s_2xn[i+1]) >> 2);
sl@0
   376
    }
sl@0
   377
sl@0
   378
    /* update */
sl@0
   379
    d_2xn[1] = s_2xn[1] + ((9*(d_2xn[0] + d_2xn[2]) - (d_2xn[2] + d_2xn[4])) >> 4);
sl@0
   380
    for(i=3;i<n*2-4;i+=2){
sl@0
   381
      d_2xn[i] = s_2xn[i] + ((9*(d_2xn[i-1] + d_2xn[i+1]) - (d_2xn[i-3] + d_2xn[i+3])) >> 4);
sl@0
   382
    }
sl@0
   383
    d_2xn[n*2-3] = s_2xn[n*2-3] + ((9*(d_2xn[n*2-4] + d_2xn[n*2-2]) - (d_2xn[n*2-6] + d_2xn[n*2-2])) >> 4);
sl@0
   384
    d_2xn[n*2-1] = s_2xn[n*2-1] + ((9*d_2xn[n*2-2] - d_2xn[n*2-4]) >> 3);
sl@0
   385
  }
sl@0
   386
}
sl@0
   387
OIL_DEFINE_IMPL_REF (synth_approx97_ref, synth_approx97);
sl@0
   388
sl@0
   389
#ifdef __SYMBIAN32__
sl@0
   390
 
sl@0
   391
#endif
sl@0
   392
void
sl@0
   393
split_53_ref (int16_t *d_2xn, int16_t *s_2xn, int n)
sl@0
   394
{
sl@0
   395
  int i;
sl@0
   396
sl@0
   397
  if (n==0) return;
sl@0
   398
  if (n == 1) {
sl@0
   399
    d_2xn[1] = s_2xn[1] - s_2xn[0];
sl@0
   400
    d_2xn[0] = s_2xn[0] + (d_2xn[1] >> 1);
sl@0
   401
  } else {
sl@0
   402
    d_2xn[1] = s_2xn[1] - ((s_2xn[0] + s_2xn[2]) >> 1);
sl@0
   403
    d_2xn[0] = s_2xn[0] + (d_2xn[1] >> 1);
sl@0
   404
    for(i=2;i<n*2-2;i+=2){
sl@0
   405
      d_2xn[i+1] = s_2xn[i+1] - ((s_2xn[i] + s_2xn[i+2]) >> 1);
sl@0
   406
      d_2xn[i] = s_2xn[i] + ((d_2xn[i-1] + d_2xn[i+1]) >> 2);
sl@0
   407
    }
sl@0
   408
    d_2xn[n*2-1] = s_2xn[n*2-1] - s_2xn[n*2-2];
sl@0
   409
    d_2xn[n*2-2] = s_2xn[n*2-2] + ((d_2xn[n*2-3] + d_2xn[n*2-1]) >> 2);
sl@0
   410
  }
sl@0
   411
}
sl@0
   412
OIL_DEFINE_IMPL_REF (split_53_ref, split_53);
sl@0
   413
sl@0
   414
#ifdef __SYMBIAN32__
sl@0
   415
 
sl@0
   416
#endif
sl@0
   417
void
sl@0
   418
synth_53_ref (int16_t *d_2xn, int16_t *s_2xn, int n)
sl@0
   419
{
sl@0
   420
  int i;
sl@0
   421
sl@0
   422
  if (n==0) return;
sl@0
   423
  if (n == 1) {
sl@0
   424
    d_2xn[0] = s_2xn[0] - (s_2xn[1] >> 1);
sl@0
   425
    d_2xn[1] = s_2xn[1] + d_2xn[0];
sl@0
   426
  } else {
sl@0
   427
    d_2xn[0] = s_2xn[0] - (s_2xn[1] >> 1);
sl@0
   428
    for(i=2;i<n*2-2;i+=2){
sl@0
   429
      d_2xn[i] = s_2xn[i] - ((s_2xn[i-1] + s_2xn[i+1]) >> 2);
sl@0
   430
      d_2xn[i-1] = s_2xn[i-1] + ((d_2xn[i] + d_2xn[i-2]) >> 1);
sl@0
   431
    }
sl@0
   432
    d_2xn[n*2-2] = s_2xn[n*2-2] - ((s_2xn[n*2-3] + s_2xn[n*2-1]) >> 2);
sl@0
   433
    d_2xn[n*2-3] = s_2xn[n*2-3] + ((d_2xn[n*2-2] + d_2xn[n*2-4]) >> 1);
sl@0
   434
    d_2xn[n*2-1] = s_2xn[n*2-1] + d_2xn[n*2-2];
sl@0
   435
  }
sl@0
   436
}
sl@0
   437
OIL_DEFINE_IMPL_REF (synth_53_ref, synth_53);
sl@0
   438
sl@0
   439
sl@0
   440
#ifdef __SYMBIAN32__
sl@0
   441
 
sl@0
   442
#endif
sl@0
   443
void
sl@0
   444
split_135_ref (int16_t *d_2xn, int16_t *s_2xn, int n)
sl@0
   445
{
sl@0
   446
  int i;
sl@0
   447
sl@0
   448
  if (n==0) return;
sl@0
   449
  if (n==1) {
sl@0
   450
    d_2xn[1] = s_2xn[1] - (s_2xn[0]);
sl@0
   451
    d_2xn[0] = s_2xn[0] + (d_2xn[1]>>1);
sl@0
   452
  } else if (n==2) {
sl@0
   453
    /* predict */
sl@0
   454
    d_2xn[1] = s_2xn[1] - ((9*(s_2xn[0] + s_2xn[2]) - (s_2xn[2] + s_2xn[2])) >> 4);
sl@0
   455
    d_2xn[3] = s_2xn[3] - ((9*s_2xn[2] - s_2xn[0]) >> 3);
sl@0
   456
sl@0
   457
    /* update */
sl@0
   458
    d_2xn[0] = s_2xn[0] + ((9*d_2xn[1] - d_2xn[3]) >> 4);
sl@0
   459
    d_2xn[2] = s_2xn[2] + ((9*(d_2xn[1] + d_2xn[3]) - (d_2xn[1] + d_2xn[1])) >> 5);
sl@0
   460
  } else {
sl@0
   461
    /* predict */
sl@0
   462
    d_2xn[1] = s_2xn[1] - ((9*(s_2xn[0] + s_2xn[2]) - (s_2xn[2] + s_2xn[4])) >> 4);
sl@0
   463
    for(i=3;i<n*2-4;i+=2){
sl@0
   464
      d_2xn[i] = s_2xn[i] - ((9*(s_2xn[i-1] + s_2xn[i+1]) - (s_2xn[i-3] + s_2xn[i+3])) >> 4);
sl@0
   465
    }
sl@0
   466
    d_2xn[n*2-3] = s_2xn[n*2-3] - ((9*(s_2xn[n*2-4] + s_2xn[n*2-2]) - (s_2xn[n*2-6] + s_2xn[n*2-2])) >> 4);
sl@0
   467
    d_2xn[n*2-1] = s_2xn[n*2-1] - ((9*s_2xn[n*2-2] - s_2xn[n*2-4]) >> 3);
sl@0
   468
sl@0
   469
    /* update */
sl@0
   470
    d_2xn[0] = s_2xn[0] + ((9*d_2xn[1] - d_2xn[3]) >> 4);
sl@0
   471
    d_2xn[2] = s_2xn[2] + ((9*(d_2xn[1] + d_2xn[3]) - (d_2xn[1] + d_2xn[5])) >> 5);
sl@0
   472
    for(i=4;i<n*2-2;i+=2){
sl@0
   473
      d_2xn[i] = s_2xn[i] + ((9*(d_2xn[i-1] + d_2xn[i+1]) - (d_2xn[i-3] + d_2xn[i+3])) >> 5);
sl@0
   474
    }
sl@0
   475
    d_2xn[n*2-2] = s_2xn[n*2-2] + ((9*(d_2xn[n*2-3] + d_2xn[n*2-1]) - (d_2xn[n*2-5] + d_2xn[n*2-1])) >> 5);
sl@0
   476
  }
sl@0
   477
sl@0
   478
}
sl@0
   479
OIL_DEFINE_IMPL_REF (split_135_ref, split_135);
sl@0
   480
sl@0
   481
#ifdef __SYMBIAN32__
sl@0
   482
 
sl@0
   483
#endif
sl@0
   484
void
sl@0
   485
synth_135_ref (int16_t *d_2xn, int16_t *s_2xn, int n)
sl@0
   486
{
sl@0
   487
  int i;
sl@0
   488
sl@0
   489
  if (n==0) return;
sl@0
   490
  if (n==1) {
sl@0
   491
    d_2xn[0] = s_2xn[0] - (s_2xn[1]>>1);
sl@0
   492
    d_2xn[1] = s_2xn[1] + (d_2xn[0]);
sl@0
   493
  } else if (n==2) {
sl@0
   494
    /* predict */
sl@0
   495
    d_2xn[0] = s_2xn[0] - ((9*s_2xn[1] - s_2xn[3]) >> 4);
sl@0
   496
    d_2xn[2] = s_2xn[2] - ((9*(s_2xn[1] + s_2xn[3]) - (s_2xn[1] + s_2xn[1])) >> 5);
sl@0
   497
sl@0
   498
    /* update */
sl@0
   499
    d_2xn[1] = s_2xn[1] + ((9*(d_2xn[0] + d_2xn[2]) - (d_2xn[2] + d_2xn[2])) >> 4);
sl@0
   500
    d_2xn[3] = s_2xn[3] + ((9*d_2xn[2] - d_2xn[0]) >> 3);
sl@0
   501
  } else {
sl@0
   502
    /* predict */
sl@0
   503
    d_2xn[0] = s_2xn[0] - ((9*s_2xn[1] - s_2xn[3]) >> 4);
sl@0
   504
    d_2xn[2] = s_2xn[2] - ((9*(s_2xn[1] + s_2xn[3]) - (s_2xn[1] + s_2xn[5])) >> 5);
sl@0
   505
    for(i=4;i<n*2-2;i+=2){
sl@0
   506
      d_2xn[i] = s_2xn[i] - ((9*(s_2xn[i-1] + s_2xn[i+1]) - (s_2xn[i-3] + s_2xn[i+3])) >> 5);
sl@0
   507
    }
sl@0
   508
    d_2xn[n*2-2] = s_2xn[n*2-2] - ((9*(s_2xn[n*2-3] + s_2xn[n*2-1]) - (s_2xn[n*2-5] + s_2xn[n*2-1])) >> 5);
sl@0
   509
sl@0
   510
    /* update */
sl@0
   511
    d_2xn[1] = s_2xn[1] + ((9*(d_2xn[0] + d_2xn[2]) - (d_2xn[2] + d_2xn[4])) >> 4);
sl@0
   512
    for(i=3;i<n*2-4;i+=2){
sl@0
   513
      d_2xn[i] = s_2xn[i] + ((9*(d_2xn[i-1] + d_2xn[i+1]) - (d_2xn[i-3] + d_2xn[i+3])) >> 4);
sl@0
   514
    }
sl@0
   515
    d_2xn[n*2-3] = s_2xn[n*2-3] + ((9*(d_2xn[n*2-4] + d_2xn[n*2-2]) - (d_2xn[n*2-6] + d_2xn[n*2-2])) >> 4);
sl@0
   516
    d_2xn[n*2-1] = s_2xn[n*2-1] + ((9*d_2xn[n*2-2] - d_2xn[n*2-4]) >> 3);
sl@0
   517
  }
sl@0
   518
}
sl@0
   519
OIL_DEFINE_IMPL_REF (synth_135_ref, synth_135);
sl@0
   520
sl@0
   521
sl@0
   522
sl@0
   523
sl@0
   524
static void
sl@0
   525
lift_test (OilTest *test)
sl@0
   526
{
sl@0
   527
  int16_t *data;
sl@0
   528
  int i;
sl@0
   529
sl@0
   530
  data = (int16_t *)oil_test_get_source_data (test, OIL_ARG_SRC1);
sl@0
   531
  for(i=0;i<test->n;i++){
sl@0
   532
    data[i] = oil_rand_u8();
sl@0
   533
  }
sl@0
   534
  data = (int16_t *)oil_test_get_source_data (test, OIL_ARG_SRC2);
sl@0
   535
  for(i=0;i<test->n;i++){
sl@0
   536
    data[i] = oil_rand_u8();
sl@0
   537
  }
sl@0
   538
  data = (int16_t *)oil_test_get_source_data (test, OIL_ARG_SRC3);
sl@0
   539
  for(i=0;i<test->n;i++){
sl@0
   540
    data[i] = oil_rand_u8();
sl@0
   541
  }
sl@0
   542
}
sl@0
   543
sl@0
   544
OIL_DEFINE_CLASS_FULL (lift_add_shift1,
sl@0
   545
    "int16_t *d, int16_t *s1, int16_t *s2, int16_t *s3, int n", lift_test);
sl@0
   546
OIL_DEFINE_CLASS_FULL (lift_sub_shift1,
sl@0
   547
    "int16_t *d, int16_t *s1, int16_t *s2, int16_t *s3, int n", lift_test);
sl@0
   548
OIL_DEFINE_CLASS_FULL (lift_add_shift2,
sl@0
   549
    "int16_t *d, int16_t *s1, int16_t *s2, int16_t *s3, int n", lift_test);
sl@0
   550
OIL_DEFINE_CLASS_FULL (lift_sub_shift2,
sl@0
   551
    "int16_t *d, int16_t *s1, int16_t *s2, int16_t *s3, int n", lift_test);
sl@0
   552
OIL_DEFINE_CLASS_FULL (lift_add_mult_shift12,
sl@0
   553
    "int16_t *d, int16_t *s1, int16_t *s2, int16_t *s3, int16_t *s4_1, int n", lift_test);
sl@0
   554
OIL_DEFINE_CLASS_FULL (lift_sub_mult_shift12,
sl@0
   555
    "int16_t *d, int16_t *s1, int16_t *s2, int16_t *s3, int16_t *s4_1, int n", lift_test);
sl@0
   556
OIL_DEFINE_CLASS_FULL (lift_add_135,
sl@0
   557
    "int16_t *d, int16_t *s1, int16_t *s2, int16_t *s3, int16_t *s4, int16_t *s5, int n", lift_test);
sl@0
   558
OIL_DEFINE_CLASS_FULL (lift_sub_135,
sl@0
   559
    "int16_t *d, int16_t *s1, int16_t *s2, int16_t *s3, int16_t *s4, int16_t *s5, int n", lift_test);
sl@0
   560
sl@0
   561
sl@0
   562
	#ifdef __SYMBIAN32__
sl@0
   563
 
sl@0
   564
#endif
sl@0
   565
void
sl@0
   566
lift_add_shift1_ref (int16_t *d, int16_t *s1, int16_t *s2, int16_t *s3, int n)
sl@0
   567
{
sl@0
   568
  int i;
sl@0
   569
  for(i=0;i<n;i++) {
sl@0
   570
    d[i] = s1[i] + ((s2[i] + s3[i])>>1);
sl@0
   571
  }
sl@0
   572
}
sl@0
   573
OIL_DEFINE_IMPL_REF (lift_add_shift1_ref, lift_add_shift1);
sl@0
   574
sl@0
   575
#ifdef __SYMBIAN32__
sl@0
   576
 
sl@0
   577
#endif
sl@0
   578
void
sl@0
   579
lift_sub_shift1_ref (int16_t *d, int16_t *s1, int16_t *s2, int16_t *s3, int n)
sl@0
   580
{
sl@0
   581
  int i;
sl@0
   582
  for(i=0;i<n;i++) {
sl@0
   583
    d[i] = s1[i] - ((s2[i] + s3[i])>>1);
sl@0
   584
  }
sl@0
   585
}
sl@0
   586
OIL_DEFINE_IMPL_REF (lift_sub_shift1_ref, lift_sub_shift1);
sl@0
   587
sl@0
   588
#ifdef __SYMBIAN32__
sl@0
   589
 
sl@0
   590
#endif
sl@0
   591
void
sl@0
   592
lift_add_shift2_ref (int16_t *d, int16_t *s1, int16_t *s2, int16_t *s3, int n)
sl@0
   593
{
sl@0
   594
  int i;
sl@0
   595
  for(i=0;i<n;i++) {
sl@0
   596
    d[i] = s1[i] + ((s2[i] + s3[i])>>2);
sl@0
   597
  }
sl@0
   598
}
sl@0
   599
OIL_DEFINE_IMPL_REF (lift_add_shift2_ref, lift_add_shift2);
sl@0
   600
sl@0
   601
#ifdef __SYMBIAN32__
sl@0
   602
 
sl@0
   603
#endif
sl@0
   604
void
sl@0
   605
lift_sub_shift2_ref (int16_t *d, int16_t *s1, int16_t *s2, int16_t *s3, int n)
sl@0
   606
{
sl@0
   607
  int i;
sl@0
   608
  for(i=0;i<n;i++) {
sl@0
   609
    d[i] = s1[i] - ((s2[i] + s3[i])>>2);
sl@0
   610
  }
sl@0
   611
}
sl@0
   612
OIL_DEFINE_IMPL_REF (lift_sub_shift2_ref, lift_sub_shift2);
sl@0
   613
sl@0
   614
#ifdef __SYMBIAN32__
sl@0
   615
 
sl@0
   616
#endif
sl@0
   617
void
sl@0
   618
lift_add_mult_shift12_ref (int16_t *d, int16_t *s1, int16_t *s2, int16_t *s3, int16_t *s4, int n)
sl@0
   619
{
sl@0
   620
  int i;
sl@0
   621
  for(i=0;i<n;i++) {
sl@0
   622
    d[i] = s1[i] + ((s4[0]*(s2[i] + s3[i]))>>12);
sl@0
   623
  }
sl@0
   624
}
sl@0
   625
OIL_DEFINE_IMPL_REF (lift_add_mult_shift12_ref, lift_add_mult_shift12);
sl@0
   626
sl@0
   627
#ifdef __SYMBIAN32__
sl@0
   628
 
sl@0
   629
#endif
sl@0
   630
void
sl@0
   631
lift_sub_mult_shift12_ref (int16_t *d, int16_t *s1, int16_t *s2, int16_t *s3, int16_t *s4, int n)
sl@0
   632
{
sl@0
   633
  int i;
sl@0
   634
  for(i=0;i<n;i++) {
sl@0
   635
    d[i] = s1[i] - ((s4[0]*(s2[i] + s3[i]))>>12);
sl@0
   636
  }
sl@0
   637
}
sl@0
   638
OIL_DEFINE_IMPL_REF (lift_sub_mult_shift12_ref, lift_sub_mult_shift12);
sl@0
   639
sl@0
   640
#ifdef __SYMBIAN32__
sl@0
   641
 
sl@0
   642
#endif
sl@0
   643
void
sl@0
   644
lift_add_135_ref (int16_t *d, int16_t *s1, int16_t *s2, int16_t *s3,
sl@0
   645
    int16_t *s4, int16_t *s5, int n)
sl@0
   646
{
sl@0
   647
  int i;
sl@0
   648
  for(i=0;i<n;i++) {
sl@0
   649
    d[i] = s1[i] + ((9*(s3[i-1] + s4[i+1]) - (s2[i-3] + s5[i+3])) >> 4);
sl@0
   650
  }
sl@0
   651
}
sl@0
   652
OIL_DEFINE_IMPL_REF (lift_add_135_ref, lift_add_135);
sl@0
   653
sl@0
   654
#ifdef __SYMBIAN32__
sl@0
   655
 
sl@0
   656
#endif
sl@0
   657
void
sl@0
   658
lift_sub_135_ref (int16_t *d, int16_t *s1, int16_t *s2, int16_t *s3,
sl@0
   659
    int16_t *s4, int16_t *s5, int n)
sl@0
   660
{
sl@0
   661
  int i;
sl@0
   662
  for(i=0;i<n;i++) {
sl@0
   663
    d[i] = s1[i] - ((9*(s3[i-1] + s4[i+1]) - (s2[i-3] + s5[i+3])) >> 4);
sl@0
   664
  }
sl@0
   665
}
sl@0
   666
OIL_DEFINE_IMPL_REF (lift_sub_135_ref, lift_sub_135);
sl@0
   667
sl@0
   668
sl@0
   669
#ifdef __SYMBIAN32__
sl@0
   670
 
sl@0
   671
#endif
sl@0
   672
void
sl@0
   673
add_const_rshift_s16_ref(int16_t *d1, int16_t *s1, int16_t *s3_2, int n)
sl@0
   674
{
sl@0
   675
  int i;
sl@0
   676
  for(i=0;i<n;i++){
sl@0
   677
    d1[i] = (s1[i] + s3_2[0])>>s3_2[1];
sl@0
   678
  }
sl@0
   679
}
sl@0
   680
OIL_DEFINE_IMPL_REF (add_const_rshift_s16_ref, add_const_rshift_s16);
sl@0
   681
sl@0
   682
#ifdef __SYMBIAN32__
sl@0
   683
 
sl@0
   684
#endif
sl@0
   685
void
sl@0
   686
lshift_s16_ref(int16_t *d1, int16_t *s1, int16_t *s3_1, int n)
sl@0
   687
{
sl@0
   688
  int i;
sl@0
   689
  for(i=0;i<n;i++){
sl@0
   690
    d1[i] = s1[i]<<s3_1[0];
sl@0
   691
  }
sl@0
   692
}
sl@0
   693
OIL_DEFINE_IMPL_REF (lshift_s16_ref, lshift_s16);
sl@0
   694
sl@0
   695
#ifdef __SYMBIAN32__
sl@0
   696
 
sl@0
   697
#endif
sl@0
   698
void
sl@0
   699
multiply_and_add_s16_ref (int16_t *d, int16_t *src1, int16_t *src2, int16_t *src3, int n)
sl@0
   700
{
sl@0
   701
  int i;
sl@0
   702
  for(i=0;i<n;i++){
sl@0
   703
    d[i] = src1[i] + src2[i]*src3[i];
sl@0
   704
  }
sl@0
   705
}
sl@0
   706
OIL_DEFINE_IMPL_REF (multiply_and_add_s16_ref, multiply_and_add_s16);
sl@0
   707
sl@0
   708
#ifdef __SYMBIAN32__
sl@0
   709
 
sl@0
   710
#endif
sl@0
   711
void
sl@0
   712
multiply_and_add_s16_u8_ref (int16_t *d, int16_t *src1, int16_t *src2,
sl@0
   713
    uint8_t *src3, int n)
sl@0
   714
{
sl@0
   715
  int i;
sl@0
   716
  for(i=0;i<n;i++){
sl@0
   717
    d[i] = src1[i] + src2[i]*src3[i];
sl@0
   718
  }
sl@0
   719
}
sl@0
   720
OIL_DEFINE_IMPL_REF (multiply_and_add_s16_u8_ref, multiply_and_add_s16_u8);
sl@0
   721
sl@0
   722
#ifdef __SYMBIAN32__
sl@0
   723
 
sl@0
   724
#endif
sl@0
   725
void
sl@0
   726
multiply_and_acc_6xn_s16_u8_ref (int16_t *i1, int is1, int16_t *s1,
sl@0
   727
    int ss1, uint8_t *s2, int ss2, int n)
sl@0
   728
{
sl@0
   729
  int i, j;
sl@0
   730
  for(j=0;j<n;j++){
sl@0
   731
    for(i=0;i<6;i++){
sl@0
   732
      i1[i] += s1[i]*s2[i];
sl@0
   733
    }
sl@0
   734
    i1 = OIL_OFFSET(i1,is1);
sl@0
   735
    s1 = OIL_OFFSET(s1,ss1);
sl@0
   736
    s2 = OIL_OFFSET(s2,ss2);
sl@0
   737
  }
sl@0
   738
}
sl@0
   739
OIL_DEFINE_IMPL_REF (multiply_and_acc_6xn_s16_u8_ref,
sl@0
   740
    multiply_and_acc_6xn_s16_u8);
sl@0
   741
sl@0
   742
#ifdef __SYMBIAN32__
sl@0
   743
 
sl@0
   744
#endif
sl@0
   745
void
sl@0
   746
multiply_and_acc_8xn_s16_u8_ref (int16_t *i1, int is1, int16_t *s1,
sl@0
   747
    int ss1, uint8_t *s2, int ss2, int n)
sl@0
   748
{
sl@0
   749
  int i, j;
sl@0
   750
  for(j=0;j<n;j++){
sl@0
   751
    for(i=0;i<8;i++){
sl@0
   752
      i1[i] += s1[i]*s2[i];
sl@0
   753
    }
sl@0
   754
    i1 = OIL_OFFSET(i1,is1);
sl@0
   755
    s1 = OIL_OFFSET(s1,ss1);
sl@0
   756
    s2 = OIL_OFFSET(s2,ss2);
sl@0
   757
  }
sl@0
   758
}
sl@0
   759
OIL_DEFINE_IMPL_REF (multiply_and_acc_8xn_s16_u8_ref,
sl@0
   760
    multiply_and_acc_8xn_s16_u8);
sl@0
   761
sl@0
   762
#ifdef __SYMBIAN32__
sl@0
   763
 
sl@0
   764
#endif
sl@0
   765
void
sl@0
   766
multiply_and_acc_12xn_s16_u8_ref (int16_t *i1, int is1, int16_t *s1,
sl@0
   767
    int ss1, uint8_t *s2, int ss2, int n)
sl@0
   768
{
sl@0
   769
  int i, j;
sl@0
   770
  for(j=0;j<n;j++){
sl@0
   771
    for(i=0;i<12;i++){
sl@0
   772
      i1[i] += s1[i]*s2[i];
sl@0
   773
    }
sl@0
   774
    i1 = OIL_OFFSET(i1,is1);
sl@0
   775
    s1 = OIL_OFFSET(s1,ss1);
sl@0
   776
    s2 = OIL_OFFSET(s2,ss2);
sl@0
   777
  }
sl@0
   778
}
sl@0
   779
OIL_DEFINE_IMPL_REF (multiply_and_acc_12xn_s16_u8_ref,
sl@0
   780
    multiply_and_acc_12xn_s16_u8);
sl@0
   781
sl@0
   782
#ifdef __SYMBIAN32__
sl@0
   783
 
sl@0
   784
#endif
sl@0
   785
void
sl@0
   786
multiply_and_acc_16xn_s16_u8_ref (int16_t *i1, int is1, int16_t *s1,
sl@0
   787
    int ss1, uint8_t *s2, int ss2, int n)
sl@0
   788
{
sl@0
   789
  int i, j;
sl@0
   790
  for(j=0;j<n;j++){
sl@0
   791
    for(i=0;i<16;i++){
sl@0
   792
      i1[i] += s1[i]*s2[i];
sl@0
   793
    }
sl@0
   794
    i1 = OIL_OFFSET(i1,is1);
sl@0
   795
    s1 = OIL_OFFSET(s1,ss1);
sl@0
   796
    s2 = OIL_OFFSET(s2,ss2);
sl@0
   797
  }
sl@0
   798
}
sl@0
   799
OIL_DEFINE_IMPL_REF (multiply_and_acc_16xn_s16_u8_ref,
sl@0
   800
    multiply_and_acc_16xn_s16_u8);
sl@0
   801
sl@0
   802
	#ifdef __SYMBIAN32__
sl@0
   803
 
sl@0
   804
#endif
sl@0
   805
void
sl@0
   806
multiply_and_acc_24xn_s16_u8_ref (int16_t *i1, int is1, int16_t *s1,
sl@0
   807
    int ss1, uint8_t *s2, int ss2, int n)
sl@0
   808
{
sl@0
   809
  int i, j;
sl@0
   810
  for(j=0;j<n;j++){
sl@0
   811
    for(i=0;i<24;i++){
sl@0
   812
      i1[i] += s1[i]*s2[i];
sl@0
   813
    }
sl@0
   814
    i1 = OIL_OFFSET(i1,is1);
sl@0
   815
    s1 = OIL_OFFSET(s1,ss1);
sl@0
   816
    s2 = OIL_OFFSET(s2,ss2);
sl@0
   817
  }
sl@0
   818
}
sl@0
   819
OIL_DEFINE_IMPL_REF (multiply_and_acc_24xn_s16_u8_ref,
sl@0
   820
    multiply_and_acc_24xn_s16_u8);
sl@0
   821
sl@0
   822
	#ifdef __SYMBIAN32__
sl@0
   823
 
sl@0
   824
#endif
sl@0
   825
void
sl@0
   826
combine4_8xn_u8_ref (uint8_t *d, int ds1,
sl@0
   827
    uint8_t *s1, int ss1,
sl@0
   828
    uint8_t *s2, int ss2,
sl@0
   829
    uint8_t *s3, int ss3,
sl@0
   830
    uint8_t *s4, int ss4,
sl@0
   831
    int16_t *s5_6, int n)
sl@0
   832
{
sl@0
   833
  int i;
sl@0
   834
  int j;
sl@0
   835
  for(j=0;j<n;j++){
sl@0
   836
    for(i=0;i<8;i++){
sl@0
   837
      int x = 0;
sl@0
   838
      x += s5_6[0] * s1[i];
sl@0
   839
      x += s5_6[1] * s2[i];
sl@0
   840
      x += s5_6[2] * s3[i];
sl@0
   841
      x += s5_6[3] * s4[i];
sl@0
   842
      d[i] = (x + s5_6[4]) >> s5_6[5];
sl@0
   843
    }
sl@0
   844
    s1 += ss1;
sl@0
   845
    s2 += ss2;
sl@0
   846
    s3 += ss3;
sl@0
   847
    s4 += ss4;
sl@0
   848
    d += ds1;
sl@0
   849
  }
sl@0
   850
}
sl@0
   851
OIL_DEFINE_IMPL_REF (combine4_8xn_u8_ref, combine4_8xn_u8);
sl@0
   852
sl@0
   853
#ifdef __SYMBIAN32__
sl@0
   854
 
sl@0
   855
#endif
sl@0
   856
void
sl@0
   857
combine4_12xn_u8_ref (uint8_t *d, int ds1,
sl@0
   858
    uint8_t *s1, int ss1,
sl@0
   859
    uint8_t *s2, int ss2,
sl@0
   860
    uint8_t *s3, int ss3,
sl@0
   861
    uint8_t *s4, int ss4,
sl@0
   862
    int16_t *s5_6, int n)
sl@0
   863
{
sl@0
   864
  int i;
sl@0
   865
  int j;
sl@0
   866
  for(j=0;j<n;j++){
sl@0
   867
    for(i=0;i<12;i++){
sl@0
   868
      int x = 0;
sl@0
   869
      x += s5_6[0] * s1[i];
sl@0
   870
      x += s5_6[1] * s2[i];
sl@0
   871
      x += s5_6[2] * s3[i];
sl@0
   872
      x += s5_6[3] * s4[i];
sl@0
   873
      d[i] = (x + s5_6[4]) >> s5_6[5];
sl@0
   874
    }
sl@0
   875
    s1 += ss1;
sl@0
   876
    s2 += ss2;
sl@0
   877
    s3 += ss3;
sl@0
   878
    s4 += ss4;
sl@0
   879
    d += ds1;
sl@0
   880
  }
sl@0
   881
}
sl@0
   882
OIL_DEFINE_IMPL_REF (combine4_12xn_u8_ref, combine4_12xn_u8);
sl@0
   883
sl@0
   884
#ifdef __SYMBIAN32__
sl@0
   885
 
sl@0
   886
#endif
sl@0
   887
void
sl@0
   888
combine4_16xn_u8_ref (uint8_t *d, int ds1,
sl@0
   889
    uint8_t *s1, int ss1,
sl@0
   890
    uint8_t *s2, int ss2,
sl@0
   891
    uint8_t *s3, int ss3,
sl@0
   892
    uint8_t *s4, int ss4,
sl@0
   893
    int16_t *s5_6, int n)
sl@0
   894
{
sl@0
   895
  int i;
sl@0
   896
  int j;
sl@0
   897
  for(j=0;j<n;j++){
sl@0
   898
    for(i=0;i<16;i++){
sl@0
   899
      int x = 0;
sl@0
   900
      x += s5_6[0] * s1[i];
sl@0
   901
      x += s5_6[1] * s2[i];
sl@0
   902
      x += s5_6[2] * s3[i];
sl@0
   903
      x += s5_6[3] * s4[i];
sl@0
   904
      d[i] = (x + s5_6[4]) >> s5_6[5];
sl@0
   905
    }
sl@0
   906
    s1 += ss1;
sl@0
   907
    s2 += ss2;
sl@0
   908
    s3 += ss3;
sl@0
   909
    s4 += ss4;
sl@0
   910
    d += ds1;
sl@0
   911
  }
sl@0
   912
}
sl@0
   913
OIL_DEFINE_IMPL_REF (combine4_16xn_u8_ref, combine4_16xn_u8);
sl@0
   914
sl@0
   915
#ifdef __SYMBIAN32__
sl@0
   916
 
sl@0
   917
#endif
sl@0
   918
void
sl@0
   919
combine2_8xn_u8_ref (uint8_t *d, int ds1,
sl@0
   920
    uint8_t *s1, int ss1,
sl@0
   921
    uint8_t *s2, int ss2,
sl@0
   922
    int16_t *s3_4, int n)
sl@0
   923
{
sl@0
   924
  int i;
sl@0
   925
  int j;
sl@0
   926
  for(j=0;j<n;j++){
sl@0
   927
    for(i=0;i<8;i++){
sl@0
   928
      int x = 0;
sl@0
   929
      x += s3_4[0] * s1[i];
sl@0
   930
      x += s3_4[1] * s2[i];
sl@0
   931
      d[i] = (x + s3_4[2]) >> s3_4[3];
sl@0
   932
    }
sl@0
   933
    s1 += ss1;
sl@0
   934
    s2 += ss2;
sl@0
   935
    d += ds1;
sl@0
   936
  }
sl@0
   937
}
sl@0
   938
OIL_DEFINE_IMPL_REF (combine2_8xn_u8_ref, combine2_8xn_u8);
sl@0
   939
sl@0
   940
#ifdef __SYMBIAN32__
sl@0
   941
 
sl@0
   942
#endif
sl@0
   943
void
sl@0
   944
combine2_12xn_u8_ref (uint8_t *d, int ds1,
sl@0
   945
    uint8_t *s1, int ss1,
sl@0
   946
    uint8_t *s2, int ss2,
sl@0
   947
    int16_t *s3_4, int n)
sl@0
   948
{
sl@0
   949
  int i;
sl@0
   950
  int j;
sl@0
   951
  for(j=0;j<n;j++){
sl@0
   952
    for(i=0;i<12;i++){
sl@0
   953
      int x = 0;
sl@0
   954
      x += s3_4[0] * s1[i];
sl@0
   955
      x += s3_4[1] * s2[i];
sl@0
   956
      d[i] = (x + s3_4[2]) >> s3_4[3];
sl@0
   957
    }
sl@0
   958
    s1 += ss1;
sl@0
   959
    s2 += ss2;
sl@0
   960
    d += ds1;
sl@0
   961
  }
sl@0
   962
}
sl@0
   963
OIL_DEFINE_IMPL_REF (combine2_12xn_u8_ref, combine2_12xn_u8);
sl@0
   964
sl@0
   965
#ifdef __SYMBIAN32__
sl@0
   966
 
sl@0
   967
#endif
sl@0
   968
void
sl@0
   969
combine2_16xn_u8_ref (uint8_t *d, int ds1,
sl@0
   970
    uint8_t *s1, int ss1,
sl@0
   971
    uint8_t *s2, int ss2,
sl@0
   972
    int16_t *s3_4, int n)
sl@0
   973
{
sl@0
   974
  int i;
sl@0
   975
  int j;
sl@0
   976
  for(j=0;j<n;j++){
sl@0
   977
    for(i=0;i<16;i++){
sl@0
   978
      int x = 0;
sl@0
   979
      x += s3_4[0] * s1[i];
sl@0
   980
      x += s3_4[1] * s2[i];
sl@0
   981
      d[i] = (x + s3_4[2]) >> s3_4[3];
sl@0
   982
    }
sl@0
   983
    s1 += ss1;
sl@0
   984
    s2 += ss2;
sl@0
   985
    d += ds1;
sl@0
   986
  }
sl@0
   987
}
sl@0
   988
OIL_DEFINE_IMPL_REF (combine2_16xn_u8_ref, combine2_16xn_u8);
sl@0
   989
sl@0
   990
#ifdef __SYMBIAN32__
sl@0
   991
 
sl@0
   992
#endif
sl@0
   993
void
sl@0
   994
add2_rshift_add_s16_ref (int16_t *d, int16_t *s1, int16_t *s2, int16_t *s3,
sl@0
   995
    int16_t *s4_2, int n)
sl@0
   996
{
sl@0
   997
  int i;
sl@0
   998
  for(i=0;i<n;i++) {
sl@0
   999
    d[i] = s1[i] + ((s2[i] + s3[i] + s4_2[0])>>s4_2[1]);
sl@0
  1000
  }
sl@0
  1001
}
sl@0
  1002
OIL_DEFINE_IMPL_REF (add2_rshift_add_s16_ref, add2_rshift_add_s16);
sl@0
  1003
sl@0
  1004
#ifdef __SYMBIAN32__
sl@0
  1005
 
sl@0
  1006
#endif
sl@0
  1007
void
sl@0
  1008
add2_rshift_sub_s16_ref (int16_t *d, int16_t *s1, int16_t *s2, int16_t *s3,
sl@0
  1009
    int16_t *s4_2, int n)
sl@0
  1010
{
sl@0
  1011
  int i;
sl@0
  1012
  for(i=0;i<n;i++) {
sl@0
  1013
    d[i] = s1[i] - ((s2[i] + s3[i] + s4_2[0])>>s4_2[1]);
sl@0
  1014
  }
sl@0
  1015
}
sl@0
  1016
OIL_DEFINE_IMPL_REF (add2_rshift_sub_s16_ref, add2_rshift_sub_s16);
sl@0
  1017
sl@0
  1018
#ifdef __SYMBIAN32__
sl@0
  1019
 
sl@0
  1020
#endif
sl@0
  1021
void
sl@0
  1022
avg2_8xn_u8_ref (uint8_t *d, int ds1, uint8_t *s1, int ss1,
sl@0
  1023
    uint8_t *s2, int ss2, int n)
sl@0
  1024
{
sl@0
  1025
  int i;
sl@0
  1026
  int j;
sl@0
  1027
  for(j=0;j<n;j++){
sl@0
  1028
    for(i=0;i<8;i++){
sl@0
  1029
      d[i] = (s1[i] + s2[i] + 1)>>1;
sl@0
  1030
    }
sl@0
  1031
    s1 += ss1;
sl@0
  1032
    s2 += ss2;
sl@0
  1033
    d += ds1;
sl@0
  1034
  }
sl@0
  1035
}
sl@0
  1036
OIL_DEFINE_IMPL_REF (avg2_8xn_u8_ref, avg2_8xn_u8);
sl@0
  1037
sl@0
  1038
#ifdef __SYMBIAN32__
sl@0
  1039
 
sl@0
  1040
#endif
sl@0
  1041
void
sl@0
  1042
avg2_12xn_u8_ref (uint8_t *d, int ds1, uint8_t *s1, int ss1,
sl@0
  1043
    uint8_t *s2, int ss2, int n)
sl@0
  1044
{
sl@0
  1045
  int i;
sl@0
  1046
  int j;
sl@0
  1047
  for(j=0;j<n;j++){
sl@0
  1048
    for(i=0;i<12;i++){
sl@0
  1049
      d[i] = (s1[i] + s2[i] + 1)>>1;
sl@0
  1050
    }
sl@0
  1051
    s1 += ss1;
sl@0
  1052
    s2 += ss2;
sl@0
  1053
    d += ds1;
sl@0
  1054
  }
sl@0
  1055
}
sl@0
  1056
OIL_DEFINE_IMPL_REF (avg2_12xn_u8_ref, avg2_12xn_u8);
sl@0
  1057
sl@0
  1058
#ifdef __SYMBIAN32__
sl@0
  1059
 
sl@0
  1060
#endif
sl@0
  1061
void
sl@0
  1062
avg2_16xn_u8_ref (uint8_t *d, int ds1, uint8_t *s1, int ss1,
sl@0
  1063
    uint8_t *s2, int ss2, int n)
sl@0
  1064
{
sl@0
  1065
  int i;
sl@0
  1066
  int j;
sl@0
  1067
  for(j=0;j<n;j++){
sl@0
  1068
    for(i=0;i<16;i++){
sl@0
  1069
      d[i] = (s1[i] + s2[i] + 1)>>1;
sl@0
  1070
    }
sl@0
  1071
    s1 += ss1;
sl@0
  1072
    s2 += ss2;
sl@0
  1073
    d += ds1;
sl@0
  1074
  }
sl@0
  1075
}
sl@0
  1076
OIL_DEFINE_IMPL_REF (avg2_16xn_u8_ref, avg2_16xn_u8);
sl@0
  1077
sl@0
  1078
sl@0
  1079
sl@0
  1080
#ifdef	__SYMBIAN32__
sl@0
  1081
 
sl@0
  1082
OilFunctionClass* __oil_function_class_deinterleave() {
sl@0
  1083
		return &_oil_function_class_deinterleave;
sl@0
  1084
}
sl@0
  1085
#endif
sl@0
  1086
sl@0
  1087
#ifdef	__SYMBIAN32__
sl@0
  1088
 
sl@0
  1089
OilFunctionClass* __oil_function_class_deinterleave2_s16() {
sl@0
  1090
		return &_oil_function_class_deinterleave2_s16;
sl@0
  1091
}
sl@0
  1092
#endif
sl@0
  1093
sl@0
  1094
#ifdef	__SYMBIAN32__
sl@0
  1095
 
sl@0
  1096
OilFunctionClass* __oil_function_class_interleave() {
sl@0
  1097
		return &_oil_function_class_interleave;
sl@0
  1098
}
sl@0
  1099
#endif
sl@0
  1100
sl@0
  1101
#ifdef	__SYMBIAN32__
sl@0
  1102
 
sl@0
  1103
OilFunctionClass* __oil_function_class_interleave2_s16() {
sl@0
  1104
		return &_oil_function_class_interleave2_s16;
sl@0
  1105
}
sl@0
  1106
#endif
sl@0
  1107
sl@0
  1108
#ifdef	__SYMBIAN32__
sl@0
  1109
 
sl@0
  1110
OilFunctionClass* __oil_function_class_synth_daub97() {
sl@0
  1111
		return &_oil_function_class_synth_daub97;
sl@0
  1112
}
sl@0
  1113
#endif
sl@0
  1114
sl@0
  1115
#ifdef	__SYMBIAN32__
sl@0
  1116
 
sl@0
  1117
OilFunctionClass* __oil_function_class_split_daub97() {
sl@0
  1118
		return &_oil_function_class_split_daub97;
sl@0
  1119
}
sl@0
  1120
#endif
sl@0
  1121
sl@0
  1122
#ifdef	__SYMBIAN32__
sl@0
  1123
 
sl@0
  1124
OilFunctionClass* __oil_function_class_split_approx97() {
sl@0
  1125
		return &_oil_function_class_split_approx97;
sl@0
  1126
}
sl@0
  1127
#endif
sl@0
  1128
sl@0
  1129
#ifdef	__SYMBIAN32__
sl@0
  1130
 
sl@0
  1131
OilFunctionClass* __oil_function_class_synth_approx97() {
sl@0
  1132
		return &_oil_function_class_synth_approx97;
sl@0
  1133
}
sl@0
  1134
#endif
sl@0
  1135
sl@0
  1136
#ifdef	__SYMBIAN32__
sl@0
  1137
 
sl@0
  1138
OilFunctionClass* __oil_function_class_split_53() {
sl@0
  1139
		return &_oil_function_class_split_53;
sl@0
  1140
}
sl@0
  1141
#endif
sl@0
  1142
sl@0
  1143
#ifdef	__SYMBIAN32__
sl@0
  1144
 
sl@0
  1145
OilFunctionClass* __oil_function_class_synth_53() {
sl@0
  1146
		return &_oil_function_class_synth_53;
sl@0
  1147
}
sl@0
  1148
#endif
sl@0
  1149
sl@0
  1150
#ifdef	__SYMBIAN32__
sl@0
  1151
 
sl@0
  1152
OilFunctionClass* __oil_function_class_split_135() {
sl@0
  1153
		return &_oil_function_class_split_135;
sl@0
  1154
}
sl@0
  1155
#endif
sl@0
  1156
sl@0
  1157
#ifdef	__SYMBIAN32__
sl@0
  1158
 
sl@0
  1159
OilFunctionClass* __oil_function_class_synth_135() {
sl@0
  1160
		return &_oil_function_class_synth_135;
sl@0
  1161
}
sl@0
  1162
#endif
sl@0
  1163
sl@0
  1164
#ifdef	__SYMBIAN32__
sl@0
  1165
 
sl@0
  1166
OilFunctionClass* __oil_function_class_add_const_rshift_s16() {
sl@0
  1167
		return &_oil_function_class_add_const_rshift_s16;
sl@0
  1168
}
sl@0
  1169
#endif
sl@0
  1170
sl@0
  1171
#ifdef	__SYMBIAN32__
sl@0
  1172
 
sl@0
  1173
OilFunctionClass* __oil_function_class_lshift_s16() {
sl@0
  1174
		return &_oil_function_class_lshift_s16;
sl@0
  1175
}
sl@0
  1176
#endif
sl@0
  1177
sl@0
  1178
#ifdef	__SYMBIAN32__
sl@0
  1179
 
sl@0
  1180
OilFunctionClass* __oil_function_class_multiply_and_add_s16() {
sl@0
  1181
		return &_oil_function_class_multiply_and_add_s16;
sl@0
  1182
}
sl@0
  1183
#endif
sl@0
  1184
sl@0
  1185
#ifdef	__SYMBIAN32__
sl@0
  1186
 
sl@0
  1187
OilFunctionClass* __oil_function_class_multiply_and_add_s16_u8() {
sl@0
  1188
		return &_oil_function_class_multiply_and_add_s16_u8;
sl@0
  1189
}
sl@0
  1190
#endif
sl@0
  1191
sl@0
  1192
#ifdef	__SYMBIAN32__
sl@0
  1193
 
sl@0
  1194
OilFunctionClass* __oil_function_class_multiply_and_acc_6xn_s16_u8() {
sl@0
  1195
		return &_oil_function_class_multiply_and_acc_6xn_s16_u8;
sl@0
  1196
}
sl@0
  1197
#endif
sl@0
  1198
sl@0
  1199
#ifdef	__SYMBIAN32__
sl@0
  1200
 
sl@0
  1201
OilFunctionClass* __oil_function_class_multiply_and_acc_8xn_s16_u8() {
sl@0
  1202
		return &_oil_function_class_multiply_and_acc_8xn_s16_u8;
sl@0
  1203
}
sl@0
  1204
#endif
sl@0
  1205
sl@0
  1206
#ifdef	__SYMBIAN32__
sl@0
  1207
 
sl@0
  1208
OilFunctionClass* __oil_function_class_multiply_and_acc_12xn_s16_u8() {
sl@0
  1209
		return &_oil_function_class_multiply_and_acc_12xn_s16_u8;
sl@0
  1210
}
sl@0
  1211
#endif
sl@0
  1212
sl@0
  1213
#ifdef	__SYMBIAN32__
sl@0
  1214
 
sl@0
  1215
OilFunctionClass* __oil_function_class_multiply_and_acc_16xn_s16_u8() {
sl@0
  1216
		return &_oil_function_class_multiply_and_acc_16xn_s16_u8;
sl@0
  1217
}
sl@0
  1218
#endif
sl@0
  1219
sl@0
  1220
#ifdef	__SYMBIAN32__
sl@0
  1221
 
sl@0
  1222
OilFunctionClass* __oil_function_class_multiply_and_acc_24xn_s16_u8() {
sl@0
  1223
		return &_oil_function_class_multiply_and_acc_24xn_s16_u8;
sl@0
  1224
}
sl@0
  1225
#endif
sl@0
  1226
sl@0
  1227
#ifdef	__SYMBIAN32__
sl@0
  1228
 
sl@0
  1229
OilFunctionClass* __oil_function_class_combine2_8xn_u8() {
sl@0
  1230
		return &_oil_function_class_combine2_8xn_u8;
sl@0
  1231
}
sl@0
  1232
#endif
sl@0
  1233
sl@0
  1234
#ifdef	__SYMBIAN32__
sl@0
  1235
 
sl@0
  1236
OilFunctionClass* __oil_function_class_combine2_12xn_u8() {
sl@0
  1237
		return &_oil_function_class_combine2_12xn_u8;
sl@0
  1238
}
sl@0
  1239
#endif
sl@0
  1240
sl@0
  1241
#ifdef	__SYMBIAN32__
sl@0
  1242
 
sl@0
  1243
OilFunctionClass* __oil_function_class_combine2_16xn_u8() {
sl@0
  1244
		return &_oil_function_class_combine2_16xn_u8;
sl@0
  1245
}
sl@0
  1246
#endif
sl@0
  1247
sl@0
  1248
#ifdef	__SYMBIAN32__
sl@0
  1249
 
sl@0
  1250
OilFunctionClass* __oil_function_class_combine4_8xn_u8() {
sl@0
  1251
		return &_oil_function_class_combine4_8xn_u8;
sl@0
  1252
}
sl@0
  1253
#endif
sl@0
  1254
sl@0
  1255
#ifdef	__SYMBIAN32__
sl@0
  1256
 
sl@0
  1257
OilFunctionClass* __oil_function_class_combine4_12xn_u8() {
sl@0
  1258
		return &_oil_function_class_combine4_12xn_u8;
sl@0
  1259
}
sl@0
  1260
#endif
sl@0
  1261
sl@0
  1262
#ifdef	__SYMBIAN32__
sl@0
  1263
 
sl@0
  1264
OilFunctionClass* __oil_function_class_combine4_16xn_u8() {
sl@0
  1265
		return &_oil_function_class_combine4_16xn_u8;
sl@0
  1266
}
sl@0
  1267
#endif
sl@0
  1268
sl@0
  1269
#ifdef	__SYMBIAN32__
sl@0
  1270
 
sl@0
  1271
OilFunctionClass* __oil_function_class_add2_rshift_add_s16() {
sl@0
  1272
		return &_oil_function_class_add2_rshift_add_s16;
sl@0
  1273
}
sl@0
  1274
#endif
sl@0
  1275
sl@0
  1276
#ifdef	__SYMBIAN32__
sl@0
  1277
 
sl@0
  1278
OilFunctionClass* __oil_function_class_add2_rshift_sub_s16() {
sl@0
  1279
		return &_oil_function_class_add2_rshift_sub_s16;
sl@0
  1280
}
sl@0
  1281
#endif
sl@0
  1282
sl@0
  1283
#ifdef	__SYMBIAN32__
sl@0
  1284
 
sl@0
  1285
OilFunctionClass* __oil_function_class_avg2_8xn_u8() {
sl@0
  1286
		return &_oil_function_class_avg2_8xn_u8;
sl@0
  1287
}
sl@0
  1288
#endif
sl@0
  1289
sl@0
  1290
#ifdef	__SYMBIAN32__
sl@0
  1291
 
sl@0
  1292
OilFunctionClass* __oil_function_class_avg2_12xn_u8() {
sl@0
  1293
		return &_oil_function_class_avg2_12xn_u8;
sl@0
  1294
}
sl@0
  1295
#endif
sl@0
  1296
sl@0
  1297
#ifdef	__SYMBIAN32__
sl@0
  1298
 
sl@0
  1299
OilFunctionClass* __oil_function_class_avg2_16xn_u8() {
sl@0
  1300
		return &_oil_function_class_avg2_16xn_u8;
sl@0
  1301
}
sl@0
  1302
#endif
sl@0
  1303
sl@0
  1304
#ifdef	__SYMBIAN32__
sl@0
  1305
 
sl@0
  1306
OilFunctionClass* __oil_function_class_lift_add_shift1() {
sl@0
  1307
		return &_oil_function_class_lift_add_shift1;
sl@0
  1308
}
sl@0
  1309
#endif
sl@0
  1310
sl@0
  1311
#ifdef	__SYMBIAN32__
sl@0
  1312
 
sl@0
  1313
OilFunctionClass* __oil_function_class_lift_sub_shift1() {
sl@0
  1314
		return &_oil_function_class_lift_sub_shift1;
sl@0
  1315
}
sl@0
  1316
#endif
sl@0
  1317
sl@0
  1318
#ifdef	__SYMBIAN32__
sl@0
  1319
 
sl@0
  1320
OilFunctionClass* __oil_function_class_lift_add_shift2() {
sl@0
  1321
		return &_oil_function_class_lift_add_shift2;
sl@0
  1322
}
sl@0
  1323
#endif
sl@0
  1324
sl@0
  1325
#ifdef	__SYMBIAN32__
sl@0
  1326
 
sl@0
  1327
OilFunctionClass* __oil_function_class_lift_sub_shift2() {
sl@0
  1328
		return &_oil_function_class_lift_sub_shift2;
sl@0
  1329
}
sl@0
  1330
#endif
sl@0
  1331
sl@0
  1332
#ifdef	__SYMBIAN32__
sl@0
  1333
 
sl@0
  1334
OilFunctionClass* __oil_function_class_lift_add_mult_shift12() {
sl@0
  1335
		return &_oil_function_class_lift_add_mult_shift12;
sl@0
  1336
}
sl@0
  1337
#endif
sl@0
  1338
sl@0
  1339
#ifdef	__SYMBIAN32__
sl@0
  1340
 
sl@0
  1341
OilFunctionClass* __oil_function_class_lift_sub_mult_shift12() {
sl@0
  1342
		return &_oil_function_class_lift_sub_mult_shift12;
sl@0
  1343
}
sl@0
  1344
#endif
sl@0
  1345
sl@0
  1346
#ifdef	__SYMBIAN32__
sl@0
  1347
 
sl@0
  1348
OilFunctionClass* __oil_function_class_lift_add_135() {
sl@0
  1349
		return &_oil_function_class_lift_add_135;
sl@0
  1350
}
sl@0
  1351
#endif
sl@0
  1352
sl@0
  1353
#ifdef	__SYMBIAN32__
sl@0
  1354
 
sl@0
  1355
OilFunctionClass* __oil_function_class_lift_sub_135() {
sl@0
  1356
		return &_oil_function_class_lift_sub_135;
sl@0
  1357
}
sl@0
  1358
#endif
sl@0
  1359
sl@0
  1360
sl@0
  1361
sl@0
  1362
#ifdef	__SYMBIAN32__
sl@0
  1363
 
sl@0
  1364
OilFunctionImpl* __oil_function_impl_deinterleave_ref() {
sl@0
  1365
		return &_oil_function_impl_deinterleave_ref;
sl@0
  1366
}
sl@0
  1367
#endif
sl@0
  1368
sl@0
  1369
#ifdef	__SYMBIAN32__
sl@0
  1370
 
sl@0
  1371
OilFunctionImpl* __oil_function_impl_deinterleave2_s16_ref() {
sl@0
  1372
		return &_oil_function_impl_deinterleave2_s16_ref;
sl@0
  1373
}
sl@0
  1374
#endif
sl@0
  1375
sl@0
  1376
#ifdef	__SYMBIAN32__
sl@0
  1377
 
sl@0
  1378
OilFunctionImpl* __oil_function_impl_interleave_ref() {
sl@0
  1379
		return &_oil_function_impl_interleave_ref;
sl@0
  1380
}
sl@0
  1381
#endif
sl@0
  1382
sl@0
  1383
#ifdef	__SYMBIAN32__
sl@0
  1384
 
sl@0
  1385
OilFunctionImpl* __oil_function_impl_interleave2_s16_ref() {
sl@0
  1386
		return &_oil_function_impl_interleave2_s16_ref;
sl@0
  1387
}
sl@0
  1388
#endif
sl@0
  1389
sl@0
  1390
#ifdef	__SYMBIAN32__
sl@0
  1391
 
sl@0
  1392
OilFunctionImpl* __oil_function_impl_synth_daub97_ref() {
sl@0
  1393
		return &_oil_function_impl_synth_daub97_ref;
sl@0
  1394
}
sl@0
  1395
#endif
sl@0
  1396
sl@0
  1397
#ifdef	__SYMBIAN32__
sl@0
  1398
 
sl@0
  1399
OilFunctionImpl* __oil_function_impl_split_daub97_ref() {
sl@0
  1400
		return &_oil_function_impl_split_daub97_ref;
sl@0
  1401
}
sl@0
  1402
#endif
sl@0
  1403
sl@0
  1404
#ifdef	__SYMBIAN32__
sl@0
  1405
 
sl@0
  1406
OilFunctionImpl* __oil_function_impl_split_approx97_ref() {
sl@0
  1407
		return &_oil_function_impl_split_approx97_ref;
sl@0
  1408
}
sl@0
  1409
#endif
sl@0
  1410
sl@0
  1411
#ifdef	__SYMBIAN32__
sl@0
  1412
 
sl@0
  1413
OilFunctionImpl* __oil_function_impl_synth_approx97_ref() {
sl@0
  1414
		return &_oil_function_impl_synth_approx97_ref;
sl@0
  1415
}
sl@0
  1416
#endif
sl@0
  1417
sl@0
  1418
#ifdef	__SYMBIAN32__
sl@0
  1419
 
sl@0
  1420
OilFunctionImpl* __oil_function_impl_split_53_ref() {
sl@0
  1421
		return &_oil_function_impl_split_53_ref;
sl@0
  1422
}
sl@0
  1423
#endif
sl@0
  1424
sl@0
  1425
#ifdef	__SYMBIAN32__
sl@0
  1426
 
sl@0
  1427
OilFunctionImpl* __oil_function_impl_synth_53_ref() {
sl@0
  1428
		return &_oil_function_impl_synth_53_ref;
sl@0
  1429
}
sl@0
  1430
#endif
sl@0
  1431
sl@0
  1432
#ifdef	__SYMBIAN32__
sl@0
  1433
 
sl@0
  1434
OilFunctionImpl* __oil_function_impl_split_135_ref() {
sl@0
  1435
		return &_oil_function_impl_split_135_ref;
sl@0
  1436
}
sl@0
  1437
#endif
sl@0
  1438
sl@0
  1439
#ifdef	__SYMBIAN32__
sl@0
  1440
 
sl@0
  1441
OilFunctionImpl* __oil_function_impl_synth_135_ref() {
sl@0
  1442
		return &_oil_function_impl_synth_135_ref;
sl@0
  1443
}
sl@0
  1444
#endif
sl@0
  1445
sl@0
  1446
#ifdef	__SYMBIAN32__
sl@0
  1447
 
sl@0
  1448
OilFunctionImpl* __oil_function_impl_lift_add_shift1_ref() {
sl@0
  1449
		return &_oil_function_impl_lift_add_shift1_ref;
sl@0
  1450
}
sl@0
  1451
#endif
sl@0
  1452
sl@0
  1453
#ifdef	__SYMBIAN32__
sl@0
  1454
 
sl@0
  1455
OilFunctionImpl* __oil_function_impl_lift_sub_shift1_ref() {
sl@0
  1456
		return &_oil_function_impl_lift_sub_shift1_ref;
sl@0
  1457
}
sl@0
  1458
#endif
sl@0
  1459
sl@0
  1460
#ifdef	__SYMBIAN32__
sl@0
  1461
 
sl@0
  1462
OilFunctionImpl* __oil_function_impl_lift_add_shift2_ref() {
sl@0
  1463
		return &_oil_function_impl_lift_add_shift2_ref;
sl@0
  1464
}
sl@0
  1465
#endif
sl@0
  1466
sl@0
  1467
#ifdef	__SYMBIAN32__
sl@0
  1468
 
sl@0
  1469
OilFunctionImpl* __oil_function_impl_lift_sub_shift2_ref() {
sl@0
  1470
		return &_oil_function_impl_lift_sub_shift2_ref;
sl@0
  1471
}
sl@0
  1472
#endif
sl@0
  1473
sl@0
  1474
#ifdef	__SYMBIAN32__
sl@0
  1475
 
sl@0
  1476
OilFunctionImpl* __oil_function_impl_lift_add_mult_shift12_ref() {
sl@0
  1477
		return &_oil_function_impl_lift_add_mult_shift12_ref;
sl@0
  1478
}
sl@0
  1479
#endif
sl@0
  1480
sl@0
  1481
#ifdef	__SYMBIAN32__
sl@0
  1482
 
sl@0
  1483
OilFunctionImpl* __oil_function_impl_lift_sub_mult_shift12_ref() {
sl@0
  1484
		return &_oil_function_impl_lift_sub_mult_shift12_ref;
sl@0
  1485
}
sl@0
  1486
#endif
sl@0
  1487
sl@0
  1488
#ifdef	__SYMBIAN32__
sl@0
  1489
 
sl@0
  1490
OilFunctionImpl* __oil_function_impl_lift_add_135_ref() {
sl@0
  1491
		return &_oil_function_impl_lift_add_135_ref;
sl@0
  1492
}
sl@0
  1493
#endif
sl@0
  1494
sl@0
  1495
#ifdef	__SYMBIAN32__
sl@0
  1496
 
sl@0
  1497
OilFunctionImpl* __oil_function_impl_lift_sub_135_ref() {
sl@0
  1498
		return &_oil_function_impl_lift_sub_135_ref;
sl@0
  1499
}
sl@0
  1500
#endif
sl@0
  1501
sl@0
  1502
#ifdef	__SYMBIAN32__
sl@0
  1503
 
sl@0
  1504
OilFunctionImpl* __oil_function_impl_add_const_rshift_s16_ref() {
sl@0
  1505
		return &_oil_function_impl_add_const_rshift_s16_ref;
sl@0
  1506
}
sl@0
  1507
#endif
sl@0
  1508
sl@0
  1509
#ifdef	__SYMBIAN32__
sl@0
  1510
 
sl@0
  1511
OilFunctionImpl* __oil_function_impl_lshift_s16_ref() {
sl@0
  1512
		return &_oil_function_impl_lshift_s16_ref;
sl@0
  1513
}
sl@0
  1514
#endif
sl@0
  1515
sl@0
  1516
#ifdef	__SYMBIAN32__
sl@0
  1517
 
sl@0
  1518
OilFunctionImpl* __oil_function_impl_multiply_and_add_s16_ref() {
sl@0
  1519
		return &_oil_function_impl_multiply_and_add_s16_ref;
sl@0
  1520
}
sl@0
  1521
#endif
sl@0
  1522
sl@0
  1523
#ifdef	__SYMBIAN32__
sl@0
  1524
 
sl@0
  1525
OilFunctionImpl* __oil_function_impl_multiply_and_add_s16_u8_ref() {
sl@0
  1526
		return &_oil_function_impl_multiply_and_add_s16_u8_ref;
sl@0
  1527
}
sl@0
  1528
#endif
sl@0
  1529
sl@0
  1530
#ifdef	__SYMBIAN32__
sl@0
  1531
 
sl@0
  1532
OilFunctionImpl* __oil_function_impl_multiply_and_acc_6xn_s16_u8_ref() {
sl@0
  1533
		return &_oil_function_impl_multiply_and_acc_6xn_s16_u8_ref;
sl@0
  1534
}
sl@0
  1535
#endif
sl@0
  1536
sl@0
  1537
#ifdef	__SYMBIAN32__
sl@0
  1538
 
sl@0
  1539
OilFunctionImpl* __oil_function_impl_multiply_and_acc_8xn_s16_u8_ref() {
sl@0
  1540
		return &_oil_function_impl_multiply_and_acc_8xn_s16_u8_ref;
sl@0
  1541
}
sl@0
  1542
#endif
sl@0
  1543
sl@0
  1544
#ifdef	__SYMBIAN32__
sl@0
  1545
 
sl@0
  1546
OilFunctionImpl* __oil_function_impl_multiply_and_acc_12xn_s16_u8_ref() {
sl@0
  1547
		return &_oil_function_impl_multiply_and_acc_12xn_s16_u8_ref;
sl@0
  1548
}
sl@0
  1549
#endif
sl@0
  1550
sl@0
  1551
#ifdef	__SYMBIAN32__
sl@0
  1552
 
sl@0
  1553
OilFunctionImpl* __oil_function_impl_multiply_and_acc_16xn_s16_u8_ref() {
sl@0
  1554
		return &_oil_function_impl_multiply_and_acc_16xn_s16_u8_ref;
sl@0
  1555
}
sl@0
  1556
#endif
sl@0
  1557
sl@0
  1558
#ifdef	__SYMBIAN32__
sl@0
  1559
 
sl@0
  1560
OilFunctionImpl* __oil_function_impl_multiply_and_acc_24xn_s16_u8_ref() {
sl@0
  1561
		return &_oil_function_impl_multiply_and_acc_24xn_s16_u8_ref;
sl@0
  1562
}
sl@0
  1563
#endif
sl@0
  1564
sl@0
  1565
#ifdef	__SYMBIAN32__
sl@0
  1566
 
sl@0
  1567
OilFunctionImpl* __oil_function_impl_combine4_8xn_u8_ref() {
sl@0
  1568
		return &_oil_function_impl_combine4_8xn_u8_ref;
sl@0
  1569
}
sl@0
  1570
#endif
sl@0
  1571
sl@0
  1572
#ifdef	__SYMBIAN32__
sl@0
  1573
 
sl@0
  1574
OilFunctionImpl* __oil_function_impl_combine4_12xn_u8_ref() {
sl@0
  1575
		return &_oil_function_impl_combine4_12xn_u8_ref;
sl@0
  1576
}
sl@0
  1577
#endif
sl@0
  1578
sl@0
  1579
#ifdef	__SYMBIAN32__
sl@0
  1580
 
sl@0
  1581
OilFunctionImpl* __oil_function_impl_combine4_16xn_u8_ref() {
sl@0
  1582
		return &_oil_function_impl_combine4_16xn_u8_ref;
sl@0
  1583
}
sl@0
  1584
#endif
sl@0
  1585
sl@0
  1586
#ifdef	__SYMBIAN32__
sl@0
  1587
 
sl@0
  1588
OilFunctionImpl* __oil_function_impl_combine2_8xn_u8_ref() {
sl@0
  1589
		return &_oil_function_impl_combine2_8xn_u8_ref;
sl@0
  1590
}
sl@0
  1591
#endif
sl@0
  1592
sl@0
  1593
#ifdef	__SYMBIAN32__
sl@0
  1594
 
sl@0
  1595
OilFunctionImpl* __oil_function_impl_combine2_12xn_u8_ref() {
sl@0
  1596
		return &_oil_function_impl_combine2_12xn_u8_ref;
sl@0
  1597
}
sl@0
  1598
#endif
sl@0
  1599
sl@0
  1600
#ifdef	__SYMBIAN32__
sl@0
  1601
 
sl@0
  1602
OilFunctionImpl* __oil_function_impl_combine2_16xn_u8_ref() {
sl@0
  1603
		return &_oil_function_impl_combine2_16xn_u8_ref;
sl@0
  1604
}
sl@0
  1605
#endif
sl@0
  1606
sl@0
  1607
#ifdef	__SYMBIAN32__
sl@0
  1608
 
sl@0
  1609
OilFunctionImpl* __oil_function_impl_add2_rshift_add_s16_ref() {
sl@0
  1610
		return &_oil_function_impl_add2_rshift_add_s16_ref;
sl@0
  1611
}
sl@0
  1612
#endif
sl@0
  1613
sl@0
  1614
#ifdef	__SYMBIAN32__
sl@0
  1615
 
sl@0
  1616
OilFunctionImpl* __oil_function_impl_add2_rshift_sub_s16_ref() {
sl@0
  1617
		return &_oil_function_impl_add2_rshift_sub_s16_ref;
sl@0
  1618
}
sl@0
  1619
#endif
sl@0
  1620
sl@0
  1621
#ifdef	__SYMBIAN32__
sl@0
  1622
 
sl@0
  1623
OilFunctionImpl* __oil_function_impl_avg2_8xn_u8_ref() {
sl@0
  1624
		return &_oil_function_impl_avg2_8xn_u8_ref;
sl@0
  1625
}
sl@0
  1626
#endif
sl@0
  1627
sl@0
  1628
#ifdef	__SYMBIAN32__
sl@0
  1629
 
sl@0
  1630
OilFunctionImpl* __oil_function_impl_avg2_12xn_u8_ref() {
sl@0
  1631
		return &_oil_function_impl_avg2_12xn_u8_ref;
sl@0
  1632
}
sl@0
  1633
#endif
sl@0
  1634
sl@0
  1635
#ifdef	__SYMBIAN32__
sl@0
  1636
 
sl@0
  1637
OilFunctionImpl* __oil_function_impl_avg2_16xn_u8_ref() {
sl@0
  1638
		return &_oil_function_impl_avg2_16xn_u8_ref;
sl@0
  1639
}
sl@0
  1640
#endif
sl@0
  1641
sl@0
  1642
sl@0
  1643
sl@0
  1644
#ifdef	__SYMBIAN32__
sl@0
  1645
 
sl@0
  1646
EXPORT_C void** _oil_function_class_ptr_deinterleave ()	{
sl@0
  1647
	oil_function_class_ptr_deinterleave = __oil_function_class_deinterleave();
sl@0
  1648
	return &oil_function_class_ptr_deinterleave->func;
sl@0
  1649
	}
sl@0
  1650
#endif
sl@0
  1651
sl@0
  1652
#ifdef	__SYMBIAN32__
sl@0
  1653
 
sl@0
  1654
EXPORT_C void** _oil_function_class_ptr_deinterleave2_s16 ()	{
sl@0
  1655
	oil_function_class_ptr_deinterleave2_s16 = __oil_function_class_deinterleave2_s16();
sl@0
  1656
	return &oil_function_class_ptr_deinterleave2_s16->func;
sl@0
  1657
	}
sl@0
  1658
#endif
sl@0
  1659
sl@0
  1660
#ifdef	__SYMBIAN32__
sl@0
  1661
 
sl@0
  1662
EXPORT_C void** _oil_function_class_ptr_interleave ()	{
sl@0
  1663
	oil_function_class_ptr_interleave = __oil_function_class_interleave();
sl@0
  1664
	return &oil_function_class_ptr_interleave->func;
sl@0
  1665
	}
sl@0
  1666
#endif
sl@0
  1667
sl@0
  1668
#ifdef	__SYMBIAN32__
sl@0
  1669
 
sl@0
  1670
EXPORT_C void** _oil_function_class_ptr_interleave2_s16 ()	{
sl@0
  1671
	oil_function_class_ptr_interleave2_s16 = __oil_function_class_interleave2_s16();
sl@0
  1672
	return &oil_function_class_ptr_interleave2_s16->func;
sl@0
  1673
	}
sl@0
  1674
#endif
sl@0
  1675
sl@0
  1676
#ifdef	__SYMBIAN32__
sl@0
  1677
 
sl@0
  1678
EXPORT_C void** _oil_function_class_ptr_synth_daub97 ()	{
sl@0
  1679
	oil_function_class_ptr_synth_daub97 = __oil_function_class_synth_daub97();
sl@0
  1680
	return &oil_function_class_ptr_synth_daub97->func;
sl@0
  1681
	}
sl@0
  1682
#endif
sl@0
  1683
sl@0
  1684
#ifdef	__SYMBIAN32__
sl@0
  1685
 
sl@0
  1686
EXPORT_C void** _oil_function_class_ptr_split_daub97 ()	{
sl@0
  1687
	oil_function_class_ptr_split_daub97 = __oil_function_class_split_daub97();
sl@0
  1688
	return &oil_function_class_ptr_split_daub97->func;
sl@0
  1689
	}
sl@0
  1690
#endif
sl@0
  1691
sl@0
  1692
#ifdef	__SYMBIAN32__
sl@0
  1693
 
sl@0
  1694
EXPORT_C void** _oil_function_class_ptr_split_approx97 ()	{
sl@0
  1695
	oil_function_class_ptr_split_approx97 = __oil_function_class_split_approx97();
sl@0
  1696
	return &oil_function_class_ptr_split_approx97->func;
sl@0
  1697
	}
sl@0
  1698
#endif
sl@0
  1699
sl@0
  1700
#ifdef	__SYMBIAN32__
sl@0
  1701
 
sl@0
  1702
EXPORT_C void** _oil_function_class_ptr_synth_approx97 ()	{
sl@0
  1703
	oil_function_class_ptr_synth_approx97 = __oil_function_class_synth_approx97();
sl@0
  1704
	return &oil_function_class_ptr_synth_approx97->func;
sl@0
  1705
	}
sl@0
  1706
#endif
sl@0
  1707
sl@0
  1708
#ifdef	__SYMBIAN32__
sl@0
  1709
 
sl@0
  1710
EXPORT_C void** _oil_function_class_ptr_split_53 ()	{
sl@0
  1711
	oil_function_class_ptr_split_53 = __oil_function_class_split_53();
sl@0
  1712
	return &oil_function_class_ptr_split_53->func;
sl@0
  1713
	}
sl@0
  1714
#endif
sl@0
  1715
sl@0
  1716
#ifdef	__SYMBIAN32__
sl@0
  1717
 
sl@0
  1718
EXPORT_C void** _oil_function_class_ptr_synth_53 ()	{
sl@0
  1719
	oil_function_class_ptr_synth_53 = __oil_function_class_synth_53();
sl@0
  1720
	return &oil_function_class_ptr_synth_53->func;
sl@0
  1721
	}
sl@0
  1722
#endif
sl@0
  1723
sl@0
  1724
#ifdef	__SYMBIAN32__
sl@0
  1725
 
sl@0
  1726
EXPORT_C void** _oil_function_class_ptr_split_135 ()	{
sl@0
  1727
	oil_function_class_ptr_split_135 = __oil_function_class_split_135();
sl@0
  1728
	return &oil_function_class_ptr_split_135->func;
sl@0
  1729
	}
sl@0
  1730
#endif
sl@0
  1731
sl@0
  1732
#ifdef	__SYMBIAN32__
sl@0
  1733
 
sl@0
  1734
EXPORT_C void** _oil_function_class_ptr_synth_135 ()	{
sl@0
  1735
	oil_function_class_ptr_synth_135 = __oil_function_class_synth_135();
sl@0
  1736
	return &oil_function_class_ptr_synth_135->func;
sl@0
  1737
	}
sl@0
  1738
#endif
sl@0
  1739
sl@0
  1740
#ifdef	__SYMBIAN32__
sl@0
  1741
 
sl@0
  1742
EXPORT_C void** _oil_function_class_ptr_add_const_rshift_s16 ()	{
sl@0
  1743
	oil_function_class_ptr_add_const_rshift_s16 = __oil_function_class_add_const_rshift_s16();
sl@0
  1744
	return &oil_function_class_ptr_add_const_rshift_s16->func;
sl@0
  1745
	}
sl@0
  1746
#endif
sl@0
  1747
sl@0
  1748
#ifdef	__SYMBIAN32__
sl@0
  1749
 
sl@0
  1750
EXPORT_C void** _oil_function_class_ptr_lshift_s16 ()	{
sl@0
  1751
	oil_function_class_ptr_lshift_s16 = __oil_function_class_lshift_s16();
sl@0
  1752
	return &oil_function_class_ptr_lshift_s16->func;
sl@0
  1753
	}
sl@0
  1754
#endif
sl@0
  1755
sl@0
  1756
#ifdef	__SYMBIAN32__
sl@0
  1757
 
sl@0
  1758
EXPORT_C void** _oil_function_class_ptr_multiply_and_add_s16 ()	{
sl@0
  1759
	oil_function_class_ptr_multiply_and_add_s16 = __oil_function_class_multiply_and_add_s16();
sl@0
  1760
	return &oil_function_class_ptr_multiply_and_add_s16->func;
sl@0
  1761
	}
sl@0
  1762
#endif
sl@0
  1763
sl@0
  1764
#ifdef	__SYMBIAN32__
sl@0
  1765
 
sl@0
  1766
EXPORT_C void** _oil_function_class_ptr_multiply_and_add_s16_u8 ()	{
sl@0
  1767
	oil_function_class_ptr_multiply_and_add_s16_u8 = __oil_function_class_multiply_and_add_s16_u8();
sl@0
  1768
	return &oil_function_class_ptr_multiply_and_add_s16_u8->func;
sl@0
  1769
	}
sl@0
  1770
#endif
sl@0
  1771
sl@0
  1772
#ifdef	__SYMBIAN32__
sl@0
  1773
 
sl@0
  1774
EXPORT_C void** _oil_function_class_ptr_multiply_and_acc_6xn_s16_u8 ()	{
sl@0
  1775
	oil_function_class_ptr_multiply_and_acc_6xn_s16_u8 = __oil_function_class_multiply_and_acc_6xn_s16_u8();
sl@0
  1776
	return &oil_function_class_ptr_multiply_and_acc_6xn_s16_u8->func;
sl@0
  1777
	}
sl@0
  1778
#endif
sl@0
  1779
sl@0
  1780
#ifdef	__SYMBIAN32__
sl@0
  1781
 
sl@0
  1782
EXPORT_C void** _oil_function_class_ptr_multiply_and_acc_8xn_s16_u8 ()	{
sl@0
  1783
	oil_function_class_ptr_multiply_and_acc_8xn_s16_u8 = __oil_function_class_multiply_and_acc_8xn_s16_u8();
sl@0
  1784
	return &oil_function_class_ptr_multiply_and_acc_8xn_s16_u8->func;
sl@0
  1785
	}
sl@0
  1786
#endif
sl@0
  1787
sl@0
  1788
#ifdef	__SYMBIAN32__
sl@0
  1789
 
sl@0
  1790
EXPORT_C void** _oil_function_class_ptr_multiply_and_acc_12xn_s16_u8 ()	{
sl@0
  1791
	oil_function_class_ptr_multiply_and_acc_12xn_s16_u8 = __oil_function_class_multiply_and_acc_12xn_s16_u8();
sl@0
  1792
	return &oil_function_class_ptr_multiply_and_acc_12xn_s16_u8->func;
sl@0
  1793
	}
sl@0
  1794
#endif
sl@0
  1795
sl@0
  1796
#ifdef	__SYMBIAN32__
sl@0
  1797
 
sl@0
  1798
EXPORT_C void** _oil_function_class_ptr_multiply_and_acc_16xn_s16_u8 ()	{
sl@0
  1799
	oil_function_class_ptr_multiply_and_acc_16xn_s16_u8 = __oil_function_class_multiply_and_acc_16xn_s16_u8();
sl@0
  1800
	return &oil_function_class_ptr_multiply_and_acc_16xn_s16_u8->func;
sl@0
  1801
	}
sl@0
  1802
#endif
sl@0
  1803
sl@0
  1804
#ifdef	__SYMBIAN32__
sl@0
  1805
 
sl@0
  1806
EXPORT_C void** _oil_function_class_ptr_multiply_and_acc_24xn_s16_u8 ()	{
sl@0
  1807
	oil_function_class_ptr_multiply_and_acc_24xn_s16_u8 = __oil_function_class_multiply_and_acc_24xn_s16_u8();
sl@0
  1808
	return &oil_function_class_ptr_multiply_and_acc_24xn_s16_u8->func;
sl@0
  1809
	}
sl@0
  1810
#endif
sl@0
  1811
sl@0
  1812
#ifdef	__SYMBIAN32__
sl@0
  1813
 
sl@0
  1814
EXPORT_C void** _oil_function_class_ptr_combine2_8xn_u8 ()	{
sl@0
  1815
	oil_function_class_ptr_combine2_8xn_u8 = __oil_function_class_combine2_8xn_u8();
sl@0
  1816
	return &oil_function_class_ptr_combine2_8xn_u8->func;
sl@0
  1817
	}
sl@0
  1818
#endif
sl@0
  1819
sl@0
  1820
#ifdef	__SYMBIAN32__
sl@0
  1821
 
sl@0
  1822
EXPORT_C void** _oil_function_class_ptr_combine2_12xn_u8 ()	{
sl@0
  1823
	oil_function_class_ptr_combine2_12xn_u8 = __oil_function_class_combine2_12xn_u8();
sl@0
  1824
	return &oil_function_class_ptr_combine2_12xn_u8->func;
sl@0
  1825
	}
sl@0
  1826
#endif
sl@0
  1827
sl@0
  1828
#ifdef	__SYMBIAN32__
sl@0
  1829
 
sl@0
  1830
EXPORT_C void** _oil_function_class_ptr_combine2_16xn_u8 ()	{
sl@0
  1831
	oil_function_class_ptr_combine2_16xn_u8 = __oil_function_class_combine2_16xn_u8();
sl@0
  1832
	return &oil_function_class_ptr_combine2_16xn_u8->func;
sl@0
  1833
	}
sl@0
  1834
#endif
sl@0
  1835
sl@0
  1836
#ifdef	__SYMBIAN32__
sl@0
  1837
 
sl@0
  1838
EXPORT_C void** _oil_function_class_ptr_combine4_8xn_u8 ()	{
sl@0
  1839
	oil_function_class_ptr_combine4_8xn_u8 = __oil_function_class_combine4_8xn_u8();
sl@0
  1840
	return &oil_function_class_ptr_combine4_8xn_u8->func;
sl@0
  1841
	}
sl@0
  1842
#endif
sl@0
  1843
sl@0
  1844
#ifdef	__SYMBIAN32__
sl@0
  1845
 
sl@0
  1846
EXPORT_C void** _oil_function_class_ptr_combine4_12xn_u8 ()	{
sl@0
  1847
	oil_function_class_ptr_combine4_12xn_u8 = __oil_function_class_combine4_12xn_u8();
sl@0
  1848
	return &oil_function_class_ptr_combine4_12xn_u8->func;
sl@0
  1849
	}
sl@0
  1850
#endif
sl@0
  1851
sl@0
  1852
#ifdef	__SYMBIAN32__
sl@0
  1853
 
sl@0
  1854
EXPORT_C void** _oil_function_class_ptr_combine4_16xn_u8 ()	{
sl@0
  1855
	oil_function_class_ptr_combine4_16xn_u8 = __oil_function_class_combine4_16xn_u8();
sl@0
  1856
	return &oil_function_class_ptr_combine4_16xn_u8->func;
sl@0
  1857
	}
sl@0
  1858
#endif
sl@0
  1859
sl@0
  1860
#ifdef	__SYMBIAN32__
sl@0
  1861
 
sl@0
  1862
EXPORT_C void** _oil_function_class_ptr_add2_rshift_add_s16 ()	{
sl@0
  1863
	oil_function_class_ptr_add2_rshift_add_s16 = __oil_function_class_add2_rshift_add_s16();
sl@0
  1864
	return &oil_function_class_ptr_add2_rshift_add_s16->func;
sl@0
  1865
	}
sl@0
  1866
#endif
sl@0
  1867
sl@0
  1868
#ifdef	__SYMBIAN32__
sl@0
  1869
 
sl@0
  1870
EXPORT_C void** _oil_function_class_ptr_add2_rshift_sub_s16 ()	{
sl@0
  1871
	oil_function_class_ptr_add2_rshift_sub_s16 = __oil_function_class_add2_rshift_sub_s16();
sl@0
  1872
	return &oil_function_class_ptr_add2_rshift_sub_s16->func;
sl@0
  1873
	}
sl@0
  1874
#endif
sl@0
  1875
sl@0
  1876
#ifdef	__SYMBIAN32__
sl@0
  1877
 
sl@0
  1878
EXPORT_C void** _oil_function_class_ptr_avg2_8xn_u8 ()	{
sl@0
  1879
	oil_function_class_ptr_avg2_8xn_u8 = __oil_function_class_avg2_8xn_u8();
sl@0
  1880
	return &oil_function_class_ptr_avg2_8xn_u8->func;
sl@0
  1881
	}
sl@0
  1882
#endif
sl@0
  1883
sl@0
  1884
#ifdef	__SYMBIAN32__
sl@0
  1885
 
sl@0
  1886
EXPORT_C void** _oil_function_class_ptr_avg2_12xn_u8 ()	{
sl@0
  1887
	oil_function_class_ptr_avg2_12xn_u8 = __oil_function_class_avg2_12xn_u8();
sl@0
  1888
	return &oil_function_class_ptr_avg2_12xn_u8->func;
sl@0
  1889
	}
sl@0
  1890
#endif
sl@0
  1891
sl@0
  1892
#ifdef	__SYMBIAN32__
sl@0
  1893
 
sl@0
  1894
EXPORT_C void** _oil_function_class_ptr_avg2_16xn_u8 ()	{
sl@0
  1895
	oil_function_class_ptr_avg2_16xn_u8 = __oil_function_class_avg2_16xn_u8();
sl@0
  1896
	return &oil_function_class_ptr_avg2_16xn_u8->func;
sl@0
  1897
	}
sl@0
  1898
#endif
sl@0
  1899
sl@0
  1900
#ifdef	__SYMBIAN32__
sl@0
  1901
 
sl@0
  1902
EXPORT_C void** _oil_function_class_ptr_lift_add_shift1 ()	{
sl@0
  1903
	oil_function_class_ptr_lift_add_shift1 = __oil_function_class_lift_add_shift1();
sl@0
  1904
	return &oil_function_class_ptr_lift_add_shift1->func;
sl@0
  1905
	}
sl@0
  1906
#endif
sl@0
  1907
sl@0
  1908
#ifdef	__SYMBIAN32__
sl@0
  1909
 
sl@0
  1910
EXPORT_C void** _oil_function_class_ptr_lift_sub_shift1 ()	{
sl@0
  1911
	oil_function_class_ptr_lift_sub_shift1 = __oil_function_class_lift_sub_shift1();
sl@0
  1912
	return &oil_function_class_ptr_lift_sub_shift1->func;
sl@0
  1913
	}
sl@0
  1914
#endif
sl@0
  1915
sl@0
  1916
#ifdef	__SYMBIAN32__
sl@0
  1917
 
sl@0
  1918
EXPORT_C void** _oil_function_class_ptr_lift_add_shift2 ()	{
sl@0
  1919
	oil_function_class_ptr_lift_add_shift2 = __oil_function_class_lift_add_shift2();
sl@0
  1920
	return &oil_function_class_ptr_lift_add_shift2->func;
sl@0
  1921
	}
sl@0
  1922
#endif
sl@0
  1923
sl@0
  1924
#ifdef	__SYMBIAN32__
sl@0
  1925
 
sl@0
  1926
EXPORT_C void** _oil_function_class_ptr_lift_sub_shift2 ()	{
sl@0
  1927
	oil_function_class_ptr_lift_sub_shift2 = __oil_function_class_lift_sub_shift2();
sl@0
  1928
	return &oil_function_class_ptr_lift_sub_shift2->func;
sl@0
  1929
	}
sl@0
  1930
#endif
sl@0
  1931
sl@0
  1932
#ifdef	__SYMBIAN32__
sl@0
  1933
 
sl@0
  1934
EXPORT_C void** _oil_function_class_ptr_lift_add_mult_shift12 ()	{
sl@0
  1935
	oil_function_class_ptr_lift_add_mult_shift12 = __oil_function_class_lift_add_mult_shift12();
sl@0
  1936
	return &oil_function_class_ptr_lift_add_mult_shift12->func;
sl@0
  1937
	}
sl@0
  1938
#endif
sl@0
  1939
sl@0
  1940
#ifdef	__SYMBIAN32__
sl@0
  1941
 
sl@0
  1942
EXPORT_C void** _oil_function_class_ptr_lift_sub_mult_shift12 ()	{
sl@0
  1943
	oil_function_class_ptr_lift_sub_mult_shift12 = __oil_function_class_lift_sub_mult_shift12();
sl@0
  1944
	return &oil_function_class_ptr_lift_sub_mult_shift12->func;
sl@0
  1945
	}
sl@0
  1946
#endif
sl@0
  1947
sl@0
  1948
#ifdef	__SYMBIAN32__
sl@0
  1949
 
sl@0
  1950
EXPORT_C void** _oil_function_class_ptr_lift_add_135 ()	{
sl@0
  1951
	oil_function_class_ptr_lift_add_135 = __oil_function_class_lift_add_135();
sl@0
  1952
	return &oil_function_class_ptr_lift_add_135->func;
sl@0
  1953
	}
sl@0
  1954
#endif
sl@0
  1955
sl@0
  1956
#ifdef	__SYMBIAN32__
sl@0
  1957
 
sl@0
  1958
EXPORT_C void** _oil_function_class_ptr_lift_sub_135 ()	{
sl@0
  1959
	oil_function_class_ptr_lift_sub_135 = __oil_function_class_lift_sub_135();
sl@0
  1960
	return &oil_function_class_ptr_lift_sub_135->func;
sl@0
  1961
	}
sl@0
  1962
#endif
sl@0
  1963