vpx_integer.h revision 90d3ed91ae9228e1c8bab561b6138d4cb8c1e4fd
190d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber/* 290d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber * Copyright (c) 2010 The VP8 project authors. All Rights Reserved. 390d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber * 490d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber * Use of this source code is governed by a BSD-style license and patent 590d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber * grant that can be found in the LICENSE file in the root of the source 690d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber * tree. All contributing project authors may be found in the AUTHORS 790d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber * file in the root of the source tree. 890d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber */ 990d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber 1090d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber 1190d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber#ifndef VPX_INTEGER_H 1290d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber#define VPX_INTEGER_H 1390d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber 1490d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber/* get ptrdiff_t, size_t, wchar_t, NULL */ 1590d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber#include <stddef.h> 1690d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber 1790d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber#if defined(HAVE_STDINT_H) && HAVE_STDINT_H 1890d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber#if defined(__cplusplus) && !defined(__STDC_FORMAT_MACROS) 1990d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber#define __STDC_FORMAT_MACROS 2090d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber#endif 2190d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber#include <stdint.h> 2290d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber#include <inttypes.h> 2390d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber#else 2490d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Hubertypedef signed char int8_t; 2590d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Hubertypedef signed short int16_t; 2690d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Hubertypedef signed int int32_t; 2790d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber 2890d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Hubertypedef unsigned char uint8_t; 2990d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Hubertypedef unsigned short uint16_t; 3090d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Hubertypedef unsigned int uint32_t; 3190d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber 3290d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber#if defined(_MSC_VER) 3390d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Hubertypedef signed __int64 int64_t; 3490d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Hubertypedef unsigned __int64 uint64_t; 3590d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber#define PRId64 "I64d" 3690d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber#endif 3790d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber 3890d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber#ifdef HAVE_ARMV6 3990d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Hubertypedef unsigned int int_fast16_t; 4090d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber#else 4190d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Hubertypedef signed short int_fast16_t; 4290d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber#endif 4390d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Hubertypedef signed char int_fast8_t; 4490d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Hubertypedef unsigned char uint_fast8_t; 4590d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber 4690d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber#ifndef _UINTPTR_T_DEFINED 4790d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Hubertypedef unsigned int uintptr_t; 4890d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber#endif 4990d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber 5090d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber#endif 5190d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber 5290d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber#endif 53