xref: /rockchip-linux_mpp/kmpp/base/inc/kmpp_meta_impl.h (revision 437bfbeb9567cca9cd9080e3f6954aa9d6a94f18)
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 __KMPP_META_IMPL_H__
7*437bfbebSnyanmisaka #define __KMPP_META_IMPL_H__
8*437bfbebSnyanmisaka 
9*437bfbebSnyanmisaka #include "mpp_list.h"
10*437bfbebSnyanmisaka #include "kmpp_meta.h"
11*437bfbebSnyanmisaka 
12*437bfbebSnyanmisaka #define MPP_TAG_SIZE            32
13*437bfbebSnyanmisaka 
14*437bfbebSnyanmisaka typedef struct __attribute__((packed)) KmppMetaVal_t {
15*437bfbebSnyanmisaka     rk_u32              state;
16*437bfbebSnyanmisaka     union {
17*437bfbebSnyanmisaka         rk_s32          val_s32;
18*437bfbebSnyanmisaka         rk_s64          val_s64;
19*437bfbebSnyanmisaka         void            *val_ptr;
20*437bfbebSnyanmisaka     };
21*437bfbebSnyanmisaka } KmppMetaVal;
22*437bfbebSnyanmisaka 
23*437bfbebSnyanmisaka typedef struct __attribute__((packed)) KmppMetaShmVal_t {
24*437bfbebSnyanmisaka     rk_u32              state;
25*437bfbebSnyanmisaka     KmppShmPtr          val_shm;
26*437bfbebSnyanmisaka } KmppMetaObj;
27*437bfbebSnyanmisaka 
28*437bfbebSnyanmisaka #ifdef __cplusplus
29*437bfbebSnyanmisaka extern "C" {
30*437bfbebSnyanmisaka #endif
31*437bfbebSnyanmisaka 
32*437bfbebSnyanmisaka #ifdef __cplusplus
33*437bfbebSnyanmisaka }
34*437bfbebSnyanmisaka #endif
35*437bfbebSnyanmisaka 
36*437bfbebSnyanmisaka #endif /*__KMPP_META_IMPL_H__*/
37