74 lines
1.7 KiB
C
Executable File
74 lines
1.7 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_IME_H_
|
|
#define _VIDEO_SPRITE_IME_H_
|
|
|
|
#include <kwrap/type.h>
|
|
#include "kflow_common/type_vdo.h"
|
|
#include "videosprite_internal.h"
|
|
|
|
typedef struct {
|
|
UINT32 en;
|
|
VDS_INTERNAL_MASK_TYPE type;
|
|
UINT32 is_mosaic;
|
|
UPOINT pos[4];
|
|
UINT32 color[3];
|
|
UINT8 alpha;
|
|
UINT32 thickness;
|
|
UINT32 mosaic_blk_size;
|
|
} VDS_INTERNAL_IME_MASK;
|
|
|
|
typedef struct {
|
|
UINT32 dirty;
|
|
VDS_INTERNAL_IME_MASK *data;
|
|
} VDS_TO_IME_MASK;
|
|
|
|
typedef struct {
|
|
UINT32 en;
|
|
VDO_PXLFMT fmt;
|
|
UINT32 addr;
|
|
UPOINT pos;
|
|
USIZE size;
|
|
UINT32 ckey_en;
|
|
UINT32 ckey_val;
|
|
UINT16 bweight0;
|
|
UINT16 bweight1;
|
|
} VDS_INTERNAL_IME_STAMP;
|
|
|
|
typedef struct {
|
|
UINT32 dirty;
|
|
VDS_INTERNAL_IME_STAMP *data;
|
|
} VDS_TO_IME_STAMP;
|
|
|
|
typedef struct {
|
|
VDS_INTERNAL_EXT_STAMP *stamp;
|
|
} VDS_TO_IME_GRH_STAMP;
|
|
|
|
typedef struct {
|
|
UINT32 dirty;
|
|
VDS_TO_IME_GRH_STAMP data;
|
|
} VDS_TO_IME_EXT_STAMP;
|
|
|
|
typedef struct {
|
|
VDS_INTERNAL_EXT_MASK *mask;
|
|
} VDS_TO_IME_GRH_MASK;
|
|
|
|
typedef struct {
|
|
UINT32 dirty;
|
|
VDS_TO_IME_GRH_MASK data;
|
|
} VDS_TO_IME_EXT_MASK;
|
|
|
|
extern int vds_max_ime_stamp;
|
|
extern int vds_max_ime_mask;
|
|
|
|
extern int vds_render_ime_context(VDS_QUERY_STAGE stage, UINT32 y, UINT32 uv, void* p_data, UINT32 w, UINT32 h, UINT32 *palette);
|
|
|
|
#endif //_VIDEO_SPRITE_IME_H_
|