/* * Copyright (c) Hisilicon Technologies Co., Ltd. 2020-2020. All rights reserved. * Description : tvd iapi */ #ifndef __UAPI_TVD_H__ #define __UAPI_TVD_H__ /* add include here */ #include "uapi_video.h" #include "uapi_system.h" #ifdef __cplusplus #if __cplusplus extern "C" { #endif #endif /* __cplusplus */ /* * Defines the TVD working mode enumeration. * CNcomment: 定义TVD工作模式枚举 */ typedef enum { UAPI_TVD_WORK_MODE_NORMAL = 0, /* TVD work mode normal */ /* CNcomment:TVD正常工作模式 */ UAPI_TVD_WORK_MODE_CHAN_SCAN, /* TVD RF channel scan mode */ /* CNcomment:TVD RF搜台模式 */ UAPI_TVD_WORK_MODE_MAX /* Invalid value */ /* CNcomment:非法边界值 */ } uapi_tvd_work_mode; /* * Defines the TVD comb filter mode enumeration. * CNcomment: 定义TVD梳状滤波器模式枚举 */ typedef enum { UAPI_TVD_COMB_MODE_ADAP = 0, /* TVD adaptive comb filter */ /* CNcomment:TVD自适应梳状滤波器 */ UAPI_TVD_COMB_MODE_FORCE_3D, /* TVD 3D comb filter */ /* CNcomment:TVD 3D梳状滤波器 */ UAPI_TVD_COMB_MODE_FORCE_2D, /* TVD 2D comb filter */ /* CNcomment:TVD 2D梳状滤波器 */ UAPI_TVD_COMB_MODE_FORCE_1D, /* TVD 1D comb filter */ /* CNcomment:TVD 1D梳状滤波器 */ UAPI_TVD_COMB_MODE_MAX /* Invalid value */ /* CNcomment:非法边界值 */ } uapi_tvd_comb_mode; /* * Defines the TVD adjustment position type enumeration. * CNcomment: 定义TVD 调节位置类型枚举 */ typedef enum { UAPI_TVD_POSITION_H = 0, /* TVD adjust H position */ /* CNcomment:调节行起始位置 */ UAPI_TVD_POSITION_V, /* TVD adjust V position */ /* CNcomment:调节场起始位置 */ UAPI_TVD_POSITION_MAX /* Invalid value */ /* CNcomment:非法边界值 */ } uapi_tvd_position; /* * Defines the timing information of the TVD signal. * CNcomment: 定义TVD 信号时序信息结构体 */ typedef struct { td_bool interlace; /* Flag of progressive or interlance */ /* CNcomment:逐隔行标志 */ td_u32 width; /* Active width of input standard signal */ /* CNcomment:信号标准有效像素宽度 */ td_u32 height; /* Active height of input standard signal */ /* CNcomment:信号标准有效像素高度 */ td_u32 frame_rate; /* Frame Rate,fields per second */ /* CNcomment:场频 单位为每秒场数目,60表示60Hz */ uapi_oversample oversample; /* Oversample information */ /* CNcomment:过采样信息 */ uapi_pixel_bit_depth bit_depth; /* Sample bit width */ /* CNcomment:位宽信息 */ uapi_video_pixel_format pixel_fmt; /* Pixel format */ /* CNcomment:像素格式 */ } uapi_tvd_timing_info; /* * Defines the attributes of the TVD input signal. * CNcomment: 定义TVD输入信号属性的结构体 */ typedef struct { uapi_video_source type; /* Input source type */ /* CNcomment: 输入源类别 */ td_u32 index; /* Source index */ /* CNcomment: 输入信号源索引 */ } uapi_tvd_src_attr; /* * Defines the TVD color system filtering. * CNcomment: 定义TVD彩色制式过滤定义的结构体 */ typedef struct { td_bool dis_palm; /* Disable PAL-M in RF source */ /* CNcomment: 过滤掉PAL-M彩色制式 */ td_bool dis_paln; /* Disable PAL-N in RF source */ /* CNcomment: 过滤掉PAL-N彩色制式 */ td_bool dis_secam; /* Disable SECAM in RF source */ /* CNcomment: 过滤掉SECAM彩色制式 */ td_bool dis_pal60; /* Disable PAL-60 in RF source */ /* CNcomment: 过滤掉PAL-60彩色制式 */ td_bool dis_ntsc443; /* Disable NTSC443 in RF source */ /* CNcomment: 过滤掉NTSC443彩色制式 */ } uapi_tvd_sys_filter; /* * Defines the TVD capability level. * CNcomment: 定义TVD能力级的结构体 */ typedef struct { td_u8 atv_max; td_u8 cvbs_max; td_u8 scart_max; } uapi_tvd_capability; /* * brief the whole initialization of the TVD device. CNcomment:TVD接口驱动软件初始化 CNend * attention \n * param CNcomment:无 CNend * retval TD_SUCCESS success CNcomment: 成功 CNend * retval please refer to the err code definitino of mpi.CNcomment:请参考MPI错误码 CNend* see \n * CNcomment:无 CNend */ td_s32 uapi_tvd_init(td_void); /* * brief deinit the TVD device. CNcomment:TVD接口去初始化 CNend * attention \n * param CNcomment:无 CNend * retval TD_SUCCESS success CNcomment: 成功 CNend * retval please refer to the err code definitino of mpi.CNcomment:请参考MPI错误码 CNend * see \n * CNcomment:无 CNend */ td_s32 uapi_tvd_deinit(td_void); /* * Connect the TVD device if source switch to RF or AV. * CNcomment:切换TVD信号源(RF或AV)时连接TVD设备 CNend * attention \n * param[in] src_attr Connected source attribute.CNcomment:连接的信号源属性 CNend * retval TD_SUCCESS success CNcomment: 成功 CNend * retval please refer to the err code definitino of mpi.CNcomment:请参考MPI错误码 CNend * see \n * CNcomment:无 CNend */ td_s32 uapi_tvd_connect(const uapi_tvd_src_attr *src_attr); /* * Disconnect the TVD device if source switch to other source. * CNcomment:切换到其他信号源时断开连接TVD设备 CNend * attention \n * param CNcomment:无 CNend * retval TD_SUCCESS success CNcomment: 成功 CNend * retval please refer to the err code definitino of mpi.CNcomment:请参考MPI错误码 CNend * see \n * CNcomment:无 CNend */ td_s32 uapi_tvd_disconnect(td_void); /* * Get the signal status like no signal/unstable/support. * CNcomment:读取信号状态(无信号/不稳定/信号稳定) CNend * attention \n * param[out] signal_status signal status.CNcomment:获取的信号状态 CNend * retval TD_SUCCESS success CNcomment: 成功 CNend * retval please refer to the err code definitino of mpi.CNcomment:请参考MPI错误码 CNend * see \n * CNcomment:无 CNend */ td_s32 uapi_tvd_get_signal_status(uapi_sig_status *signal_status); /* * Get the standard timing information of current signal. CNcomment:读取信号标准时序信息 CNend * attention \n * param[out] timing_info signal timing information.CNcomment:获取的信号时序信息 CNend * retval TD_SUCCESS success CNcomment: 成功 CNend * retval please refer to the err code definitino of mpi.CNcomment:请参考MPI错误码 CNend * see \n * CNcomment:无 CNend */ td_s32 uapi_tvd_get_timing_info(uapi_tvd_timing_info *timing_info); /* * Set the TVD color system. CNcomment:设置TVD彩色制式 CNend * attention \n * param[in] color_sys color system.CNcomment:彩色制式 CNend * retval TD_SUCCESS success CNcomment: 成功 CNend * retval please refer to the err code definitino of mpi.CNcomment:请参考MPI错误码 CNend * see \n * CNcomment:无 CNend */ td_s32 uapi_tvd_set_color_system(uapi_color_sys color_sys); /* * Get the color system of current system. CNcomment:读取彩色制式信息 CNend * attention \n * param[out] color_sys color system.CNcomment:彩色制式 CNend * retval TD_SUCCESS success CNcomment: 成功 CNend * retval please refer to the err code definitino of mpi.CNcomment:请参考MPI错误码 CNend * see \n * CNcomment:无 CNend */ td_s32 uapi_tvd_get_color_system(uapi_color_sys *color_sys); /* * To check the signal is locked or not in autosearch. CNcomment:读取信号锁定信息 CNend * attention \n * param[out] lock locked or not.CNcomment:锁定信息 CNend * retval TD_SUCCESS success CNcomment: 成功 CNend * retval please refer to the err code definitino of mpi.CNcomment:请参考MPI错误码 CNend * see \n * CNcomment:无 CNend */ td_s32 uapi_tvd_get_signal_lock(td_bool *lock); /* * Get the Noise value of signal. CNcomment:读取噪声测量值 CNend * attention \n * param[out] noise_value noise level.CNcomment:噪声测量值 CNend * retval TD_SUCCESS success CNcomment: 成功 CNend * retval please refer to the err code definitino of mpi.CNcomment:请参考MPI错误码 CNend * see \n * CNcomment:无 CNend */ td_s32 uapi_tvd_get_noise_value(td_u32 *noise_value); /* * To check the signal is Macrovision copyright or not. CNcomment:读取Macrovision版权信息 CNend * attention \n * param[out] status Macrovision copyright information.CNcomment:Macrovision版权信息 CNend * retval TD_SUCCESS success CNcomment: 成功 CNend * retval please refer to the err code definitino of mpi.CNcomment:请参考MPI错误码 CNend * see \n * CNcomment:无 CNend */ td_s32 uapi_tvd_get_macrovision_status(td_bool *status); /* * To check the nonstand signal information. CNcomment:读取非标信息 CNend * attention \n * param[out] nstd_info nonstand signal information.CNcomment:非标信号信息 CNend * retval TD_SUCCESS success CNcomment: 成功 CNend * retval please refer to the err code definitino of mpi.CNcomment:请参考MPI错误码 CNend * see \n * CNcomment:无 CNend */ td_s32 uapi_tvd_get_nonstd_info(uapi_video_nonstd_info *nstd_info); /* * Get the range of H/V adjust. CNcomment:读取H/V调整范围 CNend * attention \n * param[in] type adjust type,H or V. CNcomment:调节位置类型 CNend * param[out] range adjust range.CNcomment:调节范围 CNend * retval TD_SUCCESS success CNcomment: 成功 CNend * retval please refer to the err code definitino of mpi.CNcomment:请参考MPI错误码 CNend * see \n * CNcomment:无 CNend */ td_s32 uapi_tvd_get_range(uapi_tvd_position type, uapi_sys_range *range); /* * Get the current H/V position of tvd output. CNcomment:读取TVD输出的H/V位置信息 CNend * attention \n * param[in] type position type. CNcomment:位置信息类型 CNend * param[out] position position information.CNcomment:位置信息 CNend * retval TD_SUCCESS success CNcomment: 成功 CNend * retval please refer to the err code definitino of mpi.CNcomment:请参考MPI错误码 CNend * see \n * CNcomment:无 CNend */ td_s32 uapi_tvd_get_position(uapi_tvd_position type, td_u32 *position); /* * Set the H/V position of tvd output. CNcomment:设置TVD输出的H/V位置 CNend * attention \n * param[in] type position type. CNcomment:位置信息类型 CNend * param[in] position position information.CNcomment:位置信息 CNend * retval TD_SUCCESS success CNcomment: 成功 CNend * retval please refer to the err code definitino of mpi.CNcomment:请参考MPI错误码 CNend * see \n * CNcomment:无 CNend */ td_s32 uapi_tvd_set_position(uapi_tvd_position type, td_u32 position); /* * Check the signal is exist or not with the non-current source. * CNcomment:读取TVD源离线检测状态 CNend * attention \n * param[in] src_attr source information. CNcomment:离线检测信号源信息 CNend * param[out] status signal exist information.CNcomment:信号是否存在信息 CNend * retval TD_SUCCESS success CNcomment: 成功 CNend * retval please refer to the err code definitino of mpi.CNcomment:请参考MPI错误码 CNend * see \n * CNcomment:无 CNend */ td_s32 uapi_tvd_get_offline_status(const uapi_tvd_src_attr *src_attr, td_bool *status); /* * Enable/disable the Pedestal setting for NTSC/PAL M. * CNcomment:设置NTSC/PAL M制式黑电平7.5IRE CNend * attention \n * param[in] enable TD_TRUE:enable, TD_FALSE:disable.CNcomment:TD_TRUE:使能, TD_FALSE:关闭 CNend * retval TD_SUCCESS success CNcomment: 成功 CNend * retval please refer to the err code definitino of mpi.CNcomment:请参考MPI错误码 CNend * see \n * CNcomment:无 CNend */ td_s32 uapi_tvd_set_pedestal(td_bool enable); /* * Set color system filter. CNcomment:设置彩色制式过滤 CNend * attention \n * param[in] sys_filter color system filter information.CNcomment:彩色制式过滤信息 CNend * retval TD_SUCCESS success CNcomment: 成功 CNend * retval please refer to the err code definitino of mpi.CNcomment:请参考MPI错误码 CNend * see \n * CNcomment:无 CNend */ td_s32 uapi_tvd_set_color_system_filter(const uapi_tvd_sys_filter *sys_filter); /* * Get color system filter. CNcomment读取彩色制式过滤 CNend * attention \n * param[in] sys_filter color system filter information.CNcomment:彩色制式过滤信息 CNend * retval TD_SUCCESS success CNcomment: 成功 CNend * retval please refer to the err code definitino of mpi.CNcomment:请参考MPI错误码 CNend * see \n * CNcomment:无 CNend */ td_s32 uapi_tvd_get_color_system_filter(uapi_tvd_sys_filter *sys_filter); /* * Set the comb working mode like 3d/2d. CNcomment:设置梳状滤波器工作模式 CNend * attention \n * param[in] mode the comb working mode.CNcomment:梳状滤波器工作模式 CNend * retval TD_SUCCESS success CNcomment: 成功 CNend * retval please refer to the err code definitino of mpi.CNcomment:请参考MPI错误码 CNend * see \n * CNcomment:无 CNend */ td_s32 uapi_tvd_set_comb_filter_mode(uapi_tvd_comb_mode mode); /* * Get the signal 625 lines information,For ATV Rf scan signal. CNcomment:读取信号是否是625行 CNend * attention \n * param[out] is_625mode TD_TRUE:625 lines, TD_FALSE:525 lines.CNcomment:TD_TRUE:625行, TD_FALSE:525行 CNend * retval TD_SUCCESS success CNcomment: 成功 CNend * retval please refer to the err code definitino of mpi.CNcomment:请参考MPI错误码 CNend * see \n * CNcomment:无 CNend */ td_s32 uapi_tvd_get_line_status(td_bool *is_625mode); /* * Set the TVD working mode. CNcomment:设置TVD工作模式 CNend * attention \n * param[in] work_mode the TVD working mode.CNcomment:TVD工作模式 CNend * retval TD_SUCCESS success CNcomment: 成功 CNend * retval please refer to the err code definitino of mpi.CNcomment:请参考MPI错误码 CNend * see \n * CNcomment:无 CNend */ td_s32 uapi_tvd_set_work_mode(uapi_tvd_work_mode work_mode); /* * Get the TVD capability. CNcomment:读取TVD能力级 CNend * attention \n * param[in] capability the TVD capability.CNcomment:TVD能力级 CNend * retval TD_SUCCESS success CNcomment: 成功 CNend * retval please refer to the err code definitino of mpi.CNcomment:请参考MPI错误码 CNend * see \n * CNcomment:无 CNend */ td_s32 uapi_tvd_get_capability(uapi_tvd_capability *capability); #ifdef __cplusplus #if __cplusplus } #endif #endif /* __cplusplus */ #endif /* __UAPI_TVD_H__ */