ss928_framework/ss928sdk/include/ss_mpi_vpss.h

135 lines
6.4 KiB
C
Raw Permalink Normal View History

2024-12-16 13:31:45 +08:00
/*
Copyright (c), 2001-2022, Shenshu Tech. Co., Ltd.
*/
#ifndef __SS_MPI_VPSS_H__
#define __SS_MPI_VPSS_H__
#include "ot_common.h"
#include "ot_common_video.h"
#include "ot_common_vb.h"
#include "ot_common_gdc.h"
#include "ot_common_vpss.h"
#ifdef __cplusplus
extern "C" {
#endif
/* group settings */
td_s32 ss_mpi_vpss_create_grp(ot_vpss_grp grp, const ot_vpss_grp_attr *grp_attr);
td_s32 ss_mpi_vpss_destroy_grp(ot_vpss_grp grp);
td_s32 ss_mpi_vpss_start_grp(ot_vpss_grp grp);
td_s32 ss_mpi_vpss_stop_grp(ot_vpss_grp grp);
td_s32 ss_mpi_vpss_reset_grp(ot_vpss_grp grp);
td_s32 ss_mpi_vpss_get_grp_attr(ot_vpss_grp grp, ot_vpss_grp_attr *grp_attr);
td_s32 ss_mpi_vpss_set_grp_attr(ot_vpss_grp grp, const ot_vpss_grp_attr *grp_attr);
td_s32 ss_mpi_vpss_get_grp_param(ot_vpss_grp grp, ot_vpss_grp_param *grp_param);
td_s32 ss_mpi_vpss_set_grp_param(ot_vpss_grp grp, const ot_vpss_grp_param *grp_param);
td_s32 ss_mpi_vpss_get_grp_nrx_adv_param(ot_vpss_grp grp, ot_vpss_nrx_adv_param *nrx_adv_param);
td_s32 ss_mpi_vpss_set_grp_nrx_adv_param(ot_vpss_grp grp, const ot_vpss_nrx_adv_param *nrx_adv_param);
td_s32 ss_mpi_vpss_set_grp_crop(ot_vpss_grp grp, const ot_vpss_crop_info *crop_info);
td_s32 ss_mpi_vpss_get_grp_crop(ot_vpss_grp grp, ot_vpss_crop_info *crop_info);
td_s32 ss_mpi_vpss_send_frame(ot_vpss_grp grp, const ot_video_frame_info *frame_info, td_s32 milli_sec);
td_s32 ss_mpi_vpss_get_grp_frame(ot_vpss_grp grp, ot_video_frame_info *frame_info, td_s32 milli_sec);
td_s32 ss_mpi_vpss_release_grp_frame(ot_vpss_grp grp, const ot_video_frame_info *frame_info);
td_s32 ss_mpi_vpss_enable_backup_frame(ot_vpss_grp grp);
td_s32 ss_mpi_vpss_disable_backup_frame(ot_vpss_grp grp);
td_s32 ss_mpi_vpss_set_chn_sharpen(ot_vpss_grp grp, ot_vpss_chn chn, const ot_vpss_chn_sharpen_param *sharpen_param);
td_s32 ss_mpi_vpss_get_chn_sharpen(ot_vpss_grp grp, ot_vpss_chn chn, ot_vpss_chn_sharpen_param *sharpen_param);
td_s32 ss_mpi_vpss_set_grp_delay(ot_vpss_grp grp, td_u32 delay);
td_s32 ss_mpi_vpss_get_grp_delay(ot_vpss_grp grp, td_u32 *delay);
td_s32 ss_mpi_vpss_set_grp_sizer(ot_vpss_grp grp, const ot_vpss_sizer_info *sizer_info);
td_s32 ss_mpi_vpss_get_grp_sizer(ot_vpss_grp grp, ot_vpss_sizer_info *sizer_info);
td_s32 ss_mpi_vpss_enable_user_frame_rate_ctrl(ot_vpss_grp grp);
td_s32 ss_mpi_vpss_disable_user_frame_rate_ctrl(ot_vpss_grp grp);
td_s32 ss_mpi_vpss_get_ldci_attr(ot_vpss_grp grp, ot_vpss_ldci_attr *ldci_attr);
td_s32 ss_mpi_vpss_set_ldci_attr(ot_vpss_grp grp, const ot_vpss_ldci_attr *ldci_attr);
td_s32 ss_mpi_vpss_set_grp_frame_interrupt_attr(ot_vpss_grp grp, const ot_frame_interrupt_attr *frame_interrupt_attr);
td_s32 ss_mpi_vpss_get_grp_frame_interrupt_attr(ot_vpss_grp grp, ot_frame_interrupt_attr *frame_interrupt_attr);
/* chn settings */
td_s32 ss_mpi_vpss_set_chn_attr(ot_vpss_grp grp, ot_vpss_chn chn, const ot_vpss_chn_attr *chn_attr);
td_s32 ss_mpi_vpss_get_chn_attr(ot_vpss_grp grp, ot_vpss_chn chn, ot_vpss_chn_attr *chn_attr);
td_s32 ss_mpi_vpss_enable_chn(ot_vpss_grp grp, ot_vpss_chn chn);
td_s32 ss_mpi_vpss_disable_chn(ot_vpss_grp grp, ot_vpss_chn chn);
td_s32 ss_mpi_vpss_set_chn_rotation(ot_vpss_grp grp, ot_vpss_chn chn, const ot_rotation_attr *rotation_attr);
td_s32 ss_mpi_vpss_get_chn_rotation(ot_vpss_grp grp, ot_vpss_chn chn, ot_rotation_attr *rotation_attr);
td_s32 ss_mpi_vpss_get_chn_frame(ot_vpss_grp grp, ot_vpss_chn chn, ot_video_frame_info *frame_info, td_s32 milli_sec);
td_s32 ss_mpi_vpss_release_chn_frame(ot_vpss_grp grp, ot_vpss_chn chn, const ot_video_frame_info *frame_info);
td_s32 ss_mpi_vpss_get_grp_rgn_luma(ot_vpss_grp grp, td_u32 num, const ot_rect *rgn, ot_vpss_luma_result *luma_result,
td_s32 milli_sec);
td_s32 ss_mpi_vpss_get_chn_rgn_luma(ot_vpss_grp grp, ot_vpss_chn chn, td_u32 num, const ot_rect *rgn,
td_u64 *luma_data, td_s32 milli_sec);
td_s32 ss_mpi_vpss_set_chn_crop(ot_vpss_grp grp, ot_vpss_chn chn, const ot_vpss_crop_info *crop_info);
td_s32 ss_mpi_vpss_get_chn_crop(ot_vpss_grp grp, ot_vpss_chn chn, ot_vpss_crop_info *crop_info);
td_s32 ss_mpi_vpss_attach_vb_pool(ot_vpss_grp grp, ot_vpss_chn chn, ot_vb_pool vb_pool);
td_s32 ss_mpi_vpss_detach_vb_pool(ot_vpss_grp grp, ot_vpss_chn chn);
td_s32 ss_mpi_vpss_set_low_delay_attr(ot_vpss_grp grp, ot_vpss_chn chn, const ot_low_delay_info *low_delay_info);
td_s32 ss_mpi_vpss_get_low_delay_attr(ot_vpss_grp grp, ot_vpss_chn chn, ot_low_delay_info *low_delay_info);
td_s32 ss_mpi_vpss_set_chn_spread_attr(ot_vpss_grp grp, ot_vpss_chn chn, const ot_spread_attr *spread_attr);
td_s32 ss_mpi_vpss_get_chn_spread_attr(ot_vpss_grp grp, ot_vpss_chn chn, ot_spread_attr *spread_attr);
td_s32 ss_mpi_vpss_set_chn_ldc_attr(ot_vpss_grp grp, ot_vpss_chn chn, const ot_ldc_attr *ldc_attr);
td_s32 ss_mpi_vpss_get_chn_ldc_attr(ot_vpss_grp grp, ot_vpss_chn chn, ot_ldc_attr *ldc_attr);
td_s32 ss_mpi_vpss_ldc_pos_query_dst_to_src(ot_vpss_grp grp, ot_vpss_chn chn, const ot_point *dst_point,
ot_point *src_point);
td_s32 ss_mpi_vpss_ldc_pos_query_src_to_dst(ot_vpss_grp grp, ot_vpss_chn chn, const ot_point *src_point,
ot_point *dst_point);
td_s32 ss_mpi_vpss_set_grp_fisheye_cfg(ot_vpss_grp grp, const ot_fisheye_cfg *fisheye_cfg);
td_s32 ss_mpi_vpss_get_grp_fisheye_cfg(ot_vpss_grp grp, ot_fisheye_cfg *fisheye_cfg);
td_s32 ss_mpi_vpss_set_chn_fisheye(ot_vpss_grp grp, ot_vpss_chn chn,
const ot_fisheye_correction_attr *correction_attr);
td_s32 ss_mpi_vpss_get_chn_fisheye(ot_vpss_grp grp, ot_vpss_chn chn, ot_fisheye_correction_attr *correction_attr);
td_s32 ss_mpi_vpss_fisheye_pos_query_dst_to_src(ot_vpss_grp grp, ot_vpss_chn chn, td_u32 region_index,
const ot_point *dst_point, ot_point *src_point);
td_s32 ss_mpi_vpss_set_ext_chn_attr(ot_vpss_grp grp, ot_vpss_chn chn, const ot_vpss_ext_chn_attr *ext_chn_attr);
td_s32 ss_mpi_vpss_get_ext_chn_attr(ot_vpss_grp grp, ot_vpss_chn chn, ot_vpss_ext_chn_attr *ext_chn_attr);
td_s32 ss_mpi_vpss_enable_quick_send(ot_vpss_grp grp, ot_vpss_chn chn);
td_s32 ss_mpi_vpss_disable_quick_send(ot_vpss_grp grp, ot_vpss_chn chn);
td_s32 ss_mpi_vpss_set_chn_align(ot_vpss_grp grp, ot_vpss_chn chn, td_u32 align);
td_s32 ss_mpi_vpss_get_chn_align(ot_vpss_grp grp, ot_vpss_chn chn, td_u32 *align);
/* module param settings */
td_s32 ss_mpi_vpss_set_mod_param(const ot_vpss_mod_param *mod_param);
td_s32 ss_mpi_vpss_get_mod_param(ot_vpss_mod_param *mod_param);
td_s32 ss_mpi_vpss_get_chn_fd(ot_vpss_grp grp, ot_vpss_chn chn);
td_s32 ss_mpi_vpss_close_fd(td_void);
#ifdef __cplusplus
}
#endif
#endif /* __SS_MPI_VPSS_H__ */