1 /* SPDX-License-Identifier: Apache-2.0 OR MIT */ 2 /* 3 * Copyright (c) 2015 Rockchip Electronics Co., Ltd. 4 */ 5 6 #ifndef __KMPP_VENC_H__ 7 #define __KMPP_VENC_H__ 8 9 #include "rk_venc_kcfg.h" 10 11 typedef void* KmppVenc; 12 13 #define KMPP_VENC_IOCTL_TABLE(prefix, IOC_CTX, IOC_IN_, IOC_OUT, IOC_IO_) \ 14 IOC_IN_(prefix, init, MppVencKcfg) \ 15 IOC_CTX(prefix, deinit) \ 16 IOC_CTX(prefix, reset) \ 17 IOC_CTX(prefix, start) \ 18 IOC_CTX(prefix, stop) \ 19 IOC_CTX(prefix, suspend) \ 20 IOC_CTX(prefix, resume) \ 21 IOC_IN_(prefix, get_cfg, MppVencKcfg) \ 22 IOC_IN_(prefix, set_cfg, MppVencKcfg) \ 23 IOC_IO_(prefix, encode, KmppFrame, KmppPacket) \ 24 IOC_IN_(prefix, put_frm, KmppFrame) \ 25 IOC_OUT(prefix, get_pkt, KmppPacket) \ 26 IOC_IN_(prefix, put_pkt, KmppPacket) 27 28 #define KMPP_OBJ_NAME kmpp_venc 29 #define KMPP_OBJ_INTF_TYPE KmppVenc 30 #define KMPP_OBJ_FUNC_IOCTL KMPP_VENC_IOCTL_TABLE 31 #include "kmpp_obj_func.h" 32 33 #endif /*__KMPP_VENC_H__*/ 34