1dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber/* ------------------------------------------------------------------ 2dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber * Copyright (C) 1998-2009 PacketVideo 3dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber * 4dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber * Licensed under the Apache License, Version 2.0 (the "License"); 5dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber * you may not use this file except in compliance with the License. 6dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber * You may obtain a copy of the License at 7dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber * 8dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber * http://www.apache.org/licenses/LICENSE-2.0 9dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber * 10dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber * Unless required by applicable law or agreed to in writing, software 11dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber * distributed under the License is distributed on an "AS IS" BASIS, 12dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 13dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber * express or implied. 14dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber * See the License for the specific language governing permissions 15dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber * and limitations under the License. 16dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber * ------------------------------------------------------------------- 17dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber */ 18dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber/* 19dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber------------------------------------------------------------------------------ 20dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber Pathname: ./c/include/pv_audio_type_defs.h 21dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber 22dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber------------------------------------------------------------------------------ 23dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber REVISION HISTORY 24dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber 25dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber Description: Removed errant semicolons from #define statements 26dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber 27dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber Description: 28dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber 1. Modified ifndef STD_TYPE_DEFS_H with 29dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber #ifndef PV_AUDIO_TYPE_DEFS_H to avoid double definition 30dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber if file was already included 31dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber 2. Merged cai if-def structures and C++ definition 32dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber 3. Updated copyright notice 33dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber 34dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber Description: Added dependency on OSCL libraries 35dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber 36dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber Description: 37dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber------------------------------------------------------------------------------ 38dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber INCLUDE DESCRIPTION 39dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber 40dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber This file was derived from a number of standards bodies. The type 41dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber definitions below were created from some of the best practices observed 42dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber in the standards bodies. 43dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber 44dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber This file is dependent on limits.h for defining the bit widths. In an 45dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber ANSI C environment limits.h is expected to always be present and contain 46dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber the following definitions: 47dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber 48dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber SCHAR_MIN 49dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber SCHAR_MAX 50dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber UCHAR_MAX 51dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber 52dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber INT_MAX 53dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber INT_MIN 54dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber UINT_MAX 55dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber 56dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber SHRT_MIN 57dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber SHRT_MAX 58dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber USHRT_MAX 59dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber 60dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber LONG_MIN 61dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber LONG_MAX 62dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber ULONG_MAX 63dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber 64dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber------------------------------------------------------------------------------ 65dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber*/ 66dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber 67dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#ifndef PV_AUDIO_TYPE_DEFS_H 68dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#define PV_AUDIO_TYPE_DEFS_H 69dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber 70dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#include <stdint.h> 71dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber 72dacaa73ae5010b66f4224d70a520945e5b653544Andreas Hubertypedef int8_t Char; 73dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber 74dacaa73ae5010b66f4224d70a520945e5b653544Andreas Hubertypedef uint8_t UChar; 75dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber 76dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber 77dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber 78dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber/*---------------------------------------------------------------------------- 79dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber; Define generic signed and unsigned int 80dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber----------------------------------------------------------------------------*/ 81dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#ifndef Int 82dacaa73ae5010b66f4224d70a520945e5b653544Andreas Hubertypedef signed int Int; 83dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#endif 84dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber 85dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#ifndef UInt 86dacaa73ae5010b66f4224d70a520945e5b653544Andreas Hubertypedef unsigned int UInt; 87dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#endif 88dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber 89dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber 90dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber/*---------------------------------------------------------------------------- 91dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber; Define 16 bit signed and unsigned words 92dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber----------------------------------------------------------------------------*/ 93dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber 94dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber 95dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#ifndef Int16 96dacaa73ae5010b66f4224d70a520945e5b653544Andreas Hubertypedef int16_t Int16; 97dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#endif 98dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber 99dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#ifndef INT16_MIN 100dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#define INT16_MIN (-32768) 101dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#endif 102dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber 103dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#ifndef INT16_MAX 104dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#define INT16_MAX 32767 105dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#endif 106dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber 107dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#ifndef UInt16 108dacaa73ae5010b66f4224d70a520945e5b653544Andreas Hubertypedef uint16_t UInt16; 109dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber 110dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#endif 111dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber 112dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber 113dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber/*---------------------------------------------------------------------------- 114dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber; Define 32 bit signed and unsigned words 115dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber----------------------------------------------------------------------------*/ 116dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber 117dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber 118dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#ifndef Int32 119dacaa73ae5010b66f4224d70a520945e5b653544Andreas Hubertypedef int32_t Int32; 120dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#endif 121dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber 122dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#ifndef INT32_MIN 123dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#define INT32_MIN (-2147483647 - 1) 124dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#endif 125dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#ifndef INT32_MAX 126dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#define INT32_MAX 2147483647 127dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#endif 128dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber 129dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#ifndef UInt32 130dacaa73ae5010b66f4224d70a520945e5b653544Andreas Hubertypedef uint32_t UInt32; 131dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#endif 132dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber 133dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#ifndef UINT32_MIN 134dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#define UINT32_MIN 0 135dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#endif 136dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#ifndef UINT32_MAX 137dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#define UINT32_MAX 0xffffffff 138dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#endif 139dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber 140dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber 141dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber/*---------------------------------------------------------------------------- 142dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber; Define 64 bit signed and unsigned words 143dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber----------------------------------------------------------------------------*/ 144dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber 145dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber 146dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber/*---------------------------------------------------------------------------- 147dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber; Define boolean type 148dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber----------------------------------------------------------------------------*/ 149dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#ifndef Bool 150dacaa73ae5010b66f4224d70a520945e5b653544Andreas Hubertypedef Int Bool; 151dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#endif 152dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#ifndef FALSE 153dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#define FALSE 0 154dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#endif 155dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber 156dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#ifndef TRUE 157dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#define TRUE 1 158dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#endif 159dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber 160dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#ifndef OFF 161dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#define OFF 0 162dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#endif 163dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#ifndef ON 164dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#define ON 1 165dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#endif 166dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber 167dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#ifndef NO 168dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#define NO 0 169dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#endif 170dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#ifndef YES 171dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#define YES 1 172dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#endif 173dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber 174dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#ifndef SUCCESS 175dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#define SUCCESS 0 176dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#endif 177dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber 178dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#ifndef NULL 179dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#define NULL 0 180dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#endif 181dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber 182dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber 183dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#endif /* PV_AUDIO_TYPE_DEFS_H */ 184