You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
85 lines
3.6 KiB
85 lines
3.6 KiB
/*
|
|
* Copyright (c) Hisilicon Technologies Co., Ltd. 2009-2019. All rights reserved.
|
|
* Description: uapi_policy.h
|
|
*/
|
|
|
|
#ifndef __UAPI_POLICY_H__
|
|
#define __UAPI_POLICY_H__
|
|
|
|
#include "uapi_video.h"
|
|
|
|
#ifdef __cplusplus
|
|
#if __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
#endif
|
|
|
|
/*
|
|
* Defines the video frame down sampling information of the keystone scene.
|
|
* CNcomment:定义梯形校正场景视频帧下采样的信息
|
|
*/
|
|
typedef struct {
|
|
td_u32 frame_rate; /* down sampling frame rate. */ /* CNcomment: 起始下采样帧率 */
|
|
td_u32 width; /* down sampling width. */ /* CNcomment: 起始下采样的宽 */
|
|
td_u32 height; /* down sampling height. */ /* CNcomment: 起始下采样的高 */
|
|
uapi_video_pixel_format pixl_format; /* down sampling pixl format. */ /* CNcomment: 下采样的目标像素格式 */
|
|
} uapi_policy_keystone_down_sampling_info;
|
|
|
|
/*
|
|
* Defines the keystone capacity.
|
|
* CNcomment:定义梯形校正场景能力信息
|
|
*/
|
|
typedef struct {
|
|
td_bool is_support_liner; /* support liner or not. */ /* CNcomment: 是否支持liner */
|
|
td_bool is_support_tile; /* support tile or not. */ /* CNcomment: 是否支持tile */
|
|
td_bool is_support_hfbc; /* support hfbc or not. */ /* CNcomment: 是否支持hfbc */
|
|
td_bool is_support_afbc; /* support afbc or not. */ /* CNcomment: 是否支持afbc */
|
|
uapi_pixel_bit_depth bit_depth; /* input bit depth. */ /* CNcomment: 输入位宽 */
|
|
} uapi_policy_keystone_capacity;
|
|
|
|
/*
|
|
* Defines the config of the keystone.
|
|
* CNcomment:定义梯形校正配置信息
|
|
*/
|
|
typedef struct {
|
|
td_bool enable_keystone; /* keystone enable or not. */ /* CNcomment: 是否使能梯形校正 */
|
|
td_bool enable_xdp_crop; /* xdp crop or not. */ /* CNcomment: xdp是否做裁剪 */
|
|
td_bool enable_xdp_zme; /* xdp zme or not. */ /* CNcomment: xdp是否做缩放 */
|
|
td_bool enable_xdp_dc; /* xdp dc or not. */ /* CNcomment: xdp是否做dc */
|
|
td_bool enable_tunnel_low_delay; /* tunnel low delay open or not. */ /* CNcomment: 是否开启行号低延时 */
|
|
uapi_policy_keystone_down_sampling_info down_sampling_info; /* down sampling info. */ /* CNcomment: 下采样信息 */
|
|
uapi_policy_keystone_capacity capacity; /* keystone capacity. */ /* CNcomment: 梯形校正能力 */
|
|
} uapi_policy_keystone_cfg;
|
|
|
|
/*
|
|
* brief set keystone config information.CNcomment: 设置梯形校正的配置信息 CNend
|
|
* attention \n
|
|
* param N/A CNcomment: 无 CNend
|
|
* param[in] keystone config information. CNcomment: 梯形校正配置信息 CNend
|
|
* retval ::TD_SUCCESS Success. CNcomment: 成功 CNend
|
|
* retval ::TD_FAILURE Calling this API fails. CNcomment: API系统调用失败 CNend
|
|
* see \n
|
|
* N/A CNcomment: 无 CNend
|
|
*/
|
|
td_s32 uapi_policy_set_keystone_cfg(const uapi_policy_keystone_cfg *cfg);
|
|
|
|
/*
|
|
* brief get keystone config information.CNcomment: 获取梯形校正的配置信息 CNend
|
|
* attention \n
|
|
* param N/A CNcomment: 无 CNend
|
|
* param[in] keystone config information. CNcomment: 梯形校正配置信息 CNend
|
|
* retval ::TD_SUCCESS Success. CNcomment: 成功 CNend
|
|
* retval ::TD_FAILURE Calling this API fails. CNcomment: API系统调用失败 CNend
|
|
* see \n
|
|
* N/A CNcomment: 无 CNend
|
|
*/
|
|
td_s32 uapi_policy_get_keystone_cfg(uapi_policy_keystone_cfg *cfg);
|
|
|
|
#ifdef __cplusplus
|
|
#if __cplusplus
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
#endif /* __UAPI_POLICY_H__ */
|