xref: /rockchip-linux_mpp/inc/rk_venc_cfg.h (revision 437bfbeb9567cca9cd9080e3f6954aa9d6a94f18)
1*437bfbebSnyanmisaka /* SPDX-License-Identifier: Apache-2.0 OR MIT */
2*437bfbebSnyanmisaka /*
3*437bfbebSnyanmisaka  * Copyright (c) 2015 Rockchip Electronics Co., Ltd.
4*437bfbebSnyanmisaka  */
5*437bfbebSnyanmisaka 
6*437bfbebSnyanmisaka #ifndef __RK_VENC_CFG_H__
7*437bfbebSnyanmisaka #define __RK_VENC_CFG_H__
8*437bfbebSnyanmisaka 
9*437bfbebSnyanmisaka #include "rk_mpp_cfg.h"
10*437bfbebSnyanmisaka 
11*437bfbebSnyanmisaka typedef void* MppEncCfg;
12*437bfbebSnyanmisaka 
13*437bfbebSnyanmisaka #ifdef __cplusplus
14*437bfbebSnyanmisaka extern "C" {
15*437bfbebSnyanmisaka #endif
16*437bfbebSnyanmisaka 
17*437bfbebSnyanmisaka /* userspace encoder config init */
18*437bfbebSnyanmisaka MPP_RET mpp_enc_cfg_init(MppEncCfg *cfg);
19*437bfbebSnyanmisaka /* kernel encoder config init */
20*437bfbebSnyanmisaka MPP_RET mpp_enc_cfg_init_k(MppEncCfg *cfg);
21*437bfbebSnyanmisaka /* common config deinit */
22*437bfbebSnyanmisaka MPP_RET mpp_enc_cfg_deinit(MppEncCfg cfg);
23*437bfbebSnyanmisaka 
24*437bfbebSnyanmisaka MPP_RET mpp_enc_cfg_set_s32(MppEncCfg cfg, const char *name, RK_S32 val);
25*437bfbebSnyanmisaka MPP_RET mpp_enc_cfg_set_u32(MppEncCfg cfg, const char *name, RK_U32 val);
26*437bfbebSnyanmisaka MPP_RET mpp_enc_cfg_set_s64(MppEncCfg cfg, const char *name, RK_S64 val);
27*437bfbebSnyanmisaka MPP_RET mpp_enc_cfg_set_u64(MppEncCfg cfg, const char *name, RK_U64 val);
28*437bfbebSnyanmisaka MPP_RET mpp_enc_cfg_set_ptr(MppEncCfg cfg, const char *name, void *val);
29*437bfbebSnyanmisaka MPP_RET mpp_enc_cfg_set_st(MppEncCfg cfg, const char *name, void *val);
30*437bfbebSnyanmisaka 
31*437bfbebSnyanmisaka MPP_RET mpp_enc_cfg_get_s32(MppEncCfg cfg, const char *name, RK_S32 *val);
32*437bfbebSnyanmisaka MPP_RET mpp_enc_cfg_get_u32(MppEncCfg cfg, const char *name, RK_U32 *val);
33*437bfbebSnyanmisaka MPP_RET mpp_enc_cfg_get_s64(MppEncCfg cfg, const char *name, RK_S64 *val);
34*437bfbebSnyanmisaka MPP_RET mpp_enc_cfg_get_u64(MppEncCfg cfg, const char *name, RK_U64 *val);
35*437bfbebSnyanmisaka MPP_RET mpp_enc_cfg_get_ptr(MppEncCfg cfg, const char *name, void **val);
36*437bfbebSnyanmisaka MPP_RET mpp_enc_cfg_get_st(MppEncCfg cfg, const char *name, void *val);
37*437bfbebSnyanmisaka 
38*437bfbebSnyanmisaka void mpp_enc_cfg_show(void);
39*437bfbebSnyanmisaka MPP_RET mpp_enc_cfg_extract(MppEncCfg cfg, MppCfgStrFmt fmt, char **buf);
40*437bfbebSnyanmisaka MPP_RET mpp_enc_cfg_apply(MppEncCfg cfg, MppCfgStrFmt fmt, char *buf);
41*437bfbebSnyanmisaka 
42*437bfbebSnyanmisaka #ifdef __cplusplus
43*437bfbebSnyanmisaka }
44*437bfbebSnyanmisaka #endif
45*437bfbebSnyanmisaka 
46*437bfbebSnyanmisaka #endif /*__RK_VENC_CFG_H__*/
47