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.173
     22     ANSI-C code for the Adaptive Multi-Rate - Wideband (AMR-WB) speech codec
     23     Available from http://www.3gpp.org
     24 
     25 (C) 2007, 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 
     32 
     33 
     34  Pathname: ./cpp/include/pv_amr_wb_type_defs.h
     35 
     36      Date: 12/12/2006
     37 
     38 ------------------------------------------------------------------------------
     39  REVISION HISTORY
     40 
     41 
     42  Description:
     43 ------------------------------------------------------------------------------
     44  INCLUDE DESCRIPTION
     45 
     46  This file was derived from a number of standards bodies. The type
     47  definitions below were created from some of the best practices observed
     48  in the standards bodies.
     49 
     50  This file is dependent on limits.h for defining the bit widths. In an
     51  ANSI C environment limits.h is expected to always be present and contain
     52  the following definitions:
     53 
     54      SCHAR_MIN
     55      SCHAR_MAX
     56      UCHAR_MAX
     57 
     58      INT_MAX
     59      INT_MIN
     60      UINT_MAX
     61 
     62      SHRT_MIN
     63      SHRT_MAX
     64      USHRT_MAX
     65 
     66      LONG_MIN
     67      LONG_MAX
     68      ULONG_MAX
     69 
     70 ------------------------------------------------------------------------------
     71 */
     72 
     73 #ifndef PV_AMR_WB_TYPE_DEFS_H
     74 #define PV_AMR_WB_TYPE_DEFS_H
     75 
     76 #include <stdint.h>
     77 
     78 typedef int8_t        Word8;
     79 typedef uint8_t       UWord8;
     80 
     81 /*----------------------------------------------------------------------------
     82 ; Define generic signed and unsigned int
     83 ----------------------------------------------------------------------------*/
     84 typedef signed int  Int;
     85 
     86 typedef unsigned int    UInt;
     87 
     88 /*----------------------------------------------------------------------------
     89 ; Define 16 bit signed and unsigned words
     90 ----------------------------------------------------------------------------*/
     91 
     92 #ifndef INT16_MIN
     93 #define INT16_MIN   (-32768)
     94 #endif
     95 
     96 #ifndef INT16_MAX
     97 #define INT16_MAX   32767
     98 #endif
     99 
    100 /*----------------------------------------------------------------------------
    101 ; Define 32 bit signed and unsigned words
    102 ----------------------------------------------------------------------------*/
    103 
    104 
    105 
    106 #ifndef INT32_MIN
    107 #define INT32_MIN   (-2147483647 - 1)
    108 #endif
    109 #ifndef INT32_MAX
    110 #define INT32_MAX   2147483647
    111 #endif
    112 
    113 
    114 #ifndef UINT32_MIN
    115 #define UINT32_MIN  0
    116 #endif
    117 #ifndef UINT32_MAX
    118 #define UINT32_MAX  0xffffffff
    119 #endif
    120 
    121 
    122 /*----------------------------------------------------------------------------
    123 ; Define 64 bit signed and unsigned words
    124 ----------------------------------------------------------------------------*/
    125 
    126 
    127 /*----------------------------------------------------------------------------
    128 ; Define boolean type
    129 ----------------------------------------------------------------------------*/
    130 
    131 #ifndef Flag
    132 typedef Int Flag;
    133 #endif
    134 
    135 #ifndef Bool
    136 typedef Int     Bool;
    137 #endif
    138 #ifndef FALSE
    139 #define FALSE       0
    140 #endif
    141 
    142 #ifndef TRUE
    143 #define TRUE        1
    144 #endif
    145 
    146 #ifndef OFF
    147 #define OFF     0
    148 #endif
    149 #ifndef ON
    150 #define ON      1
    151 #endif
    152 
    153 #ifndef NO
    154 #define NO      0
    155 #endif
    156 #ifndef YES
    157 #define YES     1
    158 #endif
    159 
    160 #ifndef SUCCESS
    161 #define SUCCESS     0
    162 #endif
    163 
    164 #ifndef  NULL
    165 #define  NULL       0
    166 #endif
    167 
    168 typedef int16_t int16;
    169 typedef int32_t int32;
    170 typedef int64_t int64;
    171 typedef uint8_t uint8;
    172 
    173 #endif  /* PV_AMR_WB_TYPE_DEFS_H */
    174