xref: /rockchip-linux_mpp/kmpp/base/inc/kmpp_packet.h (revision 437bfbeb9567cca9cd9080e3f6954aa9d6a94f18)
1 /* SPDX-License-Identifier: Apache-2.0 OR MIT */
2 /*
3  * Copyright (c) 2025 Rockchip Electronics Co., Ltd.
4  */
5 
6 #ifndef __KMPP_PACKET_H__
7 #define __KMPP_PACKET_H__
8 
9 #include "rk_type.h"
10 
11 #define KMPP_PACKET_ENTRY_TABLE(prefix, ENTRY, STRCT, EHOOK, SHOOK, ALIAS) \
12     ENTRY(prefix, s32, rk_s32,      size,           FLAG_NONE, size) \
13     ENTRY(prefix, s32, rk_s32,      length,         FLAG_NONE, length) \
14     ENTRY(prefix, s64, rk_s64,      pts,            FLAG_NONE, pts) \
15     ENTRY(prefix, s64, rk_s64,      dts,            FLAG_NONE, dts) \
16     ENTRY(prefix, u32, rk_u32,      status,         FLAG_NONE, status) \
17     ENTRY(prefix, u32, rk_u32,      temporal_id,    FLAG_NONE, temporal_id) \
18     STRCT(prefix, shm, KmppShmPtr,  data,           FLAG_NONE, data) \
19     STRCT(prefix, shm, KmppShmPtr,  buffer,         FLAG_NONE, buffer) \
20     STRCT(prefix, shm, KmppShmPtr,  pos,            FLAG_NONE, pos) \
21     ENTRY(prefix, u32, rk_u32,      flag,           FLAG_NONE, flag)
22 
23 #ifdef __cplusplus
24 extern "C" {
25 #endif
26 
27 #define KMPP_OBJ_NAME           kmpp_packet
28 #define KMPP_OBJ_INTF_TYPE      KmppPacket
29 #define KMPP_OBJ_ENTRY_TABLE    KMPP_PACKET_ENTRY_TABLE
30 #include "kmpp_obj_func.h"
31 
32 rk_s32 kmpp_packet_get_meta(KmppPacket packet, KmppMeta *meta);
33 
34 #ifdef __cplusplus
35 }
36 #endif
37 
38 #endif /*__KMPP_PACKET_H__*/