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