You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

71 lines
2.4 KiB

/*
* 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