xref: /rockchip-linux_mpp/inc/rk_venc_cfg.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 __RK_VENC_CFG_H__
7 #define __RK_VENC_CFG_H__
8 
9 #include "rk_mpp_cfg.h"
10 
11 typedef void* MppEncCfg;
12 
13 #ifdef __cplusplus
14 extern "C" {
15 #endif
16 
17 /* userspace encoder config init */
18 MPP_RET mpp_enc_cfg_init(MppEncCfg *cfg);
19 /* kernel encoder config init */
20 MPP_RET mpp_enc_cfg_init_k(MppEncCfg *cfg);
21 /* common config deinit */
22 MPP_RET mpp_enc_cfg_deinit(MppEncCfg cfg);
23 
24 MPP_RET mpp_enc_cfg_set_s32(MppEncCfg cfg, const char *name, RK_S32 val);
25 MPP_RET mpp_enc_cfg_set_u32(MppEncCfg cfg, const char *name, RK_U32 val);
26 MPP_RET mpp_enc_cfg_set_s64(MppEncCfg cfg, const char *name, RK_S64 val);
27 MPP_RET mpp_enc_cfg_set_u64(MppEncCfg cfg, const char *name, RK_U64 val);
28 MPP_RET mpp_enc_cfg_set_ptr(MppEncCfg cfg, const char *name, void *val);
29 MPP_RET mpp_enc_cfg_set_st(MppEncCfg cfg, const char *name, void *val);
30 
31 MPP_RET mpp_enc_cfg_get_s32(MppEncCfg cfg, const char *name, RK_S32 *val);
32 MPP_RET mpp_enc_cfg_get_u32(MppEncCfg cfg, const char *name, RK_U32 *val);
33 MPP_RET mpp_enc_cfg_get_s64(MppEncCfg cfg, const char *name, RK_S64 *val);
34 MPP_RET mpp_enc_cfg_get_u64(MppEncCfg cfg, const char *name, RK_U64 *val);
35 MPP_RET mpp_enc_cfg_get_ptr(MppEncCfg cfg, const char *name, void **val);
36 MPP_RET mpp_enc_cfg_get_st(MppEncCfg cfg, const char *name, void *val);
37 
38 void mpp_enc_cfg_show(void);
39 MPP_RET mpp_enc_cfg_extract(MppEncCfg cfg, MppCfgStrFmt fmt, char **buf);
40 MPP_RET mpp_enc_cfg_apply(MppEncCfg cfg, MppCfgStrFmt fmt, char *buf);
41 
42 #ifdef __cplusplus
43 }
44 #endif
45 
46 #endif /*__RK_VENC_CFG_H__*/
47