/* * 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__ */