1161 lines
43 KiB
C
Executable File
1161 lines
43 KiB
C
Executable File
/*
|
|
* Copyright (c); XMEDIA. All rights reserved.
|
|
*/
|
|
|
|
#ifndef __XMEDIA_VPSS_H__
|
|
#define __XMEDIA_VPSS_H__
|
|
|
|
#include "xmedia_errcode.h"
|
|
#include "xmedia_sys.h"
|
|
#include "xmedia_isp.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif /* __cplusplus */
|
|
|
|
#define XMEDIA_VPSS_ICHN0 0
|
|
#define XMEDIA_VPSS_ICHN1 1
|
|
|
|
#define XMEDIA_VPSS_OCHN0 0
|
|
#define XMEDIA_VPSS_OCHN1 1
|
|
#define XMEDIA_VPSS_OCHN2 2
|
|
#define XMEDIA_VPSS_OCHN3 3
|
|
|
|
#define XMEDIA_VPSS_OVERLAP_POINT_TOP_LEFT 0
|
|
#define XMEDIA_VPSS_OVERLAP_POINT_TOP_RIGHT 1
|
|
#define XMEDIA_VPSS_OVERLAP_POINT_BOTTOM_LEFT 2
|
|
#define XMEDIA_VPSS_OVERLAP_POINT_BOTTOM_RIGHT 3
|
|
#define XMEDIA_VPSS_OVERLAP_POINT_NUM 4
|
|
|
|
#define XMEDIA_VPSS_INVALID_CHN (-1)
|
|
|
|
#define XMEDIA_VPSS_MAX_SELECT_OCHN_NUM (VPSS_MAX_PIPE_NUM * VPSS_MAX_OCHN_NUM)
|
|
|
|
#define XMEDIA_VPSS_MAX_PIPE_NUM_IN_GRP 2 // 拼接组最大的pipe个数
|
|
|
|
typedef enum {
|
|
XMEDIA_VPSS_STITCH_BLEND_MODE_LINEAR = 0, //直线模式
|
|
XMEDIA_VPSS_STITCH_BLEND_MODE_CURVE, //曲线模式
|
|
XMEDIA_VPSS_STITCH_BLEND_MAX
|
|
} xmedia_vpss_stitch_blend_mode;
|
|
|
|
typedef struct {
|
|
xmedia_bool stitch_blend_en; //拼接使能开关
|
|
xmedia_bool sync_en; //同步使能开关
|
|
xmedia_u32 stitch_num; //拼接路数
|
|
xmedia_vpss_stitch_blend_mode mode;//拼接融合模式
|
|
/*
|
|
* 拼接后大小:
|
|
* 宽度范围:[VPSS_MIN_STITCH_OUT_WIDTH, VPSS_MAX_STITCH_OUT_WIDTH]
|
|
* 高度范围:[VPSS_MIN_STITCH_OUT_HEIGHT, VPSS_MAX_STITCH_OUT_HEIGHT]
|
|
*/
|
|
xmedia_video_size out_size;
|
|
//描述拼接右图和左图重叠区域的点, 四个的顺序为上左、上右、下左、下右.
|
|
xmedia_video_point overlap_point[VPSS_MAX_STITCH_NUM - 1][XMEDIA_VPSS_OVERLAP_POINT_NUM];
|
|
} xmedia_vpss_stitch_blend_config;
|
|
|
|
typedef struct {
|
|
/*
|
|
* 拼接后大小:
|
|
* 宽度范围:[VPSS_MIN_STITCH_OUT_WIDTH, VPSS_MAX_STITCH_OUT_WIDTH]
|
|
* 高度范围:[VPSS_MIN_STITCH_OUT_HEIGHT, VPSS_MAX_STITCH_OUT_HEIGHT]
|
|
*/
|
|
xmedia_video_size out_size;
|
|
//描述拼接右图和左图重叠区域的点, 四个的顺序为上左、上右、下左、下右.
|
|
xmedia_video_point overlap_point[VPSS_MAX_STITCH_NUM - 1][XMEDIA_VPSS_OVERLAP_POINT_NUM];
|
|
} xmedia_vpss_stitch_size_attr;
|
|
|
|
typedef struct {
|
|
/*
|
|
* 融合区域占重叠区域的百分比。
|
|
* 取值范围:[0, 100]。0表示不融合,100表示重叠区域全部融合。默认值为10
|
|
*/
|
|
xmedia_u32 fusion_percent[VPSS_MAX_STITCH_NUM - 1];
|
|
/*
|
|
* 融合区域中线位置百分比。
|
|
* 取值范围:[0, 100]。0表示在重合区的最左边,100表示重合区的最右边。默认值为50
|
|
*/
|
|
xmedia_u32 fusion_mid_pos_percent[VPSS_MAX_STITCH_NUM - 1];
|
|
} xmedia_vpss_stitch_blend_attr;
|
|
|
|
typedef struct {
|
|
xmedia_bool nr_en; //3DNR使能开关
|
|
xmedia_video_compress_mode compress_mode; //参考帧压缩模式
|
|
} xmedia_vpss_nr_attr;
|
|
|
|
typedef struct {
|
|
xmedia_u32 max_w; //输入图像宽度
|
|
xmedia_u32 max_h; //输入图像高度
|
|
xmedia_video_pixel_format pixel_fmt; //输入图像像素格式
|
|
xmedia_video_dynamic_range dync_range; //输入图像动态范围
|
|
xmedia_video_frame_rate_ctrl frm_rate_ctrl; //输入帧率控制
|
|
xmedia_vpss_nr_attr nr_attr; //3DNR属性
|
|
xmedia_vpss_stitch_blend_config stitch_blend_cfg; //拼接融合属性
|
|
} xmedia_vpss_pipe_config;
|
|
|
|
typedef enum {
|
|
XMEDIA_VPSS_OCHN_MODE_USER = 0, // 用户模式
|
|
XMEDIA_VPSS_OCHN_MODE_AUTO, // 自动模式
|
|
XMEDIA_VPSS_OCHN_MODE_MAX
|
|
} xmedia_vpss_ochn_mode;
|
|
|
|
typedef struct {
|
|
xmedia_vpss_ochn_mode mode; //通道工作模式
|
|
xmedia_video_scale_mode scale_mode; //缩放模式
|
|
xmedia_u32 width; //目标图像的宽度.
|
|
xmedia_u32 height; //目标图像的高度.
|
|
xmedia_video_format video_fmt; //目标图像的视频格式.
|
|
xmedia_video_pixel_format pix_fmt; //目标图像的像素格式.
|
|
xmedia_video_dynamic_range dync_range; //目标图像的动态范围.
|
|
xmedia_video_compress_mode cmp_mode; //输出的压缩模式
|
|
xmedia_video_frame_rate_ctrl frm_rate_ctrl;//帧率控制信息.
|
|
xmedia_bool mirror_en; //镜像使能.
|
|
xmedia_bool flip_en; //翻转使能.
|
|
xmedia_u32 depth; //用户获取通道图像的队列长度.
|
|
} xmedia_vpss_ochn_config;
|
|
|
|
typedef struct {
|
|
xmedia_vpss_ochn_mode mode; //通道工作模式
|
|
xmedia_video_scale_mode scale_mode; //缩放模式
|
|
xmedia_u32 width; //目标图像的宽度.
|
|
xmedia_u32 height; //目标图像的高度.
|
|
xmedia_video_format video_fmt; //目标图像的视频格式.
|
|
xmedia_video_pixel_format pix_fmt; //目标图像的像素格式.
|
|
xmedia_video_dynamic_range dync_range; //目标图像的动态范围.
|
|
xmedia_video_compress_mode cmp_mode; //输出的压缩模式
|
|
xmedia_video_frame_rate_ctrl frm_rate_ctrl;//帧率控制信息.
|
|
xmedia_bool mirror_en; //镜像使能.
|
|
xmedia_bool flip_en; //翻转使能.
|
|
xmedia_u32 depth; //用户获取通道图像的队列长度.
|
|
} xmedia_vpss_ochn_attr;
|
|
|
|
typedef struct {
|
|
xmedia_s32 bind_ochn; //绑定的源物理通道.
|
|
xmedia_video_scale_mode scale_mode; //缩放模式
|
|
xmedia_u32 width; //目标图像的宽度.
|
|
xmedia_u32 height; //目标图像的高度.
|
|
xmedia_video_format video_fmt; //目标图像的视频格式.
|
|
xmedia_video_pixel_format pix_fmt; //目标图像的像素格式.
|
|
xmedia_video_dynamic_range dync_range; //目标图像的动态范围.
|
|
xmedia_video_compress_mode cmp_mode; //输出的压缩模式.
|
|
xmedia_u32 depth; //用户获取通道图像的队列长度.
|
|
xmedia_video_frame_rate_ctrl frm_rate_ctrl; //帧率控制信息.
|
|
} xmedia_vpss_ext_ochn_config;
|
|
|
|
typedef struct {
|
|
xmedia_s32 bind_ochn; //绑定的源物理通道.
|
|
xmedia_video_scale_mode scale_mode; //缩放模式
|
|
xmedia_u32 width; //目标图像的宽度.
|
|
xmedia_u32 height; //目标图像的高度.
|
|
xmedia_video_format video_fmt; //目标图像的视频格式.
|
|
xmedia_video_pixel_format pix_fmt; //目标图像的像素格式.
|
|
xmedia_video_dynamic_range dync_range; //目标图像的动态范围.
|
|
xmedia_video_compress_mode cmp_mode; //输出的压缩模式.
|
|
xmedia_u32 depth; //用户获取通道图像的队列长度.
|
|
xmedia_video_frame_rate_ctrl frm_rate_ctrl; //帧率控制信息.
|
|
} xmedia_vpss_ext_ochn_attr;
|
|
|
|
typedef struct {
|
|
xmedia_bool enable;
|
|
xmedia_u32 line_cnt; //低延时行号
|
|
xmedia_bool one_buf_en; //是否使用one buffer
|
|
} xmedia_vpss_low_delay_attr;
|
|
|
|
typedef struct {
|
|
xmedia_video_frame_info frame_info[VPSS_MAX_STITCH_NUM]; // 拼接图像
|
|
} xmedia_vpss_stitch_calibration_frame_info;
|
|
|
|
typedef struct {
|
|
xmedia_video_stitch_mode mode; // 标定模式
|
|
xmedia_u32 stitch_num; // 拼接路数
|
|
xmedia_video_point ajust_point[VPSS_MAX_STITCH_NUM - 1]; // 图像位置微调参数
|
|
} xmedia_vpss_stitch_calibration_config;
|
|
|
|
typedef struct {
|
|
xmedia_video_size out_size[VPSS_MAX_STITCH_NUM]; // GDC输出图像大小
|
|
xmedia_s64 pmf_coef[VPSS_MAX_STITCH_NUM][XMEDIA_VIDEO_PMF_COEF_NUM]; // GDC矫正矩阵
|
|
xmedia_video_point offset[VPSS_MAX_STITCH_NUM]; // GDC坐标偏移
|
|
xmedia_video_point overlap_point[VPSS_MAX_STITCH_NUM - 1][XMEDIA_VPSS_OVERLAP_POINT_NUM]; // 拼接重叠区域大小
|
|
xmedia_video_size stitch_out_size; // 拼接后输出大小
|
|
xmedia_video_rect effective_rect; // 拼接后图像有效区域
|
|
} xmedia_vpss_stitch_calibration_result;
|
|
|
|
typedef struct {
|
|
xmedia_u32 num; // 区域数量
|
|
xmedia_video_rect *ATTRIBUTE rect; // 区域坐标、宽高参数
|
|
} xmedia_vpss_rect_attr;
|
|
|
|
typedef enum {
|
|
XMEDIA_VPSS_WRAP_POS_PHY_OCHN = 0, // 物理通道的卷绕
|
|
XMEDIA_VPSS_WRAP_POS_EXT_OCHN, // 扩展通道的卷绕
|
|
XMEDIA_VPSS_WRAP_POS_MAX
|
|
} xmedia_vpss_wrap_pos;
|
|
|
|
typedef struct {
|
|
xmedia_bool enable; // 卷绕buf复用使能开关
|
|
xmedia_u32 buf_size; // 卷绕buf大小
|
|
xmedia_vpss_wrap_pos wrap_pos; // 卷绕的位置
|
|
} xmedia_vpss_wrap_buf_share_config;
|
|
|
|
typedef enum {
|
|
XMEDIA_VPSS_OUTPUT_MODE_INDEPENDENT = 0, // 不做非融合拼接
|
|
XMEDIA_VPSS_OUTPUT_MODE_H_SPLICING, // 水平非融合拼接
|
|
XMEDIA_VPSS_OUTPUT_MODE_V_SPLICING, // 垂直非融合拼接
|
|
XMEDIA_VPSS_OUTPUT_MODE_MAX
|
|
} xmedia_vpss_output_mode;
|
|
|
|
typedef struct {
|
|
xmedia_u32 pipe_num; // 非融合拼接的pipe数
|
|
xmedia_s32 pipe_id[XMEDIA_VPSS_MAX_PIPE_NUM_IN_GRP]; // 非融合拼接的pipe id
|
|
xmedia_s32 master_pipe_id; // 非融合拼接的主pipe id
|
|
xmedia_vpss_output_mode output_mode[VPSS_MAX_PHY_OCHN_NUM]; // 非融合拼接的通道拼接模式
|
|
} xmedia_vpss_splicing_grp_config;
|
|
|
|
/*
|
|
* 函数功能: 初始化vpss模块
|
|
* 函数参数:无
|
|
* 返回值:
|
|
* XMEDIA_SUCCESS - 函数执行成功
|
|
*/
|
|
xmedia_s32 xmedia_vpss_init(xmedia_void);
|
|
|
|
/*
|
|
* 函数功能: 去初始化vpss模块
|
|
* 函数参数:无
|
|
* 返回值:
|
|
* XMEDIA_SUCCESS - 函数执行成功
|
|
*/
|
|
xmedia_s32 xmedia_vpss_exit(xmedia_void);
|
|
|
|
/*
|
|
* 函数功能: 创建pipe
|
|
* 函数参数:
|
|
* pipe - 输入参数, pipe id号
|
|
* pipe_cfg - 输入参数, pipe配置
|
|
* 返回值:
|
|
* XMEDIA_SUCCESS - 函数执行成功
|
|
* XMEDIA_ERRCODE_INVALID_DEV_ID - 无效的pipe id
|
|
* XMEDIA_ERRCODE_NOT_READY - vpss未准备好
|
|
* XMEDIA_ERRCODE_EXIST - 重复创建pipe
|
|
* XMEDIA_ERRCODE_NULL_PTR - 空指针
|
|
* XMEDIA_ERRCODE_INVALID_PARAM - 输入参数非法
|
|
*/
|
|
xmedia_s32 xmedia_vpss_create_pipe(xmedia_s32 pipe, const xmedia_vpss_pipe_config *pipe_cfg);
|
|
|
|
/*
|
|
* 函数功能: 销毁pipe
|
|
* 函数参数:
|
|
* pipe - 输入参数, pipe id号
|
|
* 返回值:
|
|
* XMEDIA_SUCCESS - 函数执行成功
|
|
* XMEDIA_ERRCODE_INVALID_DEV_ID - 无效的pipe id
|
|
* XMEDIA_ERRCODE_NOT_EXIST - pipe不存在
|
|
* XMEDIA_ERRCODE_NOT_PERMITTED - pipe未禁用
|
|
* 注意:
|
|
* 必须在先禁用再销毁
|
|
*/
|
|
xmedia_s32 xmedia_vpss_destroy_pipe(xmedia_s32 pipe);
|
|
|
|
/*
|
|
* 函数功能: 启用pipe
|
|
* 函数参数:
|
|
* pipe - 输入参数, pipe id号
|
|
* 返回值:
|
|
* XMEDIA_SUCCESS - 函数执行成功
|
|
* XMEDIA_ERRCODE_INVALID_DEV_ID - 无效的pipe id
|
|
* XMEDIA_ERRCODE_NOT_EXIST - pipe不存在
|
|
* 注意:
|
|
* pipe必须已创建
|
|
*/
|
|
xmedia_s32 xmedia_vpss_start_pipe(xmedia_s32 pipe);
|
|
|
|
/*
|
|
* 函数功能: 停用pipe
|
|
* 函数参数:
|
|
* pipe - 输入参数, pipe id号
|
|
* 返回值:
|
|
* XMEDIA_SUCCESS - 函数执行成功
|
|
* XMEDIA_ERRCODE_INVALID_DEV_ID - 无效的pipe id
|
|
* XMEDIA_ERRCODE_NOT_EXIST - pipe不存在
|
|
* 注意:
|
|
* pipe必须已创建
|
|
*/
|
|
xmedia_s32 xmedia_vpss_stop_pipe(xmedia_s32 pipe);
|
|
|
|
/*
|
|
* 函数功能: 复位pipe
|
|
* 函数参数:
|
|
* pipe - 输入参数, pipe id号
|
|
* 返回值:
|
|
* XMEDIA_SUCCESS - 函数执行成功
|
|
* XMEDIA_ERRCODE_INVALID_DEV_ID - 无效的pipe id
|
|
* XMEDIA_ERRCODE_NOT_EXIST - pipe不存在
|
|
* 注意:
|
|
* pipe必须已创建
|
|
*/
|
|
xmedia_s32 xmedia_vpss_reset_pipe(xmedia_s32 pipe);
|
|
|
|
/*
|
|
* 函数功能:设置pipe帧率控制属性
|
|
* 函数参数:
|
|
* pipe - 输入参数,pipe id号
|
|
* frm_rate_ctrl - 输入参数,pipe的帧率控制属性
|
|
* 返回值:
|
|
* XMEDIA_SUCCESS - 函数执行成功
|
|
* XMEDIA_ERRCODE_INVALID_DEV_ID - 无效的pipe id
|
|
* XMEDIA_ERRCODE_NOT_EXIST - pipe不存在
|
|
* XMEDIA_ERRCODE_INVALID_PARAM - 非法参数
|
|
* XMEDIA_ERRCODE_NULL_PTR - 空指针
|
|
* 注意:
|
|
* 1、pipe必须已创建
|
|
*/
|
|
xmedia_s32 xmedia_vpss_set_pipe_frc(xmedia_s32 pipe, const xmedia_video_frame_rate_ctrl *frm_rate_ctrl);
|
|
|
|
/*
|
|
* 函数功能:获取pipe帧率控制属性
|
|
* 函数参数:
|
|
* pipe - 输入参数,pipe id号
|
|
* frm_rate_ctrl - 输出参数,pipe的帧率控制属性
|
|
* 返回值:
|
|
* XMEDIA_SUCCESS - 函数执行成功
|
|
* XMEDIA_ERRCODE_INVALID_DEV_ID - 无效的pipe id
|
|
* XMEDIA_ERRCODE_NOT_EXIST - pipe不存在
|
|
* XMEDIA_ERRCODE_INVALID_PARAM - 非法参数
|
|
* XMEDIA_ERRCODE_NULL_PTR - 空指针
|
|
* 注意:
|
|
* 1、pipe必须已创建
|
|
*/
|
|
xmedia_s32 xmedia_vpss_get_pipe_frc(xmedia_s32 pipe, xmedia_video_frame_rate_ctrl *frm_rate_ctrl);
|
|
|
|
/*
|
|
* 函数功能: 设置pipe裁剪属性
|
|
* 函数参数:
|
|
* pipe - 输入参数, pipe id号
|
|
* crop_attr - 输入参数, 裁剪属性
|
|
* 返回值:
|
|
* XMEDIA_SUCCESS - 函数执行成功
|
|
* XMEDIA_ERRCODE_INVALID_DEV_ID - 无效的pipe id
|
|
* XMEDIA_ERRCODE_NULL_PTR - 空指针
|
|
* XMEDIA_ERRCODE_NOT_EXIST - pipe不存在
|
|
* XMEDIA_ERRCODE_INVALID_PARAM - 输入参数非法
|
|
* 注意:
|
|
* pipe必须已创建
|
|
*/
|
|
xmedia_s32 xmedia_vpss_set_pipe_crop(xmedia_s32 pipe, const xmedia_video_crop_attr *crop_attr);
|
|
|
|
/*
|
|
* 函数功能: 获取pipe裁剪属性
|
|
* 函数参数:
|
|
* pipe - 输入参数, pipe id号
|
|
* crop_attr - 输出参数, 裁剪属性
|
|
* 返回值:
|
|
* XMEDIA_SUCCESS - 函数执行成功
|
|
* XMEDIA_ERRCODE_INVALID_DEV_ID - 无效的pipe id
|
|
* XMEDIA_ERRCODE_NULL_PTR - 空指针
|
|
* XMEDIA_ERRCODE_NOT_EXIST - pipe不存在
|
|
* 注意:
|
|
* pipe必须已创建
|
|
*/
|
|
xmedia_s32 xmedia_vpss_get_pipe_crop(xmedia_s32 pipe, xmedia_video_crop_attr *crop_attr);
|
|
|
|
/*
|
|
* 函数功能: 设置pipe stnr属性
|
|
* 函数参数:
|
|
* pipe - 输入参数, pipe id号
|
|
* stnr_attr - 输入参数, stnr属性
|
|
* 返回值:
|
|
* XMEDIA_SUCCESS - 函数执行成功
|
|
* XMEDIA_ERRCODE_INVALID_DEV_ID - 无效的pipe id
|
|
* XMEDIA_ERRCODE_NULL_PTR - 空指针
|
|
* XMEDIA_ERRCODE_NOT_EXIST - pipe不存在
|
|
* XMEDIA_ERRCODE_INVALID_PARAM - 输入参数非法
|
|
* 注意:
|
|
* pipe必须已创建
|
|
*/
|
|
xmedia_s32 xmedia_vpss_set_pipe_stnr_attr(xmedia_s32 pipe, const xmedia_isp_stnr_attr *stnr_attr);
|
|
|
|
/*
|
|
* 函数功能: 获取pipe stnr属性
|
|
* 函数参数:
|
|
* pipe - 输入参数, pipe id号
|
|
* stnr_attr - 输出参数, stnr属性
|
|
* 返回值:
|
|
* XMEDIA_SUCCESS - 函数执行成功
|
|
* XMEDIA_ERRCODE_INVALID_DEV_ID - 无效的pipe id
|
|
* XMEDIA_ERRCODE_NULL_PTR - 空指针
|
|
* XMEDIA_ERRCODE_NOT_EXIST - pipe不存在
|
|
* 注意:
|
|
* pipe必须已创建
|
|
*/
|
|
xmedia_s32 xmedia_vpss_get_pipe_stnr_attr(xmedia_s32 pipe, xmedia_isp_stnr_attr *stnr_attr);
|
|
|
|
/*
|
|
* 函数功能: 设置pipe sharpen属性
|
|
* 函数参数:
|
|
* pipe - 输入参数, pipe id号
|
|
* sharpen_attr - 输入参数, sharpen属性
|
|
* 返回值:
|
|
* XMEDIA_SUCCESS - 函数执行成功
|
|
* XMEDIA_ERRCODE_INVALID_DEV_ID - 无效的pipe id
|
|
* XMEDIA_ERRCODE_NULL_PTR - 空指针
|
|
* XMEDIA_ERRCODE_NOT_EXIST - pipe不存在
|
|
* XMEDIA_ERRCODE_INVALID_PARAM - 输入参数非法
|
|
* 注意:
|
|
* pipe必须已创建
|
|
*/
|
|
xmedia_s32 xmedia_vpss_set_pipe_sharpen_attr(xmedia_s32 pipe, const xmedia_isp_sharpen_attr *sharpen_attr);
|
|
|
|
/*
|
|
* 函数功能: 获取pipe sharpen属性
|
|
* 函数参数:
|
|
* pipe - 输入参数, pipe id号
|
|
* sharpen_attr - 输出参数, sharpen属性
|
|
* 返回值:
|
|
* XMEDIA_SUCCESS - 函数执行成功
|
|
* XMEDIA_ERRCODE_INVALID_DEV_ID - 无效的pipe id
|
|
* XMEDIA_ERRCODE_NULL_PTR - 空指针
|
|
* XMEDIA_ERRCODE_NOT_EXIST - pipe不存在
|
|
* 注意:
|
|
* pipe必须已创建
|
|
*/
|
|
xmedia_s32 xmedia_vpss_get_pipe_sharpen_attr(xmedia_s32 pipe, xmedia_isp_sharpen_attr *sharpen_attr);
|
|
|
|
/*
|
|
* 函数功能: 设置pipe anti false color属性
|
|
* 函数参数:
|
|
* pipe - 输入参数, pipe id号
|
|
* afc_attr - 输入参数, afc 属性
|
|
* 返回值:
|
|
* XMEDIA_SUCCESS - 函数执行成功
|
|
* XMEDIA_ERRCODE_INVALID_DEV_ID - 无效的pipe id
|
|
* XMEDIA_ERRCODE_NULL_PTR - 空指针
|
|
* XMEDIA_ERRCODE_NOT_EXIST - pipe不存在
|
|
* XMEDIA_ERRCODE_INVALID_PARAM - 输入参数非法
|
|
* 注意:
|
|
* pipe必须已创建
|
|
*/
|
|
xmedia_s32 xmedia_vpss_set_pipe_anti_false_color_attr(xmedia_s32 pipe,
|
|
const xmedia_isp_anti_false_color_attr *afc_attr);
|
|
|
|
/*
|
|
* 函数功能: 获取pipe anti false color属性
|
|
* 函数参数:
|
|
* pipe - 输入参数, pipe id号
|
|
* afc_attr - 输出参数, afc属性
|
|
* 返回值:
|
|
* XMEDIA_SUCCESS - 函数执行成功
|
|
* XMEDIA_ERRCODE_INVALID_DEV_ID - 无效的pipe id
|
|
* XMEDIA_ERRCODE_NULL_PTR - 空指针
|
|
* XMEDIA_ERRCODE_NOT_EXIST - pipe不存在
|
|
* 注意:
|
|
* pipe必须已创建
|
|
*/
|
|
xmedia_s32 xmedia_vpss_get_pipe_anti_false_color_attr(xmedia_s32 pipe, xmedia_isp_anti_false_color_attr *afc_attr);
|
|
|
|
/*
|
|
* 函数功能: 设置pipe 融合拼接的重叠区属性
|
|
* 函数参数:
|
|
* pipe - 输入参数, pipe id号
|
|
* stitch_size_attr - 输入参数, 拼接重叠区属性
|
|
* 返回值:
|
|
* XMEDIA_SUCCESS - 函数执行成功
|
|
* XMEDIA_ERRCODE_INVALID_DEV_ID - 无效的pipe id
|
|
* XMEDIA_ERRCODE_NULL_PTR - 空指针
|
|
* XMEDIA_ERRCODE_NOT_EXIST - pipe不存在
|
|
* XMEDIA_ERRCODE_INVALID_PARAM - 输入参数非法
|
|
* 注意:
|
|
* pipe必须已创建
|
|
*/
|
|
xmedia_s32 xmedia_vpss_set_pipe_stitch_size_attr(xmedia_s32 pipe,
|
|
const xmedia_vpss_stitch_size_attr *stitch_size_attr);
|
|
|
|
/*
|
|
* 函数功能: 获取pipe 融合拼接的重叠区属性
|
|
* 函数参数:
|
|
* pipe - 输入参数, pipe id号
|
|
* stitch_size_attr - 输出参数, 拼接重叠区属性
|
|
* 返回值:
|
|
* XMEDIA_SUCCESS - 函数执行成功
|
|
* XMEDIA_ERRCODE_INVALID_DEV_ID - 无效的pipe id
|
|
* XMEDIA_ERRCODE_NULL_PTR - 空指针
|
|
* XMEDIA_ERRCODE_NOT_EXIST - pipe不存在
|
|
* 注意:
|
|
* pipe必须已创建
|
|
*/
|
|
xmedia_s32 xmedia_vpss_get_pipe_stitch_size_attr(xmedia_s32 pipe, xmedia_vpss_stitch_size_attr *stitch_size_attr);
|
|
|
|
/*
|
|
* 函数功能: 设置pipe 融合拼接的融合属性
|
|
* 函数参数:
|
|
* pipe - 输入参数, pipe id号
|
|
* stitch_blend_attr - 输入参数, 拼接融合属性
|
|
* 返回值:
|
|
* XMEDIA_SUCCESS - 函数执行成功
|
|
* XMEDIA_ERRCODE_INVALID_DEV_ID - 无效的pipe id
|
|
* XMEDIA_ERRCODE_NULL_PTR - 空指针
|
|
* XMEDIA_ERRCODE_NOT_EXIST - pipe不存在
|
|
* XMEDIA_ERRCODE_INVALID_PARAM - 输入参数非法
|
|
* 注意:
|
|
* pipe必须已创建
|
|
*/
|
|
xmedia_s32 xmedia_vpss_set_pipe_stitch_blend_attr(xmedia_s32 pipe,
|
|
const xmedia_vpss_stitch_blend_attr *stitch_blend_attr);
|
|
|
|
/*
|
|
* 函数功能: 获取pipe 融合拼接的融合属性
|
|
* 函数参数:
|
|
* pipe - 输入参数, pipe id号
|
|
* stitch_blend_attr - 输出参数, 拼接融合属性
|
|
* 返回值:
|
|
* XMEDIA_SUCCESS - 函数执行成功
|
|
* XMEDIA_ERRCODE_INVALID_DEV_ID - 无效的pipe id
|
|
* XMEDIA_ERRCODE_NULL_PTR - 空指针
|
|
* XMEDIA_ERRCODE_NOT_EXIST - pipe不存在
|
|
* 注意:
|
|
* pipe必须已创建
|
|
*/
|
|
xmedia_s32 xmedia_vpss_get_pipe_stitch_blend_attr(xmedia_s32 pipe, xmedia_vpss_stitch_blend_attr *stitch_blend_attr);
|
|
|
|
/*
|
|
* 函数功能: 设置融合拼接的亮度同步属性
|
|
* 函数参数:
|
|
* pipe - 输入参数,pipe id号
|
|
* luma_sync_attr - 输入参数,亮度同步属性
|
|
* 返回值:
|
|
* XMEDIA_SUCCESS - 函数执行成功
|
|
* XMEDIA_ERRCODE_INVALID_DEV_ID - 无效的pipe id
|
|
* XMEDIA_ERRCODE_NULL_PTR - 空指针
|
|
* XMEDIA_ERRCODE_NOT_EXIST - pipe不存在
|
|
*/
|
|
xmedia_s32 xmedia_vpss_set_pipe_stitch_luma_sync_attr(xmedia_s32 pipe,
|
|
const xmedia_video_stitch_luma_sync_attr *luma_sync_attr);
|
|
|
|
/*
|
|
* 函数功能: 设置融合拼接的亮度同步属性
|
|
* 函数参数:
|
|
* pipe - 输入参数,pipe id号
|
|
* luma_sync_attr - 输出参数,亮度同步属性
|
|
* 返回值:
|
|
* XMEDIA_SUCCESS - 函数执行成功
|
|
* XMEDIA_ERRCODE_INVALID_DEV_ID - 无效的pipe id
|
|
* XMEDIA_ERRCODE_NULL_PTR - 空指针
|
|
* XMEDIA_ERRCODE_NOT_EXIST - pipe不存在
|
|
*/
|
|
xmedia_s32 xmedia_vpss_get_pipe_stitch_luma_sync_attr(xmedia_s32 pipe,
|
|
xmedia_video_stitch_luma_sync_attr *luma_sync_attr);
|
|
|
|
/*
|
|
* 函数功能: 设置输入通道固定角度旋转属性
|
|
* 函数参数:
|
|
* pipe - 输入参数, pipe id号
|
|
* ichn - 输入参数, ichn id号
|
|
* rotation - 输入参数, 旋转属性
|
|
* 返回值:
|
|
* XMEDIA_SUCCESS - 函数执行成功
|
|
* XMEDIA_ERRCODE_INVALID_DEV_ID - 无效的pipe id
|
|
* XMEDIA_ERRCODE_INVALID_CHN_ID - 无效的ichn id
|
|
* XMEDIA_ERRCODE_NULL_PTR - 空指针
|
|
* XMEDIA_ERRCODE_NOT_EXIST - pipe不存在
|
|
* XMEDIA_ERRCODE_NOT_READY - vpss未准备好
|
|
* XMEDIA_ERRCODE_INVALID_PARAM - 输入参数非法
|
|
* 注意:
|
|
* pipe必须已创建
|
|
*/
|
|
xmedia_s32 xmedia_vpss_set_ichn_rotation(xmedia_s32 pipe, xmedia_s32 ichn, xmedia_video_rotation rotation);
|
|
|
|
/*
|
|
* 函数功能: 获取输入通道固定角度旋转属性
|
|
* 函数参数:
|
|
* pipe - 输入参数, pipe id号
|
|
* ichn - 输入参数, ichn id号
|
|
* rotation - 输出参数, 旋转属性
|
|
* 返回值:
|
|
* XMEDIA_SUCCESS - 函数执行成功
|
|
* XMEDIA_ERRCODE_INVALID_DEV_ID - 无效的pipe id
|
|
* XMEDIA_ERRCODE_INVALID_CHN_ID - 无效的ichn id
|
|
* XMEDIA_ERRCODE_NULL_PTR - 空指针
|
|
* XMEDIA_ERRCODE_NOT_EXIST - pipe不存在
|
|
* 注意:
|
|
* pipe必须已创建
|
|
*/
|
|
xmedia_s32 xmedia_vpss_get_ichn_rotation(xmedia_s32 pipe, xmedia_s32 ichn, xmedia_video_rotation *rotation);
|
|
|
|
/*
|
|
* 函数功能: 发送图像到输入通道
|
|
* 函数参数:
|
|
* pipe - 输入参数, pipe id号
|
|
* ichn - 输入参数, ichn id号
|
|
* video_frame - 输入参数, 帧信息
|
|
* milli_sec - 输入参数, 超时参数
|
|
* 返回值:
|
|
* XMEDIA_SUCCESS - 函数执行成功
|
|
* XMEDIA_ERRCODE_INVALID_DEV_ID - 无效的pipe id
|
|
* XMEDIA_ERRCODE_INVALID_CHN_ID - 无效的ichn id
|
|
* XMEDIA_ERRCODE_NULL_PTR - 空指针
|
|
* XMEDIA_ERRCODE_NOT_READY - vpss未准备好
|
|
* XMEDIA_ERRCODE_NOT_EXIST - pipe不存在
|
|
* XMEDIA_ERRCODE_BUSY - pipe正在忙
|
|
* XMEDIA_ERRCODE_INVALID_PARAM - 输入参数非法
|
|
* 注意:
|
|
* pipe必须已创建
|
|
*/
|
|
xmedia_s32 xmedia_vpss_send_ichn_frame(xmedia_s32 pipe, xmedia_s32 ichn,
|
|
const xmedia_video_frame_info *video_frame, xmedia_s32 milli_sec);
|
|
|
|
/*
|
|
* 函数功能: 获取pipe输入帧
|
|
* 函数参数:
|
|
* pipe - 输入参数, pipe id号
|
|
* ichn - 输入参数, ichn id号
|
|
* video_frame - 输出参数, 帧信息
|
|
* milli_sec - 输入参数, 超时参数
|
|
* 返回值:
|
|
* XMEDIA_SUCCESS - 函数执行成功
|
|
* XMEDIA_ERRCODE_INVALID_DEV_ID - 无效的pipe id
|
|
* XMEDIA_ERRCODE_INVALID_CHN_ID - 无效的ichn id
|
|
* XMEDIA_ERRCODE_NULL_PTR - 空指针
|
|
* XMEDIA_ERRCODE_NOT_READY - vpss未准备好
|
|
* XMEDIA_ERRCODE_NOT_EXIST - pipe不存在
|
|
* XMEDIA_ERRCODE_BUFFER_EMPTY - pipe队列为空
|
|
* XMEDIA_ERRCODE_INVALID_PARAM - 输入参数非法
|
|
* 注意:
|
|
* pipe必须已创建
|
|
*/
|
|
xmedia_s32 xmedia_vpss_acquire_ichn_frame(xmedia_s32 pipe, xmedia_s32 ichn,
|
|
xmedia_video_frame_info *video_frame, xmedia_s32 milli_sec);
|
|
|
|
/*
|
|
* 函数功能: 释放pipe输入帧
|
|
* 函数参数:
|
|
* pipe - 输入参数, pipe id号
|
|
* ichn - 输入参数, ichn id号
|
|
* video_frame - 输入参数, 帧信息
|
|
* 返回值:
|
|
* XMEDIA_SUCCESS - 函数执行成功
|
|
* XMEDIA_ERRCODE_INVALID_DEV_ID - 无效的pipe id
|
|
* XMEDIA_ERRCODE_INVALID_CHN_ID - 无效的ichn id
|
|
* XMEDIA_ERRCODE_NULL_PTR - 空指针
|
|
* XMEDIA_ERRCODE_INVALID_PARAM - 输入参数非法
|
|
* 注意:
|
|
* 此接口需与xmedia_vpss_acquire_ichn_frame配对使用
|
|
*/
|
|
xmedia_s32 xmedia_vpss_release_ichn_frame(xmedia_s32 pipe, xmedia_s32 ichn,
|
|
const xmedia_video_frame_info *video_frame);
|
|
|
|
/*
|
|
* 函数功能: 设置输出通道配置
|
|
* 函数参数:
|
|
* pipe - 输入参数, pipe id号
|
|
* ochn - 输入参数, ochn id号
|
|
* ochn_cfg - 输入参数, 输出通道配置
|
|
* 返回值:
|
|
* XMEDIA_SUCCESS - 函数执行成功
|
|
* XMEDIA_ERRCODE_INVALID_DEV_ID - 无效的pipe id
|
|
* XMEDIA_ERRCODE_INVALID_CHN_ID - 无效的ochn id
|
|
* XMEDIA_ERRCODE_NULL_PTR - 空指针
|
|
* XMEDIA_ERRCODE_NOT_EXIST - pipe不存在
|
|
* XMEDIA_ERRCODE_INVALID_PARAM - 输入参数非法
|
|
* 注意:
|
|
* pipe必须已创建
|
|
*/
|
|
xmedia_s32 xmedia_vpss_set_ochn_config(xmedia_s32 pipe, xmedia_s32 ochn, const xmedia_vpss_ochn_config *ochn_cfg);
|
|
|
|
/*
|
|
* 函数功能: 设置输出通道属性
|
|
* 函数参数:
|
|
* pipe - 输入参数, pipe id号
|
|
* ochn - 输入参数, ochn id号
|
|
* ochn_attr - 输入参数, 输出通道属性
|
|
* 返回值:
|
|
* XMEDIA_SUCCESS - 函数执行成功
|
|
* XMEDIA_ERRCODE_INVALID_DEV_ID - 无效的pipe id
|
|
* XMEDIA_ERRCODE_INVALID_CHN_ID - 无效的ochn id
|
|
* XMEDIA_ERRCODE_NULL_PTR - 空指针
|
|
* XMEDIA_ERRCODE_NOT_EXIST - pipe不存在
|
|
* 注意:
|
|
* pipe必须已创建
|
|
*/
|
|
xmedia_s32 xmedia_vpss_set_ochn_attr(xmedia_s32 pipe, xmedia_s32 ochn, const xmedia_vpss_ochn_attr *ochn_attr);
|
|
|
|
/*
|
|
* 函数功能: 获取输出通道属性
|
|
* 函数参数:
|
|
* pipe - 输入参数, pipe id号
|
|
* ochn - 输入参数, ochn id号
|
|
* ochn_attr - 输出参数, 输出通道属性
|
|
* 返回值:
|
|
* XMEDIA_SUCCESS - 函数执行成功
|
|
* XMEDIA_ERRCODE_INVALID_DEV_ID - 无效的pipe id
|
|
* XMEDIA_ERRCODE_INVALID_CHN_ID - 无效的ochn id
|
|
* XMEDIA_ERRCODE_NULL_PTR - 空指针
|
|
* XMEDIA_ERRCODE_NOT_EXIST - pipe不存在
|
|
* 注意:
|
|
* pipe必须已创建
|
|
*/
|
|
xmedia_s32 xmedia_vpss_get_ochn_attr(xmedia_s32 pipe, xmedia_s32 ochn, xmedia_vpss_ochn_attr *ochn_attr);
|
|
|
|
/*
|
|
* 函数功能: 开启输出通道
|
|
* 函数参数:
|
|
* pipe - 输入参数, pipe id号
|
|
* ochn - 输入参数, ochn id号
|
|
* 返回值:
|
|
* XMEDIA_SUCCESS - 函数执行成功
|
|
* XMEDIA_ERRCODE_INVALID_DEV_ID - 无效的pipe id
|
|
* XMEDIA_ERRCODE_INVALID_CHN_ID - 无效的ochn id
|
|
* XMEDIA_ERRCODE_NOT_EXIST - pipe不存在
|
|
* XMEDIA_ERRCODE_NOT_READY - vpss未准备好
|
|
* 注意:
|
|
* pipe必须已创建
|
|
*/
|
|
xmedia_s32 xmedia_vpss_enable_ochn(xmedia_s32 pipe, xmedia_s32 ochn);
|
|
|
|
/*
|
|
* 函数功能: 关闭输出通道
|
|
* 函数参数:
|
|
* pipe - 输入参数, pipe id号
|
|
* ochn - 输入参数, ochn id号
|
|
* 返回值:
|
|
* XMEDIA_SUCCESS - 函数执行成功
|
|
* XMEDIA_ERRCODE_INVALID_DEV_ID - 无效的pipe id
|
|
* XMEDIA_ERRCODE_INVALID_CHN_ID - 无效的ochn id
|
|
* XMEDIA_ERRCODE_NOT_EXIST - pipe不存在
|
|
* XMEDIA_ERRCODE_NOT_READY - vpss未准备好
|
|
* 注意:
|
|
* pipe必须已创建
|
|
*/
|
|
xmedia_s32 xmedia_vpss_disable_ochn(xmedia_s32 pipe, xmedia_s32 ochn);
|
|
|
|
/*
|
|
* 函数功能: 设置输出通道缩放前的裁剪属性
|
|
* 函数参数:
|
|
* pipe - 输入参数, pipe id号
|
|
* ochn - 输入参数, ochn id号
|
|
* crop_info - 输入参数, 裁剪属性
|
|
* 返回值:
|
|
* XMEDIA_SUCCESS - 函数执行成功
|
|
* XMEDIA_ERRCODE_INVALID_DEV_ID - 无效的pipe id
|
|
* XMEDIA_ERRCODE_INVALID_CHN_ID - 无效的ochn id
|
|
* XMEDIA_ERRCODE_NULL_PTR - 空指针
|
|
* XMEDIA_ERRCODE_NOT_EXIST - pipe不存在
|
|
* XMEDIA_ERRCODE_NOT_READY - vpss未准备好
|
|
* XMEDIA_ERRCODE_INVALID_PARAM - 输入参数非法
|
|
* 注意:
|
|
* pipe必须已创建
|
|
*/
|
|
xmedia_s32 xmedia_vpss_set_ochn_pre_crop(xmedia_s32 pipe, xmedia_s32 ochn, const xmedia_video_crop_attr *crop_info);
|
|
|
|
/*
|
|
* 函数功能: 获取输出通道缩放前的裁剪属性
|
|
* 函数参数:
|
|
* pipe - 输入参数, pipe id号
|
|
* ochn - 输入参数, ochn id号
|
|
* crop_info - 输出参数, 裁剪属性
|
|
* 返回值:
|
|
* XMEDIA_SUCCESS - 函数执行成功
|
|
* XMEDIA_ERRCODE_INVALID_DEV_ID - 无效的pipe id
|
|
* XMEDIA_ERRCODE_NULL_PTR - 空指针
|
|
* XMEDIA_ERRCODE_NOT_EXIST - pipe不存在
|
|
* 注意:
|
|
* pipe必须已创建
|
|
*/
|
|
xmedia_s32 xmedia_vpss_get_ochn_pre_crop(xmedia_s32 pipe, xmedia_s32 ochn, xmedia_video_crop_attr *crop_info);
|
|
|
|
/*
|
|
* 函数功能: 设置输出通道缩放后的裁剪属性
|
|
* 函数参数:
|
|
* pipe - 输入参数, pipe id号
|
|
* ochn - 输入参数, ochn id号
|
|
* crop_info - 输入参数, 裁剪属性
|
|
* 返回值:
|
|
* XMEDIA_SUCCESS - 函数执行成功
|
|
* XMEDIA_ERRCODE_INVALID_DEV_ID - 无效的pipe id
|
|
* XMEDIA_ERRCODE_INVALID_CHN_ID - 无效的ochn id
|
|
* XMEDIA_ERRCODE_NULL_PTR - 空指针
|
|
* XMEDIA_ERRCODE_NOT_EXIST - pipe不存在
|
|
* XMEDIA_ERRCODE_NOT_READY - vpss未准备好
|
|
* XMEDIA_ERRCODE_INVALID_PARAM - 输入参数非法
|
|
* 注意:
|
|
* pipe必须已创建
|
|
*/
|
|
xmedia_s32 xmedia_vpss_set_ochn_post_crop(xmedia_s32 pipe, xmedia_s32 ochn, const xmedia_video_crop_attr *crop_info);
|
|
|
|
/*
|
|
* 函数功能: 获取输出通道缩放后的裁剪属性
|
|
* 函数参数:
|
|
* pipe - 输入参数, pipe id号
|
|
* ochn - 输入参数, ochn id号
|
|
* crop_info - 输出参数, 裁剪属性
|
|
* 返回值:
|
|
* XMEDIA_SUCCESS - 函数执行成功
|
|
* XMEDIA_ERRCODE_INVALID_DEV_ID - 无效的pipe id
|
|
* XMEDIA_ERRCODE_NULL_PTR - 空指针
|
|
* XMEDIA_ERRCODE_NOT_EXIST - pipe不存在
|
|
* 注意:
|
|
* pipe必须已创建
|
|
*/
|
|
xmedia_s32 xmedia_vpss_get_ochn_post_crop(xmedia_s32 pipe, xmedia_s32 ochn, xmedia_video_crop_attr *crop_info);
|
|
|
|
/*
|
|
* 函数功能: 设置输出通道固定角度旋转属性
|
|
* 函数参数:
|
|
* pipe - 输入参数, pipe id号
|
|
* ochn - 输入参数, ochn id号
|
|
* rotation - 输入参数, 旋转属性
|
|
* 返回值:
|
|
* XMEDIA_SUCCESS - 函数执行成功
|
|
* XMEDIA_ERRCODE_INVALID_DEV_ID - 无效的pipe id
|
|
* XMEDIA_ERRCODE_INVALID_CHN_ID - 无效的ochn id
|
|
* XMEDIA_ERRCODE_NULL_PTR - 空指针
|
|
* XMEDIA_ERRCODE_NOT_EXIST - pipe不存在
|
|
* XMEDIA_ERRCODE_NOT_READY - vpss未准备好
|
|
* XMEDIA_ERRCODE_INVALID_PARAM - 输入参数非法
|
|
* 注意:
|
|
* pipe必须已创建,输出通道属性必须已设置
|
|
*/
|
|
xmedia_s32 xmedia_vpss_set_ochn_rotation(xmedia_s32 pipe, xmedia_s32 ochn, xmedia_video_rotation rotation);
|
|
|
|
/*
|
|
* 函数功能: 获取输出通道固定角度旋转属性
|
|
* 函数参数:
|
|
* pipe - 输入参数, pipe id号
|
|
* ochn - 输入参数, ochn id号
|
|
* rotation - 输出参数, 旋转属性
|
|
* 返回值:
|
|
* XMEDIA_SUCCESS - 函数执行成功
|
|
* XMEDIA_ERRCODE_INVALID_DEV_ID - 无效的pipe id
|
|
* XMEDIA_ERRCODE_INVALID_CHN_ID - 无效的ochn id
|
|
* XMEDIA_ERRCODE_NULL_PTR - 空指针
|
|
* XMEDIA_ERRCODE_NOT_EXIST - pipe不存在
|
|
* 注意:
|
|
* pipe必须已创建,输出通道属性必须已设置
|
|
*/
|
|
xmedia_s32 xmedia_vpss_get_ochn_rotation(xmedia_s32 pipe, xmedia_s32 ochn, xmedia_video_rotation *rotation);
|
|
|
|
/*
|
|
* 函数功能: 获取输出通道图像
|
|
* 函数参数:
|
|
* pipe - 输入参数, pipe id号
|
|
* ochn - 输入参数, ochn id号
|
|
* video_frame - 输出参数, 帧信息
|
|
* milli_sec - 输入参数, 超时参数
|
|
* 返回值:
|
|
* XMEDIA_SUCCESS - 函数执行成功
|
|
* XMEDIA_ERRCODE_INVALID_DEV_ID - 无效的pipe id
|
|
* XMEDIA_ERRCODE_INVALID_CHN_ID - 无效的ichn id
|
|
* XMEDIA_ERRCODE_NULL_PTR - 空指针
|
|
* XMEDIA_ERRCODE_NOT_READY - vpss未准备好
|
|
* XMEDIA_ERRCODE_NOT_EXIST - pipe不存在
|
|
* XMEDIA_ERRCODE_BUFFER_EMPTY - 输出通道队列为空
|
|
* XMEDIA_ERRCODE_INVALID_PARAM - 输入参数非法
|
|
* 注意:
|
|
* pipe必须已创建
|
|
*/
|
|
xmedia_s32 xmedia_vpss_acquire_ochn_frame(xmedia_s32 pipe, xmedia_s32 ochn,
|
|
xmedia_video_frame_info *video_frame, xmedia_s32 milli_sec);
|
|
|
|
/*
|
|
* 函数功能: 释放从输出通道获取的图像
|
|
* 函数参数:
|
|
* pipe - 输入参数, pipe id号
|
|
* ochn - 输入参数, ochn id号
|
|
* video_frame - 输出参数, 帧信息
|
|
* 返回值:
|
|
* XMEDIA_SUCCESS - 函数执行成功
|
|
* XMEDIA_ERRCODE_INVALID_DEV_ID - 无效的pipe id
|
|
* XMEDIA_ERRCODE_INVALID_CHN_ID - 无效的ichn id
|
|
* XMEDIA_ERRCODE_NULL_PTR - 空指针
|
|
* 注意:
|
|
* 此接口需与xmedia_vpss_acquire_ochn_frame配对使用
|
|
*/
|
|
xmedia_s32 xmedia_vpss_release_ochn_frame(xmedia_s32 pipe, xmedia_s32 ochn,
|
|
const xmedia_video_frame_info *video_frame);
|
|
|
|
/*
|
|
* 函数功能: 获取输出通道亮度和
|
|
* 函数参数:
|
|
* pipe - 输入参数, pipe id号
|
|
* ochn - 输入参数, ochn id号
|
|
* rect_attr - 输入参数, 统计区域属性
|
|
* luma_data - 输出参数, 统计结果
|
|
* milli_sec - 输入参数, 超时参数
|
|
* 返回值:
|
|
* XMEDIA_SUCCESS - 函数执行成功
|
|
* XMEDIA_ERRCODE_INVALID_DEV_ID - 无效的pipe id
|
|
* XMEDIA_ERRCODE_INVALID_CHN_ID - 无效的ichn id
|
|
* XMEDIA_ERRCODE_NULL_PTR - 空指针
|
|
* XMEDIA_ERRCODE_NOT_READY - vpss未准备好
|
|
* XMEDIA_ERRCODE_NOT_EXIST - pipe不存在
|
|
* XMEDIA_ERRCODE_INVALID_PARAM - 输入参数非法
|
|
* 注意:
|
|
* pipe必须已创建
|
|
* 此接口是使用VPSS硬件处理,仅通道0支持
|
|
*/
|
|
xmedia_s32 xmedia_vpss_get_ochn_rgn_luma(xmedia_s32 pipe, xmedia_s32 ochn,
|
|
const xmedia_vpss_rect_attr *rect_attr, xmedia_u64 *luma_data, xmedia_s32 milli_sec);
|
|
|
|
/*
|
|
* 函数功能: 获取输出通道亮度和
|
|
* 函数参数:
|
|
* pipe - 输入参数, pipe id号
|
|
* ochn - 输入参数, ochn id号
|
|
* rect_attr - 输入参数, 统计区域属性
|
|
* luma_data - 输出参数, 统计结果
|
|
* milli_sec - 输入参数, 超时参数
|
|
* 返回值:
|
|
* XMEDIA_SUCCESS - 函数执行成功
|
|
* XMEDIA_ERRCODE_INVALID_DEV_ID - 无效的pipe id
|
|
* XMEDIA_ERRCODE_INVALID_CHN_ID - 无效的ichn id
|
|
* XMEDIA_ERRCODE_NULL_PTR - 空指针
|
|
* XMEDIA_ERRCODE_NOT_READY - vpss未准备好
|
|
* XMEDIA_ERRCODE_NOT_EXIST - pipe不存在
|
|
* XMEDIA_ERRCODE_INVALID_PARAM - 输入参数非法
|
|
* 注意:
|
|
* pipe必须已创建
|
|
* 此接口是使用VGS硬件处理,通道0~3支持
|
|
*/
|
|
xmedia_s32 xmedia_vpss_get_ochn_rgn_luma_ex(xmedia_s32 pipe, xmedia_s32 ochn,
|
|
const xmedia_vpss_rect_attr *rect_attr, xmedia_u64 *luma_data, xmedia_s32 milli_sec);
|
|
|
|
/*
|
|
* 函数功能: 设置输出通道低延时属性
|
|
* 函数参数:
|
|
* pipe - 输入参数, pipe id号
|
|
* ochn - 输入参数, ochn id号
|
|
* low_delay_info - 输入参数, 低延时属性
|
|
* 返回值:
|
|
* XMEDIA_SUCCESS - 函数执行成功
|
|
* XMEDIA_ERRCODE_INVALID_DEV_ID - 无效的pipe id
|
|
* XMEDIA_ERRCODE_INVALID_CHN_ID - 无效的ichn id
|
|
* XMEDIA_ERRCODE_NULL_PTR - 空指针
|
|
* XMEDIA_ERRCODE_NOT_READY - vpss未准备好
|
|
* XMEDIA_ERRCODE_NOT_EXIST - pipe不存在
|
|
* XMEDIA_ERRCODE_NOT_SUPPORT - 不支持低延时
|
|
* XMEDIA_ERRCODE_INVALID_PARAM - 输入参数非法
|
|
* 注意:
|
|
* pipe必须已创建
|
|
*/
|
|
xmedia_s32 xmedia_vpss_set_ochn_low_delay_attr(xmedia_s32 pipe, xmedia_s32 ochn,
|
|
const xmedia_vpss_low_delay_attr *low_delay_info);
|
|
|
|
/*
|
|
* 函数功能: 获取输出通道低延时属性
|
|
* 函数参数:
|
|
* pipe - 输入参数, pipe id号
|
|
* ochn - 输入参数, ochn id号
|
|
* low_delay_info - 输出参数, 低延时属性
|
|
* 返回值:
|
|
* XMEDIA_SUCCESS - 函数执行成功
|
|
* XMEDIA_ERRCODE_INVALID_DEV_ID - 无效的pipe id
|
|
* XMEDIA_ERRCODE_INVALID_CHN_ID - 无效的ichn id
|
|
* XMEDIA_ERRCODE_NULL_PTR - 空指针
|
|
* XMEDIA_ERRCODE_NOT_EXIST - pipe不存在
|
|
* XMEDIA_ERRCODE_NOT_SUPPORT - 不支持低延时
|
|
* 注意:
|
|
* pipe必须已创建
|
|
*/
|
|
xmedia_s32 xmedia_vpss_get_ochn_low_delay_attr(xmedia_s32 pipe, xmedia_s32 ochn,
|
|
xmedia_vpss_low_delay_attr *low_delay_info);
|
|
|
|
/*
|
|
* 函数功能: 设置输出通道卷绕属性
|
|
* 函数参数:
|
|
* pipe - 输入参数, pipe id号
|
|
* ochn - 输入参数, ochn id号
|
|
* wrap_info - 输入参数, 卷绕属性
|
|
* 返回值:
|
|
* XMEDIA_SUCCESS - 函数执行成功
|
|
* XMEDIA_ERRCODE_INVALID_DEV_ID - 无效的pipe id
|
|
* XMEDIA_ERRCODE_INVALID_CHN_ID - 无效的ochn id
|
|
* XMEDIA_ERRCODE_NULL_PTR - 空指针
|
|
* XMEDIA_ERRCODE_NOT_READY - vpss未准备好
|
|
* XMEDIA_ERRCODE_NOT_EXIST - pipe不存在
|
|
* XMEDIA_ERRCODE_NOT_SUPPORT - 不支持卷绕
|
|
* XMEDIA_ERRCODE_NOT_PERMITTED - 输出通道未禁用
|
|
* 注意:
|
|
* pipe必须已创建
|
|
*/
|
|
xmedia_s32 xmedia_vpss_set_ochn_wrap_attr(xmedia_s32 pipe, xmedia_s32 ochn, const xmedia_video_wrap_attr *wrap_info);
|
|
|
|
/*
|
|
* 函数功能: 获取输出通道卷绕属性
|
|
* 函数参数:
|
|
* pipe - 输入参数, pipe id号
|
|
* ochn - 输入参数, ochn id号
|
|
* wrap_info - 输出参数,卷绕属性
|
|
* 返回值:
|
|
* XMEDIA_SUCCESS - 函数执行成功
|
|
* XMEDIA_ERRCODE_INVALID_DEV_ID - 无效的pipe id
|
|
* XMEDIA_ERRCODE_INVALID_CHN_ID - 无效的ochn id
|
|
* XMEDIA_ERRCODE_NULL_PTR - 空指针
|
|
* XMEDIA_ERRCODE_NOT_EXIST - pipe不存在
|
|
* XMEDIA_ERRCODE_NOT_SUPPORT - 不支持低延时
|
|
* 注意:
|
|
* pipe必须已创建
|
|
*/
|
|
xmedia_s32 xmedia_vpss_get_ochn_wrap_attr(xmedia_s32 pipe, xmedia_s32 ochn, xmedia_video_wrap_attr *wrap_info);
|
|
|
|
/*
|
|
* 函数功能: 设置扩展通道配置
|
|
* 函数参数:
|
|
* pipe - 输入参数, pipe id号
|
|
* ochn - 输入参数, ochn id号
|
|
* ext_ochn_cfg - 输入参数, 扩展输出通道配置
|
|
* 返回值:
|
|
* XMEDIA_SUCCESS - 函数执行成功
|
|
* XMEDIA_ERRCODE_INVALID_DEV_ID - 无效的pipe id
|
|
* XMEDIA_ERRCODE_INVALID_CHN_ID - 无效的ochn id
|
|
* XMEDIA_ERRCODE_NULL_PTR - 空指针
|
|
* XMEDIA_ERRCODE_NOT_EXIST - pipe不存在
|
|
* XMEDIA_ERRCODE_INVALID_PARAM - 输入参数非法
|
|
* 注意:
|
|
* pipe必须已创建
|
|
*/
|
|
xmedia_s32 xmedia_vpss_set_ext_ochn_config(xmedia_s32 pipe, xmedia_s32 ochn,
|
|
const xmedia_vpss_ext_ochn_config *ext_ochn_cfg);
|
|
|
|
/*
|
|
* 函数功能: 设置扩展通道属性
|
|
* 函数参数:
|
|
* pipe - 输入参数, pipe id号
|
|
* ochn - 输入参数, ochn id号
|
|
* ext_ochn_attr - 输入参数, 扩展通道属性
|
|
* 返回值:
|
|
* XMEDIA_SUCCESS - 函数执行成功
|
|
* XMEDIA_ERRCODE_INVALID_DEV_ID - 无效的pipe id
|
|
* XMEDIA_ERRCODE_INVALID_CHN_ID - 无效的ochn id
|
|
* XMEDIA_ERRCODE_NULL_PTR - 空指针
|
|
* XMEDIA_ERRCODE_NOT_EXIST - pipe不存在
|
|
* XMEDIA_ERRCODE_INVALID_PARAM - 输入参数非法
|
|
* 注意:
|
|
* pipe必须已创建
|
|
*/
|
|
xmedia_s32 xmedia_vpss_set_ext_ochn_attr(xmedia_s32 pipe, xmedia_s32 ochn,
|
|
const xmedia_vpss_ext_ochn_attr *ext_ochn_attr);
|
|
|
|
/*
|
|
* 函数功能: 获取扩展通道属性
|
|
* 函数参数:
|
|
* pipe - 输入参数, pipe id号
|
|
* ochn - 输入参数, ochn id号
|
|
* ext_ochn_attr - 输出参数, 扩展通道属性
|
|
* 返回值:
|
|
* XMEDIA_SUCCESS - 函数执行成功
|
|
* XMEDIA_ERRCODE_INVALID_DEV_ID - 无效的pipe id
|
|
* XMEDIA_ERRCODE_INVALID_CHN_ID - 无效的ochn id
|
|
* XMEDIA_ERRCODE_NULL_PTR - 空指针
|
|
* XMEDIA_ERRCODE_NOT_EXIST - pipe不存在
|
|
* 注意:
|
|
* pipe必须已创建
|
|
*/
|
|
xmedia_s32 xmedia_vpss_get_ext_ochn_attr(xmedia_s32 pipe, xmedia_s32 ochn, xmedia_vpss_ext_ochn_attr *ext_ochn_attr);
|
|
|
|
/*
|
|
* 函数功能:监测输出通道队列是否有图像
|
|
* 函数参数:
|
|
* watch_ochn - 输入参数,被监测的通道
|
|
* watch_ochn_num - 输入参数,被监测的通道数量
|
|
* valid_ochn - 输出参数,有数据的通道
|
|
* valid_ochn_num - 输出参数,有数据的通道数量
|
|
* milli_sec - 输入参数,超时参数
|
|
* 返回值:
|
|
* XMEDIA_SUCCESS - 函数执行成功
|
|
* XMEDIA_ERRCODE_NOT_READY - 未加载驱动/未初始化
|
|
* XMEDIA_ERRCODE_NULL_PTR - 空指针
|
|
* XMEDIA_ERRCODE_INVALID_PARAM - 非法参数
|
|
*/
|
|
xmedia_s32 xmedia_vpss_select_ochn_frame(const xmedia_chn_info *watch_ochn, xmedia_u32 watch_ochn_num,
|
|
xmedia_chn_info *valid_ochn, xmedia_u32 *valid_ochn_num, xmedia_s32 milli_sec);
|
|
|
|
/*
|
|
* 函数功能: 拼接标定
|
|
* 函数参数:
|
|
* frame_info - 输入参数,帧信息
|
|
* config - 输入参数,标定参数
|
|
* result - 输出参数,标定结果
|
|
* 返回值:
|
|
* XMEDIA_SUCCESS - 函数执行成功
|
|
* XMEDIA_ERRCODE_NULL_PTR - 空指针
|
|
*/
|
|
xmedia_s32 xmedia_vpss_stitch_calibration(const xmedia_vpss_stitch_calibration_frame_info *frame_info,
|
|
const xmedia_vpss_stitch_calibration_config *config, xmedia_vpss_stitch_calibration_result *result);
|
|
|
|
/*
|
|
* 函数功能: 设置卷绕buf复用配置
|
|
* 函数参数:
|
|
* wrap_buf_share_cfg - 输入参数,卷绕buf复用配置
|
|
* 返回值:
|
|
* XMEDIA_SUCCESS - 函数执行成功
|
|
* XMEDIA_ERRCODE_NOT_INIT - 未初始化VPSS
|
|
* XMEDIA_ERRCODE_NULL_PTR - 空指针
|
|
*/
|
|
xmedia_s32 xmedia_vpss_set_wrap_buf_share_config(const xmedia_vpss_wrap_buf_share_config *wrap_buf_share_cfg);
|
|
|
|
/*
|
|
* 函数功能: 设置非融合拼接组的配置
|
|
* 函数参数:
|
|
* grp - 输入参数, grp id号
|
|
* splicing_grp_cfg - 输入参数,非融合拼接组配置
|
|
* 返回值:
|
|
* XMEDIA_SUCCESS - 函数执行成功
|
|
* XMEDIA_ERRCODE_INVALID_GRP_ID - 无效的grp id
|
|
* XMEDIA_ERRCODE_NOT_INIT - 未初始化VPSS
|
|
* XMEDIA_ERRCODE_NULL_PTR - 空指针
|
|
*/
|
|
xmedia_s32 xmedia_vpss_set_splicing_grp_config(xmedia_s32 grp, const xmedia_vpss_splicing_grp_config *splicing_grp_cfg);
|
|
|
|
/*
|
|
* 函数功能: 绑定输出通道user vb池
|
|
* 函数参数:
|
|
* pipe - 输入参数, pipe id号
|
|
* ochn - 输入参数, ochn id号
|
|
* pool_id - 输入参数, vb池id
|
|
* 返回值:
|
|
* XMEDIA_SUCCESS - 函数执行成功
|
|
* XMEDIA_ERRCODE_INVALID_DEV_ID - 无效的pipe id
|
|
* XMEDIA_ERRCODE_INVALID_CHN_ID - 无效的ochn id
|
|
* XMEDIA_ERRCODE_NOT_EXIST - pipe不存在
|
|
* XMEDIA_ERRCODE_NOT_READY - vpss未准备好
|
|
* XMEDIA_ERRCODE_INVALID_PARAM - 输入参数非法
|
|
* 注意:
|
|
* pipe必须已创建
|
|
*/
|
|
xmedia_s32 xmedia_vpss_attach_ochn_vb_pool(xmedia_s32 pipe, xmedia_s32 ochn, xmedia_u32 pool_id);
|
|
|
|
/*
|
|
* 函数功能: 解除绑定输出通道user vb池
|
|
* 函数参数:
|
|
* pipe - 输入参数, pipe id号
|
|
* ochn - 输入参数, ochn id号
|
|
* 返回值:
|
|
* XMEDIA_SUCCESS - 函数执行成功
|
|
* XMEDIA_ERRCODE_INVALID_DEV_ID - 无效的pipe id
|
|
* XMEDIA_ERRCODE_INVALID_CHN_ID - 无效的ochn id
|
|
* XMEDIA_ERRCODE_NOT_EXIST - pipe不存在
|
|
* XMEDIA_ERRCODE_NOT_READY - vpss未准备好
|
|
* XMEDIA_ERRCODE_INVALID_PARAM - 输入参数非法
|
|
* 注意:
|
|
* pipe必须已创建
|
|
*/
|
|
xmedia_s32 xmedia_vpss_detach_ochn_vb_pool(xmedia_s32 pipe, xmedia_s32 ochn);
|
|
|
|
/*
|
|
* 函数功能: 获取输出通道fd
|
|
* 函数参数:
|
|
* pipe - 输入参数, pipe id号
|
|
* ochn - 输入参数, ochn id号
|
|
* 返回值:
|
|
* 正数值 - 有效返回值
|
|
* XMEDIA_ERRCODE_INVALID_DEV_ID - 无效的pipe id
|
|
* XMEDIA_ERRCODE_INVALID_CHN_ID - 无效的ochn id
|
|
* XMEDIA_ERRCODE_NOT_INIT - 未初始化VPSS
|
|
* XMEDIA_ERRCODE_NOT_READY - vpss未准备好
|
|
*/
|
|
xmedia_s32 xmedia_vpss_get_ochn_fd(xmedia_s32 pipe, xmedia_s32 ochn);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* __XMEDIA_VPSS_H__ */
|