Arm-2D
2D Image Processing Library for Cortex-M Processors
arm_2d_op.h
1
/*
2
* Copyright (C) 2022 Arm Limited or its affiliates. All rights reserved.
3
*
4
* SPDX-License-Identifier: Apache-2.0
5
*
6
* Licensed under the Apache License, Version 2.0 (the License); you may
7
* not use this file except in compliance with the License.
8
* You may obtain a copy of the License at
9
*
10
* www.apache.org/licenses/LICENSE-2.0
11
*
12
* Unless required by applicable law or agreed to in writing, software
13
* distributed under the License is distributed on an AS IS BASIS, WITHOUT
14
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
* See the License for the specific language governing permissions and
16
* limitations under the License.
17
*/
18
19
/* ----------------------------------------------------------------------
20
* Project: Arm-2D Library
21
* Title: #include "arm_2d.h"
22
* Description: Public header file to contain the all avaialble Arm-2D
23
* interface header files
24
*
25
* $Date: 17. May 2022
26
* $Revision: V.1.2.0
27
*
28
* Target Processor: Cortex-M cores
29
* -------------------------------------------------------------------- */
30
31
#ifndef __ARM_2D_OP_H__
32
#define __ARM_2D_OP_H__
33
34
/*============================ INCLUDES ======================================*/
35
#include "arm_2d_types.h"
36
37
#ifdef __cplusplus
38
extern
"C"
{
39
#endif
40
41
/*============================ MACROS ========================================*/
42
#define LOW_LEVEL_IO__ARM_2D_IO_NONE (*(void *)NULL)
43
44
/*============================ MACROFIED FUNCTIONS ===========================*/
45
/*============================ TYPES =========================================*/
46
/*============================ GLOBAL VARIABLES ==============================*/
47
48
/*----------------------------------------------------------------------------*
49
* Misc *
50
*----------------------------------------------------------------------------*/
51
extern
52
const
__arm_2d_op_info_t
ARM_2D_OP_BARRIER;
53
54
/*----------------------------------------------------------------------------*
55
* Basic Tile Operation (Core) *
56
*----------------------------------------------------------------------------*/
57
extern
58
const
__arm_2d_op_info_t
ARM_2D_OP_TILE_COPY_C8BIT;
59
60
extern
61
const
__arm_2d_op_info_t
ARM_2D_OP_TILE_COPY_RGB16;
62
63
extern
64
const
__arm_2d_op_info_t
ARM_2D_OP_TILE_COPY_RGB32;
65
66
extern
67
const
__arm_2d_op_info_t
ARM_2D_OP_TILE_COPY_ONLY_C8BIT;
68
69
extern
70
const
__arm_2d_op_info_t
ARM_2D_OP_TILE_COPY_ONLY_RGB16;
71
72
extern
73
const
__arm_2d_op_info_t
ARM_2D_OP_TILE_COPY_ONLY_RGB32;
74
75
extern
76
const
__arm_2d_op_info_t
ARM_2D_OP_TILE_COPY_X_MIRROR_C8BIT;
77
78
extern
79
const
__arm_2d_op_info_t
ARM_2D_OP_TILE_COPY_X_MIRROR_RGB16;
80
81
extern
82
const
__arm_2d_op_info_t
ARM_2D_OP_TILE_COPY_X_MIRROR_RGB32;
83
84
extern
85
const
__arm_2d_op_info_t
ARM_2D_OP_TILE_COPY_Y_MIRROR_C8BIT;
86
87
extern
88
const
__arm_2d_op_info_t
ARM_2D_OP_TILE_COPY_Y_MIRROR_RGB16;
89
90
extern
91
const
__arm_2d_op_info_t
ARM_2D_OP_TILE_COPY_Y_MIRROR_RGB32;
92
93
extern
94
const
__arm_2d_op_info_t
ARM_2D_OP_TILE_COPY_XY_MIRROR_C8BIT;
95
96
extern
97
const
__arm_2d_op_info_t
ARM_2D_OP_TILE_COPY_XY_MIRROR_RGB16;
98
99
extern
100
const
__arm_2d_op_info_t
ARM_2D_OP_TILE_COPY_XY_MIRROR_RGB32;
101
102
extern
103
const
__arm_2d_op_info_t
ARM_2D_OP_TILE_FILL_ONLY_C8BIT;
104
105
extern
106
const
__arm_2d_op_info_t
ARM_2D_OP_TILE_FILL_ONLY_RGB16;
107
108
extern
109
const
__arm_2d_op_info_t
ARM_2D_OP_TILE_FILL_ONLY_RGB32;
110
111
extern
112
const
__arm_2d_op_info_t
ARM_2D_OP_TILE_FILL_X_MIRROR_C8BIT;
113
114
extern
115
const
__arm_2d_op_info_t
ARM_2D_OP_TILE_FILL_X_MIRROR_RGB16;
116
117
extern
118
const
__arm_2d_op_info_t
ARM_2D_OP_TILE_FILL_X_MIRROR_RGB32;
119
120
extern
121
const
__arm_2d_op_info_t
ARM_2D_OP_TILE_FILL_Y_MIRROR_C8BIT;
122
123
extern
124
const
__arm_2d_op_info_t
ARM_2D_OP_TILE_FILL_Y_MIRROR_RGB16;
125
126
extern
127
const
__arm_2d_op_info_t
ARM_2D_OP_TILE_FILL_Y_MIRROR_RGB32;
128
129
extern
130
const
__arm_2d_op_info_t
ARM_2D_OP_TILE_FILL_XY_MIRROR_C8BIT;
131
132
extern
133
const
__arm_2d_op_info_t
ARM_2D_OP_TILE_FILL_XY_MIRROR_RGB16;
134
135
extern
136
const
__arm_2d_op_info_t
ARM_2D_OP_TILE_FILL_XY_MIRROR_RGB32;
137
138
extern
139
const
__arm_2d_op_info_t
ARM_2D_OP_TILE_COPY_WITH_COLOUR_KEYING_C8BIT;
140
141
extern
142
const
__arm_2d_op_info_t
ARM_2D_OP_TILE_COPY_WITH_COLOUR_KEYING_RGB16;
143
144
extern
145
const
__arm_2d_op_info_t
ARM_2D_OP_TILE_COPY_WITH_COLOUR_KEYING_RGB32;
146
147
148
/*----------------------------------------------------------------------------*
149
* Alpha-Blending and Masks *
150
*----------------------------------------------------------------------------*/
151
extern
152
const
__arm_2d_op_info_t
ARM_2D_OP_FILL_COLOUR_WITH_MASK_GRAY8;
153
154
extern
155
const
__arm_2d_op_info_t
ARM_2D_OP_FILL_COLOUR_WITH_MASK_RGB565;
156
157
extern
158
const
__arm_2d_op_info_t
ARM_2D_OP_FILL_COLOUR_WITH_MASK_CCCN888;
159
160
extern
161
const
__arm_2d_op_info_t
ARM_2D_OP_FILL_COLOUR_WITH_MASK_AND_OPACITY_GRAY8;
162
163
extern
164
const
__arm_2d_op_info_t
ARM_2D_OP_FILL_COLOUR_WITH_MASK_AND_OPACITY_RGB565;
165
166
extern
167
const
__arm_2d_op_info_t
ARM_2D_OP_FILL_COLOUR_WITH_MASK_AND_OPACITY_CCCN888;
168
169
extern
170
const
__arm_2d_op_info_t
ARM_2D_OP_ALPHA_BLENDING_GRAY8;
171
172
extern
173
const
__arm_2d_op_info_t
ARM_2D_OP_ALPHA_BLENDING_RGB565;
174
175
extern
176
const
__arm_2d_op_info_t
ARM_2D_OP_ALPHA_BLENDING_RGB888;
177
178
extern
179
const
__arm_2d_op_info_t
ARM_2D_OP_ALPHA_BLENDING_WITH_COLOUR_KEYING_GRAY8;
180
181
extern
182
const
__arm_2d_op_info_t
ARM_2D_OP_ALPHA_BLENDING_WITH_COLOUR_KEYING_RGB565;
183
184
extern
185
const
__arm_2d_op_info_t
ARM_2D_OP_ALPHA_BLENDING_WITH_COLOUR_KEYING_RGB888;
186
187
extern
188
const
__arm_2d_op_info_t
ARM_2D_OP_ALPHA_COLOUR_FILL_GRAY8;
189
190
extern
191
const
__arm_2d_op_info_t
ARM_2D_OP_ALPHA_COLOUR_FILL_RGB565;
192
193
extern
194
const
__arm_2d_op_info_t
ARM_2D_OP_ALPHA_COLOUR_FILL_RGB888;
195
196
extern
197
const
__arm_2d_op_info_t
ARM_2D_OP_TILE_COPY_WITH_MASK_GRAY8;
198
199
extern
200
const
__arm_2d_op_info_t
ARM_2D_OP_TILE_COPY_WITH_MASK_RGB565;
201
202
extern
203
const
__arm_2d_op_info_t
ARM_2D_OP_TILE_COPY_WITH_MASK_CCCN888;
204
205
extern
206
const
__arm_2d_op_info_t
ARM_2D_OP_TILE_COPY_WITH_SRC_MASK_GRAY8;
207
208
extern
209
const
__arm_2d_op_info_t
ARM_2D_OP_TILE_COPY_WITH_SRC_MASK_RGB565;
210
211
extern
212
const
__arm_2d_op_info_t
ARM_2D_OP_TILE_COPY_WITH_SRC_MASK_CCCN888;
213
214
extern
215
const
__arm_2d_op_info_t
ARM_2D_OP_TILE_COPY_WITH_DES_MASK_GRAY8;
216
217
extern
218
const
__arm_2d_op_info_t
ARM_2D_OP_TILE_COPY_WITH_DES_MASK_RGB565;
219
220
extern
221
const
__arm_2d_op_info_t
ARM_2D_OP_TILE_COPY_WITH_DES_MASK_CCCN888;
222
223
/*----------------------------------------------------------------------------*
224
* Basic Drawing *
225
*----------------------------------------------------------------------------*/
226
extern
227
const
__arm_2d_op_info_t
ARM_2D_OP_FILL_COLOUR_C8BIT;
228
229
extern
230
const
__arm_2d_op_info_t
ARM_2D_OP_FILL_COLOUR_RGB16;
231
232
extern
233
const
__arm_2d_op_info_t
ARM_2D_OP_FILL_COLOUR_RGB32;
234
235
extern
236
const
__arm_2d_op_info_t
ARM_2D_OP_DRAW_POINT_C8BIT;
237
238
extern
239
const
__arm_2d_op_info_t
ARM_2D_OP_DRAW_POINT_RGB16;
240
241
extern
242
const
__arm_2d_op_info_t
ARM_2D_OP_DRAW_POINT_RGB32;
243
244
extern
245
const
__arm_2d_op_info_t
ARM_2D_OP_DRAW_PATTERN_C8BIT;
246
247
extern
248
const
__arm_2d_op_info_t
ARM_2D_OP_DRAW_PATTERN_RGB16;
249
250
extern
251
const
__arm_2d_op_info_t
ARM_2D_OP_DRAW_PATTERN_RGB32;
252
253
/*----------------------------------------------------------------------------*
254
* Colour Conversion *
255
*----------------------------------------------------------------------------*/
256
extern
257
const
__arm_2d_op_info_t
ARM_2D_OP_CONVERT_TO_GRAY8;
258
259
extern
260
const
__arm_2d_op_info_t
ARM_2D_OP_CONVERT_TO_RGB565;
261
262
extern
263
const
__arm_2d_op_info_t
ARM_2D_OP_CONVERT_TO_RGB888;
264
265
/*----------------------------------------------------------------------------*
266
* Transform *
267
*----------------------------------------------------------------------------*/
268
extern
269
const
__arm_2d_op_info_t
ARM_2D_OP_TRANSFORM_GRAY8;
270
271
extern
272
const
__arm_2d_op_info_t
ARM_2D_OP_TRANSFORM_RGB565;
273
274
extern
275
const
__arm_2d_op_info_t
ARM_2D_OP_TRANSFORM_CCCN888;
276
277
extern
278
const
__arm_2d_op_info_t
ARM_2D_OP_TRANSFORM_WITH_OPACITY_GRAY8;
279
280
extern
281
const
__arm_2d_op_info_t
ARM_2D_OP_TRANSFORM_WITH_OPACITY_RGB565;
282
283
extern
284
const
__arm_2d_op_info_t
ARM_2D_OP_TRANSFORM_WITH_OPACITY_CCCN888;
285
286
extern
287
const
__arm_2d_op_info_t
ARM_2D_OP_TRANSFORM_WITH_SRC_MSK_GRAY8;
288
289
extern
290
const
__arm_2d_op_info_t
ARM_2D_OP_TRANSFORM_WITH_SRC_MSK_RGB565;
291
292
extern
293
const
__arm_2d_op_info_t
ARM_2D_OP_TRANSFORM_WITH_SRC_MSK_CCCN888;
294
295
extern
296
const
__arm_2d_op_info_t
ARM_2D_OP_TRANSFORM_WITH_SRC_MSK_AND_OPACITY_GRAY8;
297
298
extern
299
const
__arm_2d_op_info_t
ARM_2D_OP_TRANSFORM_WITH_SRC_MSK_AND_OPACITY_RGB565;
300
301
extern
302
const
__arm_2d_op_info_t
ARM_2D_OP_TRANSFORM_WITH_SRC_MSK_AND_OPACITY_CCCN888;
303
304
/*============================ PROTOTYPES ====================================*/
305
306
307
#ifdef __cplusplus
308
}
309
#endif
310
311
312
#endif
Library
Include
arm_2d_op.h