1 /* SPDX-License-Identifier: Apache-2.0 OR MIT */ 2 /* 3 * Copyright (c) 2025 Rockchip Electronics Co., Ltd. 4 */ 5 6 #ifndef __KMPP_VDEC_H__ 7 #define __KMPP_VDEC_H__ 8 9 #include "rk_vdec_kcfg.h" 10 11 typedef void* KmppVdec; 12 13 #define KMPP_VDEC_IOCTL_TABLE(prefix, IOC_CTX, IOC_IN_, IOC_OUT, IOC_IO_) \ 14 IOC_IN_(prefix, init, MppVdecKcfg) \ 15 IOC_CTX(prefix, deinit) \ 16 IOC_CTX(prefix, reset) \ 17 IOC_CTX(prefix, start) \ 18 IOC_CTX(prefix, stop) \ 19 IOC_IN_(prefix, get_cfg, MppVdecKcfg) \ 20 IOC_IN_(prefix, set_cfg, MppVdecKcfg) \ 21 IOC_IN_(prefix, get_rt_cfg, MppVdecKcfg) \ 22 IOC_IN_(prefix, set_rt_cfg, MppVdecKcfg) \ 23 IOC_IO_(prefix, decode, KmppPacket, KmppFrame) \ 24 IOC_IN_(prefix, put_pkt, KmppPacket) \ 25 IOC_OUT(prefix, get_frm, KmppFrame) \ 26 IOC_IN_(prefix, put_frm, KmppFrame) 27 28 #define KMPP_OBJ_NAME kmpp_vdec 29 #define KMPP_OBJ_INTF_TYPE KmppVdec 30 #define KMPP_OBJ_FUNC_IOCTL KMPP_VDEC_IOCTL_TABLE 31 #include "kmpp_obj_func.h" 32 33 #endif /*__KMPP_VDEC_H__*/ 34