1 /*
2 * Copyright (C) 2004-2010 NXP Software
3 * Copyright (C) 2010 The Android Open Source Project
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17
18 /**********************************************************************************
19 INCLUDE FILES
20 ***********************************************************************************/
21
22 #include "VectorArithmetic.h"
23
24 /**********************************************************************************
25 FUNCTION From2iToMono_32
26 ***********************************************************************************/
27
From2iToMono_32(const LVM_INT32 * src,LVM_INT32 * dst,LVM_INT16 n)28 void From2iToMono_32( const LVM_INT32 *src,
29 LVM_INT32 *dst,
30 LVM_INT16 n)
31 {
32 LVM_INT16 ii;
33 LVM_INT32 Temp;
34
35 for (ii = n; ii != 0; ii--)
36 {
37 Temp = (*src>>1);
38 src++;
39
40 Temp +=(*src>>1);
41 src++;
42
43 *dst = Temp;
44 dst++;
45 }
46
47 return;
48 }
49 #ifdef BUILD_FLOAT
From2iToMono_Float(const LVM_FLOAT * src,LVM_FLOAT * dst,LVM_INT16 n)50 void From2iToMono_Float( const LVM_FLOAT *src,
51 LVM_FLOAT *dst,
52 LVM_INT16 n)
53 {
54 LVM_INT16 ii;
55 LVM_FLOAT Temp;
56
57 for (ii = n; ii != 0; ii--)
58 {
59 Temp = (*src);
60 src++;
61
62 Temp += (*src);
63 src++;
64
65 *dst = Temp / 2.0f;
66 dst++;
67 }
68
69 return;
70 }
71 #endif
72 /**********************************************************************************/
73