67 lines
1.6 KiB
C
Executable File
67 lines
1.6 KiB
C
Executable File
/*----------------------------------------------------------------------------/
|
|
/ TJpgDec - Tiny JPEG Decompressor R0.03 include file (C)ChaN, 2021
|
|
/----------------------------------------------------------------------------*/
|
|
#ifndef DEF_TJPGDEC
|
|
#define DEF_TJPGDEC
|
|
|
|
#include "driver/media_types.h"
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
typedef enum{
|
|
JD_FORMAT_RGB888 = 0,
|
|
JD_FORMAT_RGB565 = 1,
|
|
JD_FORMAT_Grayscale = 2,
|
|
JD_FORMAT_YUYV,
|
|
JD_FORMAT_VYUY,
|
|
JD_FORMAT_VUYY,
|
|
}JD_FORMAT_OUTPUT;
|
|
/* Specifies output pixel format.
|
|
/ 0: RGB888 (24-bit/pix)
|
|
/ 1: RGB565 (16-bit/pix)
|
|
/ 2: Grayscale (8-bit/pix)
|
|
/ 3: VYUY (16-bit/pix)
|
|
/ 4: YUYV (16-bit/pix)
|
|
*/
|
|
|
|
typedef enum{
|
|
JD_LITTLE_ENDIAN = 0,
|
|
JD_BIG_ENDIAN
|
|
} JD_BYTE_ORDER;
|
|
/* Specifies output byte order
|
|
/ 0: LITTLE_ENDIAN
|
|
/ 1: BIG_ENDIAN
|
|
*/
|
|
|
|
typedef enum{
|
|
JD_NO_BUFFER_COPY = 0,
|
|
JD_SINGLE_BUFFER_COPY,
|
|
JD_DOUBLE_BUFFER_COPY,
|
|
} JD_COPY_TYPE_T;
|
|
|
|
|
|
typedef struct{
|
|
JD_FORMAT_OUTPUT format;
|
|
JD_BYTE_ORDER byte_order;
|
|
uint8_t scale;
|
|
} jd_output_format;
|
|
|
|
void jd_set_output_format(jd_output_format *output_format);
|
|
void jd_set_format(JD_FORMAT_OUTPUT format);
|
|
JD_FORMAT_OUTPUT jd_get_format(void);
|
|
void jd_set_scale(uint8_t scale);
|
|
int jd_get_scale(void);
|
|
void jd_set_byte_order(JD_BYTE_ORDER byte_order);
|
|
JD_BYTE_ORDER jd_get_byte_order(void);
|
|
media_rotate_t jd_get_rotate(void);
|
|
void jd_set_rotate(media_rotate_t rotate_angle, uint8_t *rotate_buf);
|
|
|
|
void jd_set_jpg_copy_func(uint8_t *copy_buffer_1, uint8_t *copy_buffer_2, uint32_t copy_buffer_size, void *jpg_copy_func, JD_COPY_TYPE_T type);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* _TJPGDEC */
|