1 /*
2  * Copyright (c) 2016, Alliance for Open Media. All rights reserved
3  *
4  * This source code is subject to the terms of the BSD 2 Clause License and
5  * the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License
6  * was not distributed with this source code in the LICENSE file, you can
7  * obtain it at www.aomedia.org/license/software. If the Alliance for Open
8  * Media Patent License 1.0 was not distributed with this source code in the
9  * PATENTS file, you can obtain it at www.aomedia.org/license/patent.
10  */
11 
12 #ifndef AOM_AOM_MEM_INCLUDE_AOM_MEM_INTRNL_H_
13 #define AOM_AOM_MEM_INCLUDE_AOM_MEM_INTRNL_H_
14 
15 #include "config/aom_config.h"
16 
17 #define ADDRESS_STORAGE_SIZE sizeof(size_t)
18 
19 #ifndef DEFAULT_ALIGNMENT
20 #if defined(VXWORKS)
21 /*default addr alignment to use in calls to aom_* functions other than
22   aom_memalign*/
23 #define DEFAULT_ALIGNMENT 32
24 #else
25 #define DEFAULT_ALIGNMENT (2 * sizeof(void *)) /* NOLINT */
26 #endif
27 #endif
28 
29 /*returns an addr aligned to the byte boundary specified by align*/
30 #define align_addr(addr, align) \
31   (void *)(((size_t)(addr) + ((align)-1)) & ~(size_t)((align)-1))
32 
33 #endif  // AOM_AOM_MEM_INCLUDE_AOM_MEM_INTRNL_H_
34