OpenJPH
Open-source implementation of JPEG2000 Part-15
Loading...
Searching...
No Matches
ojph_mem.c
Go to the documentation of this file.
1
//***************************************************************************/
2
// This software is released under the 2-Clause BSD license, included
3
// below.
4
//
5
// Copyright (c) 2025, Aous Naman
6
// Copyright (c) 2025, Kakadu Software Pty Ltd, Australia
7
// Copyright (c) 2025, The University of New South Wales, Australia
8
//
9
// Redistribution and use in source and binary forms, with or without
10
// modification, are permitted provided that the following conditions are
11
// met:
12
//
13
// 1. Redistributions of source code must retain the above copyright
14
// notice, this list of conditions and the following disclaimer.
15
//
16
// 2. Redistributions in binary form must reproduce the above copyright
17
// notice, this list of conditions and the following disclaimer in the
18
// documentation and/or other materials provided with the distribution.
19
//
20
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
21
// IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
22
// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
23
// PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24
// HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
26
// TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
27
// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
28
// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
29
// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
30
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31
//***************************************************************************/
32
// This file is part of the OpenJPH software implementation.
33
// File: ojph_mem.c
34
// Author: Aous Naman
35
// Date: 17 October 2025
36
//***************************************************************************/
37
38
#include <stdlib.h>
39
41
// OS detection definitions for C only
43
#if (defined WIN32) || (defined _WIN32) || (defined _WIN64)
44
#define OJPH_OS_WINDOWS
45
#elif (defined __APPLE__)
46
#define OJPH_OS_APPLE
47
#elif (defined __ANDROID__)
48
#define OJPH_OS_ANDROID
49
#elif (defined __linux)
50
#define OJPH_OS_LINUX
51
#endif
52
54
// Defines for dll in C only
56
#if defined(OJPH_OS_WINDOWS) && defined(OJPH_BUILD_SHARED_LIBRARY)
57
#define OJPH_EXPORT __declspec(dllexport)
58
#else
59
#define OJPH_EXPORT
60
#endif
61
63
#ifdef OJPH_OS_WINDOWS
64
OJPH_EXPORT
void
*
ojph_aligned_malloc
(
size_t
alignment,
size_t
size)
65
{
66
return
_aligned_malloc(size, alignment);
67
}
68
69
OJPH_EXPORT
void
ojph_aligned_free
(
void
* pointer)
70
{
71
_aligned_free(pointer);
72
}
73
#else
74
void
*
ojph_aligned_malloc
(
size_t
alignment,
size_t
size)
75
{
76
return
aligned_alloc(alignment, size);
77
}
78
79
void
ojph_aligned_free
(
void
* pointer)
80
{
81
free(pointer);
82
}
83
#endif
OJPH_EXPORT
#define OJPH_EXPORT
Definition
ojph_arch.h:119
ojph_aligned_malloc
void * ojph_aligned_malloc(size_t alignment, size_t size)
Definition
ojph_mem.c:74
ojph_aligned_free
void ojph_aligned_free(void *pointer)
Definition
ojph_mem.c:79
src
core
others
ojph_mem.c
Generated by
1.15.0