ss928_framework/ss928sdk/include/ss_mpi_sys.h

100 lines
3.7 KiB
C
Raw Normal View History

2024-12-16 13:31:45 +08:00
/*
Copyright (c), 2001-2022, Shenshu Tech. Co., Ltd.
*/
#ifndef __SS_MPI_SYS_H__
#define __SS_MPI_SYS_H__
#include "ot_type.h"
#include "ot_common.h"
#include "ot_common_sys.h"
#include "ot_debug.h"
#ifdef __cplusplus
extern "C" {
#endif
td_s32 ss_mpi_log_set_level_cfg(const ot_log_level_cfg *level_cfg);
td_s32 ss_mpi_log_get_level_cfg(ot_log_level_cfg *level_cfg);
td_s32 ss_mpi_log_set_wait_flag(td_bool flag);
td_s32 ss_mpi_log_read(td_char *buf, td_u32 size);
td_void ss_mpi_log_close(td_void);
td_s32 ss_mpi_sys_init(td_void);
td_s32 ss_mpi_sys_exit(td_void);
td_s32 ss_mpi_sys_set_cfg(const ot_mpp_sys_cfg *sys_cfg);
td_s32 ss_mpi_sys_get_cfg(ot_mpp_sys_cfg *sys_cfg);
td_s32 ss_mpi_sys_bind(const ot_mpp_chn *src_chn, const ot_mpp_chn *dst_chn);
td_s32 ss_mpi_sys_unbind(const ot_mpp_chn *src_chn, const ot_mpp_chn *dst_chn);
td_s32 ss_mpi_sys_get_bind_by_dst(const ot_mpp_chn *dst_chn, ot_mpp_chn *src_chn);
td_s32 ss_mpi_sys_get_bind_by_src(const ot_mpp_chn *src_chn, ot_mpp_bind_dst *bind_dst);
td_s32 ss_mpi_sys_get_version(ot_mpp_version *version);
td_s32 ss_mpi_sys_get_cur_pts(td_u64 *cur_pts);
td_s32 ss_mpi_sys_init_pts_base(td_u64 pts_base);
td_s32 ss_mpi_sys_sync_pts(td_u64 pts_base);
td_void *ss_mpi_sys_mmap(td_phys_addr_t phys_addr, td_u32 size);
td_s32 ss_mpi_sys_munmap(const td_void *virt_addr, td_u32 size);
td_void *ss_mpi_sys_mmap_cached(td_phys_addr_t phys_addr, td_u32 size);
td_s32 ss_mpi_sys_close_fd(td_void);
/* alloc mmz memory in user context */
td_s32 ss_mpi_sys_mmz_alloc(td_phys_addr_t *phys_addr, td_void **virt_addr, const td_char *mmb, const td_char *zone,
td_u32 len);
/* alloc mmz memory with cache */
td_s32 ss_mpi_sys_mmz_alloc_cached(td_phys_addr_t *phys_addr, td_void **virt_addr, const td_char *mmb,
const td_char *zone, td_u32 len);
/* free mmz memory in user context */
td_s32 ss_mpi_sys_mmz_free(td_phys_addr_t phys_addr, const td_void *virt_addr);
/* flush cache */
td_s32 ss_mpi_sys_flush_cache(td_phys_addr_t phys_addr, td_void *virt_addr, td_u32 size);
/* get virtual meminfo according to virtual addr, should be in one process */
td_s32 ss_mpi_sys_get_virt_mem_info(const void *virt_addr, ot_sys_virt_mem_info *mem_info);
td_s32 ss_mpi_sys_set_mem_cfg(const ot_mpp_chn *mpp_chn, const td_char *mmz_name);
td_s32 ss_mpi_sys_get_mem_cfg(const ot_mpp_chn *mpp_chn, td_char *mmz_name);
td_s32 ss_mpi_sys_set_scale_coef_level(const ot_scale_range *scale_range, const ot_scale_coef_level *scale_coef_level);
td_s32 ss_mpi_sys_get_scale_coef_level(const ot_scale_range *scale_range, ot_scale_coef_level *scale_coef_level);
td_s32 ss_mpi_sys_set_time_zone(td_s32 time_zone);
td_s32 ss_mpi_sys_get_time_zone(td_s32 *time_zone);
td_s32 ss_mpi_sys_set_gps_info(const ot_gps_info *gps_info);
td_s32 ss_mpi_sys_get_gps_info(ot_gps_info *gps_info);
td_s32 ss_mpi_sys_set_vi_vpss_mode(const ot_vi_vpss_mode *vi_vpss_mode);
td_s32 ss_mpi_sys_get_vi_vpss_mode(ot_vi_vpss_mode *vi_vpss_mode);
td_s32 ss_mpi_sys_set_vi_video_mode(ot_vi_video_mode video_mode);
td_s32 ss_mpi_sys_get_vi_video_mode(ot_vi_video_mode *video_mode);
td_s32 ss_mpi_sys_get_chip_id(td_u32 *chip_id);
td_s32 ss_mpi_sys_get_custom_code(td_u32 *custom_code);
td_s32 ss_mpi_sys_get_unique_id(ot_unique_id *unique_id);
td_s32 ss_mpi_sys_set_raw_frame_compress_param(const ot_raw_frame_compress_param *compress_param);
td_s32 ss_mpi_sys_get_raw_frame_compress_param(ot_raw_frame_compress_param *compress_param);
td_s32 ss_mpi_sys_set_tuning_connect(td_s32 connect);
td_s32 ss_mpi_sys_get_tuning_connect(td_s32 *connect);
td_s32 ss_mpi_sys_set_schedule_mode(const ot_schedule_mode *schedule_mode);
td_s32 ss_mpi_sys_get_schedule_mode(ot_schedule_mode *schedule_mode);
#ifdef __cplusplus
}
#endif /* __cplusplus */
#endif /* __SS_MPI_SYS_H__ */