Files

95 lines
3.8 KiB
C

/*
Copyright (c), 2001-2022, Shenshu Tech. Co., Ltd.
*/
#ifndef __OT_MPI_VI_H__
#define __OT_MPI_VI_H__
#include "ot_common_vi.h"
#include "ot_common_vb.h"
#ifdef __cplusplus
extern "C" {
#endif
td_s32 ss_mpi_vi_set_dev_attr(ot_vi_dev vi_dev, const ot_vi_dev_attr *dev_attr);
td_s32 ss_mpi_vi_get_dev_attr(ot_vi_dev vi_dev, ot_vi_dev_attr *dev_attr);
td_s32 ss_mpi_vi_enable_dev(ot_vi_dev vi_dev);
td_s32 ss_mpi_vi_disable_dev(ot_vi_dev vi_dev);
td_s32 ss_mpi_vi_set_chn_attr(ot_vi_chn vi_chn, const ot_vi_chn_attr *attr);
td_s32 ss_mpi_vi_get_chn_attr(ot_vi_chn vi_chn, ot_vi_chn_attr *attr);
td_s32 ss_mpi_vi_set_minor_chn_attr(ot_vi_chn vi_chn, const ot_vi_chn_attr *attr);
td_s32 ss_mpi_vi_get_minor_chn_attr(ot_vi_chn vi_chn, ot_vi_chn_attr *attr);
td_s32 ss_mpi_vi_enable_chn(ot_vi_chn vi_chn);
td_s32 ss_mpi_vi_disable_chn(ot_vi_chn vi_chn);
td_s32 ss_mpi_vi_get_frame(ot_vi_chn vi_chn, ot_video_frame_info *frame_info, td_s32 milli_sec);
td_s32 ss_mpi_vi_release_frame(ot_vi_chn vi_chn, const ot_video_frame_info *frame_info);
td_s32 ss_mpi_vi_set_frame_depth(ot_vi_chn vi_chn, td_u32 depth);
td_s32 ss_mpi_vi_get_frame_depth(ot_vi_chn vi_chn, td_u32 *depth);
td_s32 ss_mpi_vi_set_user_pic(ot_vi_chn vi_chn, const ot_vi_user_pic_attr *user_pic);
td_s32 ss_mpi_vi_enable_user_pic(ot_vi_chn vi_chn);
td_s32 ss_mpi_vi_disable_user_pic(ot_vi_chn vi_chn);
td_s32 ss_mpi_vi_set_vbi_attr(ot_vi_chn vi_chn, const ot_vi_vbi_arg *vbi_attr);
td_s32 ss_mpi_vi_get_vbi_attr(ot_vi_chn vi_chn, ot_vi_vbi_arg *vbi_attr);
td_s32 ss_mpi_vi_set_vbi_mode(ot_vi_chn vi_chn, const ot_vi_vbi_mode mode);
td_s32 ss_mpi_vi_get_vbi_mode(ot_vi_chn vi_chn, ot_vi_vbi_mode *mode);
td_s32 ss_mpi_vi_enable_vbi(ot_vi_chn vi_chn);
td_s32 ss_mpi_vi_disable_vbi(ot_vi_chn vi_chn);
td_s32 ss_mpi_vi_enable_cas_chn(ot_vi_chn vi_chn);
td_s32 ss_mpi_vi_disable_cas_chn(ot_vi_chn vi_chn);
td_s32 ss_mpi_vi_bind_chn(ot_vi_chn vi_chn, const ot_vi_chn_bind_attr *chn_bind_attr);
td_s32 ss_mpi_vi_unbind_chn(ot_vi_chn vi_chn);
td_s32 ss_mpi_vi_get_chn_bind(ot_vi_chn vi_chn, ot_vi_chn_bind_attr *chn_bind_attr);
td_s32 ss_mpi_vi_set_dev_attr_ex(ot_vi_dev vi_dev, const ot_vi_dev_attr_ex *dev_attr_ex);
td_s32 ss_mpi_vi_get_dev_attr_ex(ot_vi_dev vi_dev, ot_vi_dev_attr_ex *dev_attr_ex);
td_s32 ss_mpi_vi_get_fd(ot_vi_chn vi_chn);
td_s32 ss_mpi_vi_close_fd(td_void);
td_s32 ss_mpi_vi_query(ot_vi_chn vi_chn, ot_vi_chn_status *status);
td_s32 ss_mpi_vi_enable_chn_interrupt(ot_vi_chn vi_chn);
td_s32 ss_mpi_vi_disable_chn_interrupt(ot_vi_chn vi_chn);
td_s32 ss_mpi_vi_get_chn_luma(ot_vi_chn vi_chn, ot_vi_chn_luma *luma);
td_s32 ss_mpi_vi_set_skip_mode(ot_vi_chn vi_chn, ot_vi_skip_mode skip_mode);
td_s32 ss_mpi_vi_get_skip_mode(ot_vi_chn vi_chn, ot_vi_skip_mode *skip_mode);
td_s32 ss_mpi_vi_enable_dll_slave(ot_vi_dev vi_dev);
td_s32 ss_mpi_vi_disable_dll_slave(ot_vi_dev vi_dev);
td_s32 ss_mpi_vi_set_skip_mode_ex(ot_vi_chn vi_chn, const ot_vi_skip_mode_ex *mode_ex);
td_s32 ss_mpi_vi_get_skip_mode_ex(ot_vi_chn vi_chn, ot_vi_skip_mode_ex *mode_ex);
td_s32 ss_mpi_vi_attach_vb_pool(ot_vi_chn vi_chn, ot_vb_pool pool);
td_s32 ss_mpi_vi_detach_vb_pool(ot_vi_chn vi_chn);
td_s32 ss_mpi_vi_detach_vb_pool_by_pool_id(ot_vi_chn vi_chn, ot_vb_pool pool);
td_s32 ss_mpi_vi_set_chn_vb_src(ot_vi_chn vi_chn, ot_vb_src vb_src);
td_s32 ss_mpi_vi_get_chn_vb_src(ot_vi_chn vi_chn, ot_vb_src *vb_src);
td_s32 ss_mpi_vi_set_mod_param(const ot_vi_mod_param *mod_param);
td_s32 ss_mpi_vi_get_mod_param(ot_vi_mod_param *mod_param);
td_s32 ss_mpi_vi_set_rotation(ot_vi_chn vi_chn, const ot_rotation rotation);
td_s32 ss_mpi_vi_get_rotation(ot_vi_chn vi_chn, ot_rotation *rotation);
td_s32 ss_mpi_vi_set_frame_interrupt_attr(ot_vi_chn vi_chn, const ot_frame_interrupt_attr *frame_interrupt_attr);
td_s32 ss_mpi_vi_get_frame_interrupt_attr(ot_vi_chn vi_chn, ot_frame_interrupt_attr *frame_interrupt_attr);
#ifdef __cplusplus
}
#endif
#endif