Files
gk-sdk/sample/common/sample_comm_vpss.h
T

83 lines
2.2 KiB
C

/*
* Copyright (c) XMEDIA. All rights reserved.
*/
#ifndef __SAMPLE_COMM_VPSS_H__
#define __SAMPLE_COMM_VPSS_H__
#include "xmedia_type.h"
#include "xmedia_sys.h"
#include "xmedia_vb.h"
#include "xmedia_vpss.h"
#include "xmedia_region.h"
#ifdef __cplusplus
extern "C" {
#endif
typedef struct {
xmedia_bool ext_chn_en;
xmedia_vpss_ext_ochn_config ext_chn;
}vpss_ext_chn_info;
typedef struct {
xmedia_bool chn_en;
xmedia_s32 chn_no;
xmedia_vpss_ochn_config chn_config;
xmedia_video_crop_attr crop_attr;
xmedia_video_rotation rot_attr;
xmedia_vpss_low_delay_attr lowdelay_attr;
xmedia_video_wrap_attr wrap_attr;
}vpss_chn_info;
typedef struct {
xmedia_bool stitch_en;
xmedia_vpss_stitch_blend_attr stitch_blend_attr;
}vpss_pipe_stitch_info;
typedef struct {
xmedia_bool pipe_en;
xmedia_s32 pipe_no;
xmedia_vpss_pipe_config pipe_config;
vpss_chn_info chn_info[VPSS_MAX_PHY_OCHN_NUM];
xmedia_video_crop_attr crop_attr;
xmedia_isp_stnr_attr stnr_attr;
xmedia_isp_sharpen_attr sharpen_attr;
vpss_pipe_stitch_info stitch_attr;
vpss_ext_chn_info ext_chn_info[VPSS_MAX_EXT_OCHN_NUM];
} vpss_pipe_info;
typedef struct {
vpss_pipe_info pipe_info[VPSS_MAX_PIPE_NUM];
} sample_vpss_config;
xmedia_s32 sample_comm_vpss_create_pipe(xmedia_s32 pipe_id, vpss_pipe_info* pipe_info);
xmedia_s32 sample_comm_vpss_destory_pipe(xmedia_s32 pipe_id);
xmedia_s32 sample_comm_vpss_set_chn_attr(xmedia_s32 pipe_id, xmedia_s32 chn_id, vpss_chn_info *chn_info);
xmedia_s32 sample_comm_vpss_get_default_pipe_cfg(xmedia_vpss_pipe_config *pipe_cfg, xmedia_video_size in_size, sample_comm_video_param *video_param);
xmedia_s32 sample_comm_vpss_get_default_ochn_cfg(xmedia_vpss_ochn_config *ochn_cfg, xmedia_video_size out_size, sample_comm_video_param *video_param);
xmedia_s32 sample_comm_vpss_set_ochn_wrap(vpss_chn_info *ochn_info);
xmedia_s32 sample_comm_vpss_pipe_chn_start(sample_vpss_config *vpss_cfg);
xmedia_s32 sample_comm_vpss_pipe_chn_stop(sample_vpss_config *vpss_cfg);
xmedia_s32 sample_comm_vpss_start(sample_vpss_config *vpss_cfg);
xmedia_s32 sample_comm_vpss_stop(sample_vpss_config *vpss_cfg);
xmedia_s32 sample_comm_vpss_init();
xmedia_s32 sample_comm_vpss_exit();
#ifdef __cplusplus
}
#endif
#endif