• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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  From2iToMS_16x16
26  ***********************************************************************************/
27  
From2iToMS_16x16(const LVM_INT16 * src,LVM_INT16 * dstM,LVM_INT16 * dstS,LVM_INT16 n)28  void From2iToMS_16x16( const LVM_INT16  *src,
29                               LVM_INT16  *dstM,
30                               LVM_INT16  *dstS,
31                               LVM_INT16  n )
32  {
33      LVM_INT32 temp1,left,right;
34      LVM_INT16 ii;
35      for (ii = n; ii != 0; ii--)
36      {
37          left = (LVM_INT32)*src;
38          src++;
39  
40          right = (LVM_INT32)*src;
41          src++;
42  
43          /* Compute M signal*/
44          temp1 =  (left+right)>>1;
45          *dstM = (LVM_INT16)temp1;
46          dstM++;
47  
48          /* Compute S signal*/
49          temp1 =  (left-right)>>1;
50          *dstS = (LVM_INT16)temp1;
51          dstS++;
52      }
53  
54      return;
55  }
56  
57  /**********************************************************************************/
58