Developer World
Spresense SDK Library v3.3.0-375c679
cxd56_imageproc.h
Go to the documentation of this file.
1/****************************************************************************
2 * boards/arm/cxd56xx/spresense/include/cxd56_imageproc.h
3 *
4 * Licensed to the Apache Software Foundation (ASF) under one or more
5 * contributor license agreements. See the NOTICE file distributed with
6 * this work for additional information regarding copyright ownership. The
7 * ASF licenses this file to you under the Apache License, Version 2.0 (the
8 * "License"); you may not use this file except in compliance with the
9 * License. You may obtain a copy of the License at
10 *
11 * http://www.apache.org/licenses/LICENSE-2.0
12 *
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
15 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
16 * License for the specific language governing permissions and limitations
17 * under the License.
18 *
19 ****************************************************************************/
20
21/****************************************************************************
22 * Included Files
23 ****************************************************************************/
28#ifndef __BOARDS_ARM_CXD56XX_SPRESENSE_INCLUDE_CXD56_IMAGEPROC_H
29#define __BOARDS_ARM_CXD56XX_SPRESENSE_INCLUDE_CXD56_IMAGEPROC_H
30
31#include <stdint.h>
32
33#ifdef __cplusplus
34extern "C"
35{
36#endif
37
43/****************************************************************************
44 * Public Types
45 ****************************************************************************/
46
53{
54 uint16_t x1;
55 uint16_t y1;
56 uint16_t x2;
57 uint16_t y2;
58};
60
66{
72};
73
79{
80 uint8_t *p_u8;
81 uint8_t multiplier;
82};
84
90{
92 int w;
93 int h;
95 union
96 {
97 uint8_t single;
99 uint8_t *p_u8;
100 } img;
101};
103
104/****************************************************************************
105 * Public Functions Prototypes
106 ****************************************************************************/
107
113
119
132int imageproc_convert_yuv2rgb(uint8_t *ibuf, uint32_t hsize,
133 uint32_t vsize);
134
145int imageproc_convert_rgb2yuv(uint8_t *ibuf, uint32_t hsize,
146 uint32_t vsize);
147
159void imageproc_convert_yuv2gray(uint8_t *ibuf, uint8_t *obuf,
160 size_t hsize, size_t vsize);
161
197int imageproc_resize(uint8_t *ibuf, uint16_t ihsize, uint16_t ivsize,
198 uint8_t *obuf, uint16_t ohsize, uint16_t ovsize,
199 int bpp);
200
216int imageproc_clip_and_resize(uint8_t *ibuf, uint16_t ihsize,
217 uint16_t ivsize, uint8_t *obuf,
218 uint16_t ohsize, uint16_t ovsize, int bpp,
219 imageproc_rect_t *clip_rect);
220
261int imageproc_alpha_blend(imageproc_imginfo_t *dst, int pos_x, int pos_y,
263 imageproc_imginfo_t *alpha);
264
267#ifdef __cplusplus
268}
269#endif
270
271#endif /* __BOARDS_ARM_CXD56XX_SPRESENSE_INCLUDE_CXD56_IMAGEPROC_H */
void imageproc_initialize(void)
int imageproc_convert_rgb2yuv(uint8_t *ibuf, uint32_t hsize, uint32_t vsize)
imageproc_imginfo_e
Definition: cxd56_imageproc.h:66
int imageproc_clip_and_resize(uint8_t *ibuf, uint16_t ihsize, uint16_t ivsize, uint8_t *obuf, uint16_t ohsize, uint16_t ovsize, int bpp, imageproc_rect_t *clip_rect)
int imageproc_resize(uint8_t *ibuf, uint16_t ihsize, uint16_t ivsize, uint8_t *obuf, uint16_t ohsize, uint16_t ovsize, int bpp)
int imageproc_convert_yuv2rgb(uint8_t *ibuf, uint32_t hsize, uint32_t vsize)
void imageproc_finalize(void)
void imageproc_convert_yuv2gray(uint8_t *ibuf, uint8_t *obuf, size_t hsize, size_t vsize)
int imageproc_alpha_blend(imageproc_imginfo_t *dst, int pos_x, int pos_y, imageproc_imginfo_t *src, imageproc_imginfo_t *alpha)
@ IMAGEPROC_IMGTYPE_8BPP
Definition: cxd56_imageproc.h:70
@ IMAGEPROC_IMGTYPE_BINARY
Definition: cxd56_imageproc.h:69
@ IMAGEPROC_IMGTYPE_1BPP
Definition: cxd56_imageproc.h:68
@ IMAGEPROC_IMGTYPE_SINGLE
Definition: cxd56_imageproc.h:67
@ IMAGEPROC_IMGTYPE_16BPP
Definition: cxd56_imageproc.h:71
Definition: cxd56_imageproc.h:79
uint8_t multiplier
Definition: cxd56_imageproc.h:81
uint8_t * p_u8
Definition: cxd56_imageproc.h:80
Definition: cxd56_imageproc.h:90
int h
Definition: cxd56_imageproc.h:93
imageproc_rect_t * rect
Definition: cxd56_imageproc.h:94
enum imageproc_imginfo_e type
Definition: cxd56_imageproc.h:91
uint8_t * p_u8
Definition: cxd56_imageproc.h:99
int w
Definition: cxd56_imageproc.h:92
imageproc_binary_img_t binary
Definition: cxd56_imageproc.h:98
uint8_t single
Definition: cxd56_imageproc.h:97
Definition: cxd56_imageproc.h:53
uint16_t y1
Definition: cxd56_imageproc.h:55
uint16_t y2
Definition: cxd56_imageproc.h:57
uint16_t x2
Definition: cxd56_imageproc.h:56
uint16_t x1
Definition: cxd56_imageproc.h:54