1*437bfbebSnyanmisaka /* SPDX-License-Identifier: Apache-2.0 OR MIT */ 2*437bfbebSnyanmisaka /* 3*437bfbebSnyanmisaka * Copyright (c) 2021 Rockchip Electronics Co., Ltd. 4*437bfbebSnyanmisaka */ 5*437bfbebSnyanmisaka 6*437bfbebSnyanmisaka #ifndef __MPP_CALLBACK_H__ 7*437bfbebSnyanmisaka #define __MPP_CALLBACK_H__ 8*437bfbebSnyanmisaka 9*437bfbebSnyanmisaka #include "rk_type.h" 10*437bfbebSnyanmisaka #include "mpp_err.h" 11*437bfbebSnyanmisaka 12*437bfbebSnyanmisaka typedef MPP_RET (*MppCallBack)(const char *caller, void *ctx, RK_S32 cmd, void *param); 13*437bfbebSnyanmisaka 14*437bfbebSnyanmisaka typedef struct DecCallBackCtx_t { 15*437bfbebSnyanmisaka MppCallBack callBack; 16*437bfbebSnyanmisaka void *ctx; 17*437bfbebSnyanmisaka RK_S32 cmd; 18*437bfbebSnyanmisaka } MppCbCtx; 19*437bfbebSnyanmisaka 20*437bfbebSnyanmisaka #ifdef __cplusplus 21*437bfbebSnyanmisaka extern "C" { 22*437bfbebSnyanmisaka #endif 23*437bfbebSnyanmisaka 24*437bfbebSnyanmisaka #define mpp_callback(ctx, param) mpp_callback_f(__FUNCTION__, ctx, param) 25*437bfbebSnyanmisaka 26*437bfbebSnyanmisaka MPP_RET mpp_callback_f(const char *caller, MppCbCtx *ctx, void *param); 27*437bfbebSnyanmisaka 28*437bfbebSnyanmisaka #ifdef __cplusplus 29*437bfbebSnyanmisaka } 30*437bfbebSnyanmisaka #endif 31*437bfbebSnyanmisaka 32*437bfbebSnyanmisaka #endif /* __MPP_CALLBACK_H__ */ 33