/* * Copyright (c) Hisilicon Technologies Co., Ltd. 2020-2020. All rights reserved. * Description: mpi layer private data structure * Author: sdk * Create: 2020-04-03 */ #ifndef __MPI_VENC_H__ #define __MPI_VENC_H__ #include "drv_ioctl_venc.h" #include "soc_log.h" #undef LOG_MODULE_ID #define LOG_MODULE_ID SOC_ID_VENC #define ext_alert_venc(fmt...) soc_log_alert(fmt) #define ext_fatal_venc(fmt...) soc_log_fatal(fmt) #define ext_err_venc(fmt...) soc_log_err(fmt) #define ext_warn_venc(fmt...) soc_log_warn(fmt) #define ext_notice_venc(fmt...) soc_log_notice(fmt) #define ext_info_venc(fmt...) soc_log_info(fmt) #define ext_dbg_venc(fmt...) soc_log_dbg(fmt) #define soc_trace_venc(fmt...) soc_log_trace(fmt) #define venc_unused(x) ((x) = (x)) typedef enum { VEDU_H264 = 0, VEDU_JPGE = 1, VEDU_H265 = 2, } venc_protocol; #define check_venc_ptr_ret(prt) \ do { \ if ((prt) == TD_NULL) { \ ext_err_venc("para ptr is null!\n"); \ return SOC_ERR_VENC_NULL_PTR; \ } \ } while (0) #define check_venc_ptr_ret_void(prt) \ do { \ if ((prt) == TD_NULL) { \ ext_err_venc("para ptr is null!\n"); \ return; \ } \ } while (0) #define venc_check_neq_void_ret(func, ref) \ do { \ td_s32 rst = func; \ if (rst != (ref)) { \ ext_err_venc("check err; ret = 0x%x\n", rst); \ return; \ } \ } while (0) #define venc_check_neq_ret(func, ref, ret) \ do { \ td_s32 rst = func; \ if (rst != (ref)) { \ ext_err_venc("check err; ret = 0x%x\n", rst); \ return ret; \ } \ } while (0) #define u64_ptr(ptr) ((td_void *)(td_uintptr_t)(ptr)) #define ptr_u64(ptr) ((td_u64)(td_uintptr_t)(ptr)) #endif