Files
BPI-CM9-Linux/aml-comp/hardware/amlogic/libencoder/jpeg/jpeg_enc/include/jpegenc.h
T

69 lines
1.1 KiB
C
Raw Normal View History

2026-08-13 11:28:40 +08:00
#ifndef _JPEGENC_HEADER_
#define _JPEGENC_HEADER_
#ifdef __cplusplus
extern "C" {
#endif
typedef uint32_t u32;
#include "jpegenc_api.h"
typedef struct {
unsigned char* addr;
unsigned size;
} jpegenc_buff_t;
typedef struct hw_jpegenc_s {
uint8_t* src;
uint32_t src_size;
uint8_t* dst;
uint32_t dst_size;
int quality;
int qtbl_id;
uint32_t width;
uint32_t height;
int bpp;
uint32_t canvas;
jpegenc_mem_type_e type;
jpegenc_frame_fmt_e in_format;
jpegenc_frame_fmt_e out_format;
size_t jpeg_size;
int timeout;
int block_mode;
#ifdef simulation
int input_size;
#endif
int dev_fd;
int dma_buf_planes;
int dma_fd[3];
jpegenc_buff_t mmap_buff;
jpegenc_buff_t input_buf;
jpegenc_buff_t assit_buf;
jpegenc_buff_t output_buf;
u32 y_off;
u32 u_off;
u32 v_off;
u32 y_stride;
u32 u_stride;
u32 v_stride;
u32 h_stride;
} hw_jpegenc_t;
long hw_encode_init(int timeout);
int hw_encode(jpegenc_handle_t handle, jpegenc_frame_info_t frame_info, uint8_t *dst, uint32_t* datalen);
int hw_encode_uninit(jpegenc_handle_t handle);
#ifdef __cplusplus
}
#endif
#endif