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__*/