1*437bfbebSnyanmisaka /* SPDX-License-Identifier: Apache-2.0 OR MIT */ 2*437bfbebSnyanmisaka /* 3*437bfbebSnyanmisaka * Copyright (c) 2024 Rockchip Electronics Co., Ltd. 4*437bfbebSnyanmisaka */ 5*437bfbebSnyanmisaka 6*437bfbebSnyanmisaka #ifndef __MPP_SYS_CFG_ST_H__ 7*437bfbebSnyanmisaka #define __MPP_SYS_CFG_ST_H__ 8*437bfbebSnyanmisaka 9*437bfbebSnyanmisaka #include "rk_type.h" 10*437bfbebSnyanmisaka #include "mpp_err.h" 11*437bfbebSnyanmisaka 12*437bfbebSnyanmisaka #include "mpp_frame.h" 13*437bfbebSnyanmisaka 14*437bfbebSnyanmisaka typedef struct MppSysCfgStHStrd_t { 15*437bfbebSnyanmisaka /* input args start */ 16*437bfbebSnyanmisaka MppCodingType type; 17*437bfbebSnyanmisaka RK_U32 fmt_fbc; 18*437bfbebSnyanmisaka RK_U32 width; 19*437bfbebSnyanmisaka RK_U32 h_stride_by_byte; 20*437bfbebSnyanmisaka 21*437bfbebSnyanmisaka /* output args start */ 22*437bfbebSnyanmisaka RK_U32 h_stride_by_pixel; 23*437bfbebSnyanmisaka } MppSysCfgStHStrd; 24*437bfbebSnyanmisaka 25*437bfbebSnyanmisaka typedef struct MppSysCfgStHByteStrd_t { 26*437bfbebSnyanmisaka /* input args start */ 27*437bfbebSnyanmisaka MppCodingType type; 28*437bfbebSnyanmisaka MppFrameFormat fmt_codec; 29*437bfbebSnyanmisaka RK_U32 fmt_fbc; 30*437bfbebSnyanmisaka RK_U32 width; 31*437bfbebSnyanmisaka 32*437bfbebSnyanmisaka /* in/output args start */ 33*437bfbebSnyanmisaka RK_U32 h_stride_by_byte; 34*437bfbebSnyanmisaka } MppSysCfgStHByteStrd; 35*437bfbebSnyanmisaka 36*437bfbebSnyanmisaka typedef struct MppSysCfgStVStrd_t { 37*437bfbebSnyanmisaka /* input args start */ 38*437bfbebSnyanmisaka MppCodingType type; 39*437bfbebSnyanmisaka RK_U32 fmt_fbc; 40*437bfbebSnyanmisaka RK_U32 height; 41*437bfbebSnyanmisaka 42*437bfbebSnyanmisaka /* in/output args start */ 43*437bfbebSnyanmisaka RK_U32 v_stride; 44*437bfbebSnyanmisaka } MppSysCfgStVStrd; 45*437bfbebSnyanmisaka 46*437bfbebSnyanmisaka typedef struct MppSysCfgStSize_t { 47*437bfbebSnyanmisaka /* input args start */ 48*437bfbebSnyanmisaka MppCodingType type; 49*437bfbebSnyanmisaka MppFrameFormat fmt_codec; 50*437bfbebSnyanmisaka RK_U32 fmt_fbc; 51*437bfbebSnyanmisaka RK_U32 width; 52*437bfbebSnyanmisaka RK_U32 height; 53*437bfbebSnyanmisaka 54*437bfbebSnyanmisaka /* in/output args start */ 55*437bfbebSnyanmisaka RK_U32 h_stride_by_byte; 56*437bfbebSnyanmisaka RK_U32 v_stride; 57*437bfbebSnyanmisaka 58*437bfbebSnyanmisaka /* output args start */ 59*437bfbebSnyanmisaka RK_U32 h_stride_by_pixel; 60*437bfbebSnyanmisaka RK_U32 size_total; 61*437bfbebSnyanmisaka RK_U32 size_fbc_hdr; 62*437bfbebSnyanmisaka RK_U32 size_fbc_bdy; 63*437bfbebSnyanmisaka } MppSysCfgStSize; 64*437bfbebSnyanmisaka 65*437bfbebSnyanmisaka #ifdef __cplusplus 66*437bfbebSnyanmisaka extern "C" { 67*437bfbebSnyanmisaka #endif 68*437bfbebSnyanmisaka 69*437bfbebSnyanmisaka MPP_RET mpp_sys_cfg_st_get_h_stride(MppSysCfgStHStrd *h_stride_cfg); 70*437bfbebSnyanmisaka MPP_RET mpp_sys_cfg_st_get_byte_stride(MppSysCfgStHByteStrd *byte_stride_cfg); 71*437bfbebSnyanmisaka MPP_RET mpp_sys_cfg_st_get_v_stride(MppSysCfgStVStrd *v_stride_cfg); 72*437bfbebSnyanmisaka MPP_RET mpp_sys_cfg_st_get_size(MppSysCfgStSize *size_cfg); 73*437bfbebSnyanmisaka 74*437bfbebSnyanmisaka #ifdef __cplusplus 75*437bfbebSnyanmisaka } 76*437bfbebSnyanmisaka #endif 77*437bfbebSnyanmisaka 78*437bfbebSnyanmisaka #endif /* MPP_SYS_CFGI_H__ */ 79