xref: /rockchip-linux_mpp/kmpp/inc/kmpp_venc.h (revision 437bfbeb9567cca9cd9080e3f6954aa9d6a94f18)
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