xref: /rockchip-linux_mpp/kmpp/base/inc/kmpp_frame.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_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