12 #include "hpm_jpeg_regs.h"
24 #define JPEG_EVENT_BUSY JPEG_STAT_BUSY_MASK
25 #define JPEG_EVENT_OUT_DMA_FINISH JPEG_STAT_OUT_DMA_TRANSFER_DONE_MASK
26 #define JPEG_EVENT_IN_DMA_FINISH JPEG_STAT_IN_DMA_TRANSFER_DONE_MASK
27 #define JPEG_EVENT_ERROR (JPEG_STAT_RESTART_MARKER_ERROR_MASK | (0xF << 7))
32 #define JPEG_BYTE_ORDER_3210 (0U)
33 #define JPEG_BYTE_ORDER_2301 (1U)
34 #define JPEG_BYTE_ORDER_1032 (2U)
35 #define JPEG_BYTE_ORDER_0123 (3U)
45 #define JPEG_SUPPORTED_FORMAT_420 (0U)
46 #define JPEG_SUPPORTED_FORMAT_422H (1U)
47 #define JPEG_SUPPORTED_FORMAT_422V (2U)
48 #define JPEG_SUPPORTED_FORMAT_444 (3U)
49 #define JPEG_SUPPORTED_FORMAT_400 (4U)
#define JPEG_CFG_JPEG_EN_MASK
Definition: hpm_jpeg_regs.h:587
#define JPEG_CFG_JPEG_SFTRST_MASK
Definition: hpm_jpeg_regs.h:553
#define JPEG_OUTDMACNT_VAL_GET(x)
Definition: hpm_jpeg_regs.h:759
#define JPEG_CFG_START_MASK
Definition: hpm_jpeg_regs.h:567
static uint32_t jpeg_get_encoded_length(JPEG_Type *ptr)
Out DMA Bytes Counter.
Definition: hpm_jpeg_drv.h:194
void jpeg_enable_irq(JPEG_Type *ptr, uint32_t mask)
jpeg enable interrupt
Definition: hpm_jpeg_drv.c:42
static void jpeg_software_reset(JPEG_Type *ptr)
jpeg Software Reset
Definition: hpm_jpeg_drv.h:204
enum jpeg_table jpeg_table_t
jpeg encoding and decoding configuration parameters
void jpeg_reset(JPEG_Type *ptr)
stop a encoder/decoder conversion and Software Reset
Definition: hpm_jpeg_drv.c:57
static void jpeg_clear_status(JPEG_Type *ptr, uint32_t mask)
clear jpeg Status Register
Definition: hpm_jpeg_drv.h:183
static void jpeg_enable(JPEG_Type *ptr)
jpeg function enable
Definition: hpm_jpeg_drv.h:136
void jpeg_init(JPEG_Type *ptr)
stop a encoder/decoder conversion and Software Reset
Definition: hpm_jpeg_drv.c:65
static uint32_t jpeg_get_status(JPEG_Type *ptr)
obtain jpeg Status Register
Definition: hpm_jpeg_drv.h:167
void jpeg_disable_irq(JPEG_Type *ptr, uint32_t mask)
jpeg disable interrupt
Definition: hpm_jpeg_drv.c:27
hpm_stat_t jpeg_start_encode(JPEG_Type *ptr, jpeg_job_config_t *config)
it will start encoding, and the process status needs to be checked by querying JPEG_EVENT
Definition: hpm_jpeg_drv.c:139
hpm_stat_t jpeg_start_decode(JPEG_Type *ptr, jpeg_job_config_t *config, uint32_t length)
it will start decoding, and the process status needs to be checked by querying JPEG_EVENT
Definition: hpm_jpeg_drv.c:240
jpeg_table
jpeg encoding and decoding configuration parameters
Definition: hpm_jpeg_drv.h:75
jpeg_pixel_format
Definition: hpm_jpeg_drv.h:83
static void jpeg_start(JPEG_Type *ptr)
start a new encoder/decoder conversion
Definition: hpm_jpeg_drv.h:156
enum jpeg_pixel_format jpeg_pixel_format_t
static void jpeg_disable(JPEG_Type *ptr)
jpeg function disable
Definition: hpm_jpeg_drv.h:126
static void jpeg_stop(JPEG_Type *ptr)
stop a encoder/decoder conversion
Definition: hpm_jpeg_drv.h:146
static void jpeg_clear_cfg(JPEG_Type *ptr)
clear jpeg cfg Register
Definition: hpm_jpeg_drv.h:116
hpm_stat_t jpeg_fill_table(JPEG_Type *ptr, jpeg_table_t table, uint8_t *data, uint32_t count)
fill tables for jpeg controller
Definition: hpm_jpeg_drv.c:317
@ jpeg_table_huffmin
Definition: hpm_jpeg_drv.h:78
@ jpeg_table_huffenc
Definition: hpm_jpeg_drv.h:77
@ jpeg_table_huffsymb
Definition: hpm_jpeg_drv.h:80
@ jpeg_table_huffbase
Definition: hpm_jpeg_drv.h:79
@ jpeg_table_qmem
Definition: hpm_jpeg_drv.h:76
@ jpeg_pixel_format_yuv422h1p
Definition: hpm_jpeg_drv.h:86
@ jpeg_pixel_format_argb8888
Definition: hpm_jpeg_drv.h:84
@ jpeg_pixel_format_y8
Definition: hpm_jpeg_drv.h:87
@ jpeg_pixel_format_rgb565
Definition: hpm_jpeg_drv.h:85
uint32_t hpm_stat_t
Definition: hpm_common.h:126
Definition: hpm_jpeg_regs.h:12
__RW uint32_t CFG
Definition: hpm_jpeg_regs.h:27
__RW uint32_t STAT
Definition: hpm_jpeg_regs.h:28
__R uint32_t OUTDMACNT
Definition: hpm_jpeg_regs.h:33
jpeg encoding and decoding configuration parameters
Definition: hpm_jpeg_drv.h:93
jpeg_pixel_format_t out_pixel_format
Definition: hpm_jpeg_drv.h:96
uint16_t width_in_pixel
Definition: hpm_jpeg_drv.h:100
uint16_t stride
Definition: hpm_jpeg_drv.h:102
uint32_t out_buffer
Definition: hpm_jpeg_drv.h:104
uint8_t in_byte_order
Definition: hpm_jpeg_drv.h:97
uint16_t height_in_pixel
Definition: hpm_jpeg_drv.h:101
jpeg_pixel_format_t in_pixel_format
Definition: hpm_jpeg_drv.h:95
uint8_t out_byte_order
Definition: hpm_jpeg_drv.h:98
uint32_t in_buffer
Definition: hpm_jpeg_drv.h:103
uint8_t jpeg_format
Definition: hpm_jpeg_drv.h:94
bool enable_ycbcr
Definition: hpm_jpeg_drv.h:99
Definition: hpm_jpeg_drv.h:61
bool is_rgb
Definition: hpm_jpeg_drv.h:65
uint8_t opath
Definition: hpm_jpeg_drv.h:64
uint8_t pixel_width
Definition: hpm_jpeg_drv.h:62
uint8_t ipath
Definition: hpm_jpeg_drv.h:63
data format definition
Definition: hpm_jpeg_drv.h:54
uint8_t hc
Definition: hpm_jpeg_drv.h:57
uint8_t vc
Definition: hpm_jpeg_drv.h:58
uint8_t vy
Definition: hpm_jpeg_drv.h:56
uint8_t hy
Definition: hpm_jpeg_drv.h:55