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
38extern "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 *----------------------------------------------------------------------------*/
51extern
52const __arm_2d_op_info_t ARM_2D_OP_BARRIER;
53
54/*----------------------------------------------------------------------------*
55 * Basic Tile Operation (Core) *
56 *----------------------------------------------------------------------------*/
57extern
58const __arm_2d_op_info_t ARM_2D_OP_TILE_COPY_C8BIT;
59
60extern
61const __arm_2d_op_info_t ARM_2D_OP_TILE_COPY_RGB16;
62
63extern
64const __arm_2d_op_info_t ARM_2D_OP_TILE_COPY_RGB32;
65
66extern
67const __arm_2d_op_info_t ARM_2D_OP_TILE_COPY_ONLY_C8BIT;
68
69extern
70const __arm_2d_op_info_t ARM_2D_OP_TILE_COPY_ONLY_RGB16;
71
72extern
73const __arm_2d_op_info_t ARM_2D_OP_TILE_COPY_ONLY_RGB32;
74
75extern
76const __arm_2d_op_info_t ARM_2D_OP_TILE_COPY_X_MIRROR_C8BIT;
77
78extern
79const __arm_2d_op_info_t ARM_2D_OP_TILE_COPY_X_MIRROR_RGB16;
80
81extern
82const __arm_2d_op_info_t ARM_2D_OP_TILE_COPY_X_MIRROR_RGB32;
83
84extern
85const __arm_2d_op_info_t ARM_2D_OP_TILE_COPY_Y_MIRROR_C8BIT;
86
87extern
88const __arm_2d_op_info_t ARM_2D_OP_TILE_COPY_Y_MIRROR_RGB16;
89
90extern
91const __arm_2d_op_info_t ARM_2D_OP_TILE_COPY_Y_MIRROR_RGB32;
92
93extern
94const __arm_2d_op_info_t ARM_2D_OP_TILE_COPY_XY_MIRROR_C8BIT;
95
96extern
97const __arm_2d_op_info_t ARM_2D_OP_TILE_COPY_XY_MIRROR_RGB16;
98
99extern
100const __arm_2d_op_info_t ARM_2D_OP_TILE_COPY_XY_MIRROR_RGB32;
101
102extern
103const __arm_2d_op_info_t ARM_2D_OP_TILE_FILL_ONLY_C8BIT;
104
105extern
106const __arm_2d_op_info_t ARM_2D_OP_TILE_FILL_ONLY_RGB16;
107
108extern
109const __arm_2d_op_info_t ARM_2D_OP_TILE_FILL_ONLY_RGB32;
110
111extern
112const __arm_2d_op_info_t ARM_2D_OP_TILE_FILL_X_MIRROR_C8BIT;
113
114extern
115const __arm_2d_op_info_t ARM_2D_OP_TILE_FILL_X_MIRROR_RGB16;
116
117extern
118const __arm_2d_op_info_t ARM_2D_OP_TILE_FILL_X_MIRROR_RGB32;
119
120extern
121const __arm_2d_op_info_t ARM_2D_OP_TILE_FILL_Y_MIRROR_C8BIT;
122
123extern
124const __arm_2d_op_info_t ARM_2D_OP_TILE_FILL_Y_MIRROR_RGB16;
125
126extern
127const __arm_2d_op_info_t ARM_2D_OP_TILE_FILL_Y_MIRROR_RGB32;
128
129extern
130const __arm_2d_op_info_t ARM_2D_OP_TILE_FILL_XY_MIRROR_C8BIT;
131
132extern
133const __arm_2d_op_info_t ARM_2D_OP_TILE_FILL_XY_MIRROR_RGB16;
134
135extern
136const __arm_2d_op_info_t ARM_2D_OP_TILE_FILL_XY_MIRROR_RGB32;
137
138extern
139const __arm_2d_op_info_t ARM_2D_OP_TILE_COPY_WITH_COLOUR_KEYING_C8BIT;
140
141extern
142const __arm_2d_op_info_t ARM_2D_OP_TILE_COPY_WITH_COLOUR_KEYING_RGB16;
143
144extern
145const __arm_2d_op_info_t ARM_2D_OP_TILE_COPY_WITH_COLOUR_KEYING_RGB32;
146
147
148/*----------------------------------------------------------------------------*
149 * Alpha-Blending and Masks *
150 *----------------------------------------------------------------------------*/
151extern
152const __arm_2d_op_info_t ARM_2D_OP_FILL_COLOUR_WITH_MASK_GRAY8;
153
154extern
155const __arm_2d_op_info_t ARM_2D_OP_FILL_COLOUR_WITH_MASK_RGB565;
156
157extern
158const __arm_2d_op_info_t ARM_2D_OP_FILL_COLOUR_WITH_MASK_CCCN888;
159
160extern
161const __arm_2d_op_info_t ARM_2D_OP_FILL_COLOUR_WITH_MASK_AND_OPACITY_GRAY8;
162
163extern
164const __arm_2d_op_info_t ARM_2D_OP_FILL_COLOUR_WITH_MASK_AND_OPACITY_RGB565;
165
166extern
167const __arm_2d_op_info_t ARM_2D_OP_FILL_COLOUR_WITH_MASK_AND_OPACITY_CCCN888;
168
169extern
170const __arm_2d_op_info_t ARM_2D_OP_ALPHA_BLENDING_GRAY8;
171
172extern
173const __arm_2d_op_info_t ARM_2D_OP_ALPHA_BLENDING_RGB565;
174
175extern
176const __arm_2d_op_info_t ARM_2D_OP_ALPHA_BLENDING_RGB888;
177
178extern
179const __arm_2d_op_info_t ARM_2D_OP_ALPHA_BLENDING_WITH_COLOUR_KEYING_GRAY8;
180
181extern
182const __arm_2d_op_info_t ARM_2D_OP_ALPHA_BLENDING_WITH_COLOUR_KEYING_RGB565;
183
184extern
185const __arm_2d_op_info_t ARM_2D_OP_ALPHA_BLENDING_WITH_COLOUR_KEYING_RGB888;
186
187extern
188const __arm_2d_op_info_t ARM_2D_OP_ALPHA_COLOUR_FILL_GRAY8;
189
190extern
191const __arm_2d_op_info_t ARM_2D_OP_ALPHA_COLOUR_FILL_RGB565;
192
193extern
194const __arm_2d_op_info_t ARM_2D_OP_ALPHA_COLOUR_FILL_RGB888;
195
196extern
197const __arm_2d_op_info_t ARM_2D_OP_TILE_COPY_WITH_MASK_GRAY8;
198
199extern
200const __arm_2d_op_info_t ARM_2D_OP_TILE_COPY_WITH_MASK_RGB565;
201
202extern
203const __arm_2d_op_info_t ARM_2D_OP_TILE_COPY_WITH_MASK_CCCN888;
204
205extern
206const __arm_2d_op_info_t ARM_2D_OP_TILE_COPY_WITH_SRC_MASK_GRAY8;
207
208extern
209const __arm_2d_op_info_t ARM_2D_OP_TILE_COPY_WITH_SRC_MASK_RGB565;
210
211extern
212const __arm_2d_op_info_t ARM_2D_OP_TILE_COPY_WITH_SRC_MASK_CCCN888;
213
214extern
215const __arm_2d_op_info_t ARM_2D_OP_TILE_COPY_WITH_DES_MASK_GRAY8;
216
217extern
218const __arm_2d_op_info_t ARM_2D_OP_TILE_COPY_WITH_DES_MASK_RGB565;
219
220extern
221const __arm_2d_op_info_t ARM_2D_OP_TILE_COPY_WITH_DES_MASK_CCCN888;
222
223/*----------------------------------------------------------------------------*
224 * Basic Drawing *
225 *----------------------------------------------------------------------------*/
226extern
227const __arm_2d_op_info_t ARM_2D_OP_FILL_COLOUR_C8BIT;
228
229extern
230const __arm_2d_op_info_t ARM_2D_OP_FILL_COLOUR_RGB16;
231
232extern
233const __arm_2d_op_info_t ARM_2D_OP_FILL_COLOUR_RGB32;
234
235extern
236const __arm_2d_op_info_t ARM_2D_OP_DRAW_POINT_C8BIT;
237
238extern
239const __arm_2d_op_info_t ARM_2D_OP_DRAW_POINT_RGB16;
240
241extern
242const __arm_2d_op_info_t ARM_2D_OP_DRAW_POINT_RGB32;
243
244extern
245const __arm_2d_op_info_t ARM_2D_OP_DRAW_PATTERN_C8BIT;
246
247extern
248const __arm_2d_op_info_t ARM_2D_OP_DRAW_PATTERN_RGB16;
249
250extern
251const __arm_2d_op_info_t ARM_2D_OP_DRAW_PATTERN_RGB32;
252
253/*----------------------------------------------------------------------------*
254 * Colour Conversion *
255 *----------------------------------------------------------------------------*/
256extern
257const __arm_2d_op_info_t ARM_2D_OP_CONVERT_TO_GRAY8;
258
259extern
260const __arm_2d_op_info_t ARM_2D_OP_CONVERT_TO_RGB565;
261
262extern
263const __arm_2d_op_info_t ARM_2D_OP_CONVERT_TO_RGB888;
264
265/*----------------------------------------------------------------------------*
266 * Transform *
267 *----------------------------------------------------------------------------*/
268extern
269const __arm_2d_op_info_t ARM_2D_OP_TRANSFORM_GRAY8;
270
271extern
272const __arm_2d_op_info_t ARM_2D_OP_TRANSFORM_RGB565;
273
274extern
275const __arm_2d_op_info_t ARM_2D_OP_TRANSFORM_CCCN888;
276
277extern
278const __arm_2d_op_info_t ARM_2D_OP_TRANSFORM_WITH_OPACITY_GRAY8;
279
280extern
281const __arm_2d_op_info_t ARM_2D_OP_TRANSFORM_WITH_OPACITY_RGB565;
282
283extern
284const __arm_2d_op_info_t ARM_2D_OP_TRANSFORM_WITH_OPACITY_CCCN888;
285
286extern
287const __arm_2d_op_info_t ARM_2D_OP_TRANSFORM_WITH_SRC_MSK_GRAY8;
288
289extern
290const __arm_2d_op_info_t ARM_2D_OP_TRANSFORM_WITH_SRC_MSK_RGB565;
291
292extern
293const __arm_2d_op_info_t ARM_2D_OP_TRANSFORM_WITH_SRC_MSK_CCCN888;
294
295extern
296const __arm_2d_op_info_t ARM_2D_OP_TRANSFORM_WITH_SRC_MSK_AND_OPACITY_GRAY8;
297
298extern
299const __arm_2d_op_info_t ARM_2D_OP_TRANSFORM_WITH_SRC_MSK_AND_OPACITY_RGB565;
300
301extern
302const __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