1*437bfbebSnyanmisaka /* SPDX-License-Identifier: Apache-2.0 OR MIT */ 2*437bfbebSnyanmisaka /* 3*437bfbebSnyanmisaka * Copyright (c) 2025 Rockchip Electronics Co., Ltd. 4*437bfbebSnyanmisaka */ 5*437bfbebSnyanmisaka 6*437bfbebSnyanmisaka #ifndef __RK_VDEC_KCFG_H__ 7*437bfbebSnyanmisaka #define __RK_VDEC_KCFG_H__ 8*437bfbebSnyanmisaka 9*437bfbebSnyanmisaka #include "rk_type.h" 10*437bfbebSnyanmisaka #include "mpp_err.h" 11*437bfbebSnyanmisaka 12*437bfbebSnyanmisaka typedef void* MppVdecKcfg; 13*437bfbebSnyanmisaka 14*437bfbebSnyanmisaka #ifdef __cplusplus 15*437bfbebSnyanmisaka extern "C" { 16*437bfbebSnyanmisaka #endif 17*437bfbebSnyanmisaka 18*437bfbebSnyanmisaka typedef enum { 19*437bfbebSnyanmisaka MPP_VDEC_KCFG_TYPE_INIT, 20*437bfbebSnyanmisaka MPP_VDEC_KCFG_TYPE_DEINIT, 21*437bfbebSnyanmisaka MPP_VDEC_KCFG_TYPE_RESET, 22*437bfbebSnyanmisaka MPP_VDEC_KCFG_TYPE_START, 23*437bfbebSnyanmisaka MPP_VDEC_KCFG_TYPE_STOP, 24*437bfbebSnyanmisaka MPP_VDEC_KCFG_TYPE_BUTT, 25*437bfbebSnyanmisaka } MppVdecKcfgType; 26*437bfbebSnyanmisaka 27*437bfbebSnyanmisaka MPP_RET mpp_vdec_kcfg_init(MppVdecKcfg *cfg, MppVdecKcfgType type); 28*437bfbebSnyanmisaka MPP_RET mpp_vdec_kcfg_init_by_name(MppVdecKcfg *cfg, const char *name); 29*437bfbebSnyanmisaka MPP_RET mpp_vdec_kcfg_deinit(MppVdecKcfg cfg); 30*437bfbebSnyanmisaka 31*437bfbebSnyanmisaka MPP_RET mpp_vdec_kcfg_set_s32(MppVdecKcfg cfg, const char *name, RK_S32 val); 32*437bfbebSnyanmisaka MPP_RET mpp_vdec_kcfg_set_u32(MppVdecKcfg cfg, const char *name, RK_U32 val); 33*437bfbebSnyanmisaka MPP_RET mpp_vdec_kcfg_set_s64(MppVdecKcfg cfg, const char *name, RK_S64 val); 34*437bfbebSnyanmisaka MPP_RET mpp_vdec_kcfg_set_u64(MppVdecKcfg cfg, const char *name, RK_U64 val); 35*437bfbebSnyanmisaka MPP_RET mpp_vdec_kcfg_set_ptr(MppVdecKcfg cfg, const char *name, void *val); 36*437bfbebSnyanmisaka MPP_RET mpp_vdec_kcfg_set_st(MppVdecKcfg cfg, const char *name, void *val); 37*437bfbebSnyanmisaka 38*437bfbebSnyanmisaka MPP_RET mpp_vdec_kcfg_get_s32(MppVdecKcfg cfg, const char *name, RK_S32 *val); 39*437bfbebSnyanmisaka MPP_RET mpp_vdec_kcfg_get_u32(MppVdecKcfg cfg, const char *name, RK_U32 *val); 40*437bfbebSnyanmisaka MPP_RET mpp_vdec_kcfg_get_s64(MppVdecKcfg cfg, const char *name, RK_S64 *val); 41*437bfbebSnyanmisaka MPP_RET mpp_vdec_kcfg_get_u64(MppVdecKcfg cfg, const char *name, RK_U64 *val); 42*437bfbebSnyanmisaka MPP_RET mpp_vdec_kcfg_get_ptr(MppVdecKcfg cfg, const char *name, void **val); 43*437bfbebSnyanmisaka MPP_RET mpp_vdec_kcfg_get_st(MppVdecKcfg cfg, const char *name, void *val); 44*437bfbebSnyanmisaka 45*437bfbebSnyanmisaka void mpp_vdec_kcfg_show(MppVdecKcfg cfg); 46*437bfbebSnyanmisaka 47*437bfbebSnyanmisaka #ifdef __cplusplus 48*437bfbebSnyanmisaka } 49*437bfbebSnyanmisaka #endif 50*437bfbebSnyanmisaka 51*437bfbebSnyanmisaka #endif /*__RK_VDEC_KCFG_H__*/ 52