91 lines
2.4 KiB
C
Executable File
91 lines
2.4 KiB
C
Executable File
/**
|
|
Image operation module.
|
|
|
|
This module supports rendering osds and masks on video frame.
|
|
|
|
@file videosprite.h
|
|
@ingroup mIAppVideosprite
|
|
|
|
Copyright Novatek Microelectronics Corp. 2018. All rights reserved.
|
|
*/
|
|
#ifndef _VIDEO_SPRITE_ENC_H_
|
|
#define _VIDEO_SPRITE_ENC_H_
|
|
|
|
#include <kwrap/type.h>
|
|
#include "kflow_common/type_vdo.h"
|
|
#include "videosprite_internal.h"
|
|
|
|
typedef struct {
|
|
VDO_PXLFMT fmt;
|
|
UINT32 addr;
|
|
UPOINT pos;
|
|
USIZE size;
|
|
UINT32 layer;
|
|
UINT32 region;
|
|
UINT32 ckey_en;
|
|
UINT32 ckey_val;
|
|
UINT32 qp_en;
|
|
UINT32 qp_fix;
|
|
UINT8 qp_val;
|
|
UINT8 qp_lpm_mode;
|
|
UINT8 qp_tnr_mode;
|
|
UINT8 qp_fro_mode;
|
|
UINT8 alpha;
|
|
UINT8 gcac_enable;
|
|
UINT8 gcac_blk_width;
|
|
UINT8 gcac_blk_height;
|
|
UINT8 gcac_blk_num;
|
|
UINT8 gcac_org_color_level;
|
|
UINT8 gcac_inv_color_level;
|
|
UINT8 gcac_nor_diff_th;
|
|
UINT8 gcac_inv_diff_th;
|
|
UINT8 gcac_sta_only_mode;
|
|
UINT8 gcac_full_eval_mode;
|
|
UINT8 gcac_eval_lum_targ;
|
|
} VDS_INTERNAL_COE_STAMP;
|
|
|
|
typedef struct {
|
|
VDS_INTERNAL_MASK_TYPE type;
|
|
UINT32 color;
|
|
UINT32 alpha;
|
|
UINT32 x;
|
|
UINT32 y;
|
|
UINT32 w;
|
|
UINT32 h;
|
|
UINT32 thickness;
|
|
UINT32 layer;
|
|
UINT32 region;
|
|
} VDS_INTERNAL_COE_MASK;
|
|
|
|
typedef struct _VDS_INTERNAL_COE_STAMP_MASK {
|
|
UINT32 en;
|
|
UINT32 is_mask;
|
|
union {
|
|
VDS_INTERNAL_COE_STAMP stamp;
|
|
VDS_INTERNAL_COE_MASK mask;
|
|
} data;
|
|
} VDS_INTERNAL_COE_STAMP_MASK;
|
|
|
|
typedef struct {
|
|
UINT32 dirty;
|
|
VDS_INTERNAL_COE_STAMP_MASK *stamp;
|
|
} VDS_TO_ENC_COE_STAMP;
|
|
|
|
typedef struct {
|
|
UINT32 dirty;
|
|
VDS_INTERNAL_EXT_STAMP *stamp;
|
|
} VDS_TO_ENC_EXT_STAMP;
|
|
|
|
typedef struct {
|
|
UINT32 dirty;
|
|
VDS_INTERNAL_EXT_MASK *mask;
|
|
} VDS_TO_ENC_EXT_MASK;
|
|
|
|
|
|
extern int vds_max_coe_stamp;
|
|
|
|
extern int vds_render_enc_ext(VDS_QUERY_STAGE stage, UINT32 y, UINT32 uv, void* p_data, UINT32 w, UINT32 h, UINT32 *palette, UINT32 *loff);
|
|
extern int vds_render_coe_grh(UINT32 y, UINT32 uv, VDS_INTERNAL_COE_STAMP_MASK *stamp, UINT32 w, UINT32 h, UINT32 *palette, UINT32 *loff);
|
|
|
|
#endif //_VIDEO_SPRITE_ENC_H_
|