Skia SkEndianSwap16
226 /* 227 * Get a short from a buffer 228 * This method is unsafe, the caller is responsible for performing a check 229 */ 230 inline uint16_t get_short(uint8_t* buffer, uint32_t i) { 231 uint16_t result; 232 memcpy(&result, &(buffer[i]), 2); 233 #ifdef SK_CPU_BENDIAN 234 return SkEndianSwap16(result); <===== 235 #else 236 return result; 237 #endif 238 }
Cross Reference: /external/skia/src/codec/SkCodecPriv.h
ヘッダーは、これ。
8 #ifndef SkCodecPriv_DEFINED 9 #define SkCodecPriv_DEFINED 10 11 #include "SkColorPriv.h" 12 #include "SkColorTable.h" 13 #include "SkImageInfo.h" 14 #include "SkTypes.h"
8 #ifndef SkTypes_DEFINED 9 #define SkTypes_DEFINED 10 11 // IWYU pragma: begin_exports 12 #include "SkPreConfig.h" 13 #include "SkUserConfig.h" 14 #include "SkPostConfig.h" 15 #include <stddef.h> 16 #include <stdint.h> 17 18 #if defined(SK_ARM_HAS_NEON) 19 #include <arm_neon.h> 20 #elif SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SSE2 21 #include <immintrin.h> 22 #endif 23 // IWYU pragma: end_exports 24 25 #include <string.h>
Cross Reference: /external/skia/include/core/SkTypes.h
#define _LITTLE_ENDIAN 1234 #define _BIG_ENDIAN 4321 #define _PDP_ENDIAN 3412 #define _BYTE_ORDER _LITTLE_ENDIAN #define __LITTLE_ENDIAN_BITFIELD #ifndef __LITTLE_ENDIAN #define __LITTLE_ENDIAN _LITTLE_ENDIAN #endif #ifndef __BIG_ENDIAN #define __BIG_ENDIAN _BIG_ENDIAN #endif #define __BYTE_ORDER _BYTE_ORDER
Cross Reference: /external/skia/include/core/SkPreConfig.h
プリプロセッサオプションに、__BIG_ENDIANを追加したらコンパイルできるようになった。