1 /* SPDX-License-Identifier: Apache-2.0 OR MIT */ 2 /* 3 * Copyright (c) 2025 Rockchip Electronics Co., Ltd. 4 */ 5 6 #ifndef __KMPP_FRAME_H__ 7 #define __KMPP_FRAME_H__ 8 9 #include "mpp_frame.h" 10 11 #define KMPP_FRAME_ENTRY_TABLE(prefix, ENTRY, STRCT, EHOOK, SHOOK, ALIAS) \ 12 ENTRY(prefix, u32, rk_u32, width, FLAG_NONE, width) \ 13 ENTRY(prefix, u32, rk_u32, height, FLAG_NONE, height) \ 14 ENTRY(prefix, u32, rk_u32, hor_stride, FLAG_NONE, hor_stride) \ 15 ENTRY(prefix, u32, rk_u32, ver_stride, FLAG_NONE, ver_stride) \ 16 ENTRY(prefix, u32, rk_u32, hor_stride_pixel, FLAG_NONE, hor_stride_pixel) \ 17 ENTRY(prefix, u32, rk_u32, offset_x, FLAG_NONE, offset_x) \ 18 ENTRY(prefix, u32, rk_u32, offset_y, FLAG_NONE, offset_y) \ 19 ENTRY(prefix, u32, rk_u32, poc, FLAG_NONE, poc) \ 20 ENTRY(prefix, s64, rk_s64, pts, FLAG_NONE, pts) \ 21 ENTRY(prefix, s64, rk_s64, dts, FLAG_NONE, dts) \ 22 ENTRY(prefix, u32, rk_u32, eos, FLAG_NONE, eos) \ 23 ENTRY(prefix, u32, rk_u32, color_range, FLAG_NONE, color_range) \ 24 ENTRY(prefix, u32, rk_u32, color_primaries, FLAG_NONE, color_primaries) \ 25 ENTRY(prefix, u32, rk_u32, color_trc, FLAG_NONE, color_trc) \ 26 ENTRY(prefix, u32, rk_u32, colorspace, FLAG_NONE, colorspace) \ 27 ENTRY(prefix, u32, rk_u32, chroma_location, FLAG_NONE, chroma_location) \ 28 ENTRY(prefix, u32, rk_u32, fmt, FLAG_NONE, fmt) \ 29 ENTRY(prefix, u32, rk_u32, buf_size, FLAG_NONE, buf_size) \ 30 ENTRY(prefix, u32, rk_u32, buf_fd, FLAG_NONE, buf_fd) \ 31 ENTRY(prefix, u32, rk_u32, is_gray, FLAG_NONE, is_gray) \ 32 STRCT(prefix, shm, KmppShmPtr, buffer, FLAG_NONE, buffer) \ 33 STRCT(prefix, st, MppFrameRational, sar, FLAG_NONE, sar) 34 35 #ifdef __cplusplus 36 extern "C" { 37 #endif 38 39 #define KMPP_OBJ_NAME kmpp_frame 40 #define KMPP_OBJ_INTF_TYPE KmppFrame 41 #define KMPP_OBJ_ENTRY_TABLE KMPP_FRAME_ENTRY_TABLE 42 #include "kmpp_obj_func.h" 43 44 rk_s32 kmpp_frame_get_meta(KmppFrame frame, KmppMeta *meta); 45 46 #ifdef __cplusplus 47 } 48 #endif 49 50 #endif /*__KMPP_FRAME_H__*/ 51