51 lines
2.1 KiB
C
51 lines
2.1 KiB
C
#ifndef _PHOTOFASTSLICEENCODE_H_
|
|
#define _PHOTOFASTSLICEENCODE_H_
|
|
|
|
/********************************************************************************
|
|
* User Config
|
|
*********************************************************************************/
|
|
#define CFG_PHOTOFAST_SLICE_ENC_PRIMARY_BUF_WIDTH 1920
|
|
#define CFG_PHOTOFAST_SLICE_ENC_PRIMARY_BUF_HEIGHT 1080
|
|
#define CFG_PHOTOFAST_SLICE_ENC_PRIMARY_BUF_SIZE VDO_YUV_BUFSIZE(CFG_PHOTOFAST_SLICE_ENC_PRIMARY_BUF_WIDTH, CFG_PHOTOFAST_SLICE_ENC_PRIMARY_BUF_HEIGHT, HD_VIDEO_PXLFMT_YUV420)
|
|
#define CFG_PHOTOFAST_SLICE_ENC_BS_BUF_RATIO 8 /* (yuv size / ratio) + header = bs buf size */
|
|
#define CFG_PHOTOFAST_SLICE_ENC_INIT_QUALITY_PRIMARY 85
|
|
#define CFG_PHOTOFAST_SLICE_ENC_INIT_QUALITY_THUMBNAIL 70
|
|
#define CFG_PHOTOFAST_SLICE_ENC_INIT_QUALITY_SCREENNAIL 70
|
|
#define CFG_PHOTOFAST_SLICE_ENC_QUALITY_STEP 5
|
|
|
|
#define CFG_PHOTOFAST_SLICE_ENC_RC_SCREENNAIL 1 /* rate control */
|
|
#define CFG_PHOTOFAST_SLICE_ENC_RC_SCREENNAIL_UBOUND (SCREENNAIL_TARGETBYTERATE + (SCREENNAIL_TARGETBYTERATE * 20 / 100))
|
|
#define CFG_PHOTOFAST_SLICE_ENC_RC_SCREENNAIL_LBOUND (SCREENNAIL_TARGETBYTERATE - (SCREENNAIL_TARGETBYTERATE * 20 / 100))
|
|
#define CFG_PHOTOFAST_SLICE_ENC_RC_SCREENNAIL_QUALITY_STEP 2
|
|
|
|
|
|
typedef struct
|
|
{
|
|
UINT32 width;
|
|
UINT32 height;
|
|
UINT32 slice_num;
|
|
UINT32 slice_height; /* slice height except last one */
|
|
UINT32 last_slice_height; /* last slice height */
|
|
} PhotoFast_SliceSize_Info;
|
|
|
|
INT32 PhotoFast_SliceEncode_Open(const HD_PATH_ID vproc_path_id);
|
|
INT32 PhotoFast_SliceEncode_Close(void);
|
|
INT32 PhotoFast_SliceEncode(const HD_PATH_ID vproc_path_id, const HD_VIDEO_FRAME *p_video_frame);
|
|
INT32 PhotoFast_SliceEncode_Get_Curr_Dst_Slice_Info(PhotoFast_SliceSize_Info *info);
|
|
INT32 PhotoFast_SliceEncode_Get_Max_Dst_Slice_Buffer_Size(HD_VIDEO_PXLFMT pxl_fmt);
|
|
|
|
#if POWERON_FAST_SLICE_ENC_VER2 == ENABLE
|
|
|
|
INT32 PhotoFast_SliceEncode2_Open(
|
|
const HD_PATH_ID vproc_path_id,
|
|
const UINT32 max_cnt
|
|
);
|
|
|
|
VOID PhotoFast_SliceEncode2_Close(VOID);
|
|
|
|
INT32 PhotoFast_Sliceencode2_Enq_Frame(const HD_VIDEO_FRAME* video_frame);
|
|
|
|
#endif
|
|
|
|
#endif
|