Home | History | Annotate | Download | only in src
      1 /* ------------------------------------------------------------------
      2  * Copyright (C) 1998-2009 PacketVideo
      3  *
      4  * Licensed under the Apache License, Version 2.0 (the "License");
      5  * you may not use this file except in compliance with the License.
      6  * You may obtain a copy of the License at
      7  *
      8  *      http://www.apache.org/licenses/LICENSE-2.0
      9  *
     10  * Unless required by applicable law or agreed to in writing, software
     11  * distributed under the License is distributed on an "AS IS" BASIS,
     12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
     13  * express or implied.
     14  * See the License for the specific language governing permissions
     15  * and limitations under the License.
     16  * -------------------------------------------------------------------
     17  */
     18 /****************************************************************************************
     19 Portions of this file are derived from the following 3GPP standard:
     20 
     21     3GPP TS 26.073
     22     ANSI-C code for the Adaptive Multi-Rate (AMR) speech codec
     23     Available from http://www.3gpp.org
     24 
     25 (C) 2004, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TTA, TTC)
     26 Permission to distribute, modify and use this file under the standard license
     27 terms listed above has been obtained from the copyright holder.
     28 ****************************************************************************************/
     29 /*
     30 
     31  Filename: /audio/gsm_amr/c/src/gray_tbl.c
     32 
     33 ------------------------------------------------------------------------------
     34  REVISION HISTORY
     35 
     36  Description: Added #ifdef __cplusplus and removed "extern" from table
     37               definition.
     38 
     39  Description: Put "extern" back.
     40 
     41  Who:                       Date:
     42  Description:
     43 
     44 ------------------------------------------------------------------------------
     45  MODULE DESCRIPTION
     46 
     47  This file contains the declaration for the gray encoding and decoding tables,
     48  gray_tbl[] and dgray_tbl[] used by the c1035pf and d1035pf module
     49  respectively.
     50 
     51 ------------------------------------------------------------------------------
     52 */
     53 
     54 /*----------------------------------------------------------------------------
     55 ; INCLUDES
     56 ----------------------------------------------------------------------------*/
     57 #include "typedef.h"
     58 
     59 /*--------------------------------------------------------------------------*/
     60 #ifdef __cplusplus
     61 extern "C"
     62 {
     63 #endif
     64 
     65     /*----------------------------------------------------------------------------
     66     ; MACROS
     67     ; [Define module specific macros here]
     68     ----------------------------------------------------------------------------*/
     69 
     70     /*----------------------------------------------------------------------------
     71     ; DEFINES
     72     ; [Include all pre-processor statements here. Include conditional
     73     ; compile variables also.]
     74     ----------------------------------------------------------------------------*/
     75 
     76     /*----------------------------------------------------------------------------
     77     ; LOCAL FUNCTION DEFINITIONS
     78     ; [List function prototypes here]
     79     ----------------------------------------------------------------------------*/
     80 
     81     /*----------------------------------------------------------------------------
     82     ; LOCAL VARIABLE DEFINITIONS
     83     ; [Variable declaration - defined here and used outside this module]
     84     ----------------------------------------------------------------------------*/
     85 
     86     extern const Word16 gray[];
     87     extern const Word16 dgray[];
     88     const Word16 gray[8]  = {0, 1, 3, 2, 6, 4, 5, 7};
     89     const Word16 dgray[8] = {0, 1, 3, 2, 5, 6, 4, 7};
     90 
     91     /*--------------------------------------------------------------------------*/
     92 #ifdef __cplusplus
     93 }
     94 #endif
     95 
     96 /*
     97 ------------------------------------------------------------------------------
     98  FUNCTION NAME:
     99 ------------------------------------------------------------------------------
    100  INPUT AND OUTPUT DEFINITIONS
    101 
    102  Inputs:
    103     None
    104 
    105  Outputs:
    106     None
    107 
    108  Returns:
    109     None
    110 
    111  Global Variables Used:
    112     None
    113 
    114  Local Variables Needed:
    115     None
    116 
    117 ------------------------------------------------------------------------------
    118  FUNCTION DESCRIPTION
    119 
    120  None
    121 
    122 ------------------------------------------------------------------------------
    123  REQUIREMENTS
    124 
    125  None
    126 
    127 ------------------------------------------------------------------------------
    128  REFERENCES
    129 
    130  [1] gray.tab,  UMTS GSM AMR speech codec, R99 - Version 3.2.0, March 2, 2001
    131 
    132 ------------------------------------------------------------------------------
    133  PSEUDO-CODE
    134 
    135 
    136 ------------------------------------------------------------------------------
    137  RESOURCES USED [optional]
    138 
    139  When the code is written for a specific target processor the
    140  the resources used should be documented below.
    141 
    142  HEAP MEMORY USED: x bytes
    143 
    144  STACK MEMORY USED: x bytes
    145 
    146  CLOCK CYCLES: (cycle count equation for this function) + (variable
    147                 used to represent cycle count for each subroutine
    148                 called)
    149      where: (cycle count variable) = cycle count for [subroutine
    150                                      name]
    151 
    152 ------------------------------------------------------------------------------
    153  CAUTION [optional]
    154  [State any special notes, constraints or cautions for users of this function]
    155 
    156 ------------------------------------------------------------------------------
    157 */
    158 
    159 /*----------------------------------------------------------------------------
    160 ; FUNCTION CODE
    161 ----------------------------------------------------------------------------*/
    162 
    163