Files
mpp/kmpp/base/inc/kmpp_frame.h
Herman Chen f662bfc1c1 feat[kmpp_obj]: Refactor kmpp_obj helper
1. Integrate simple element and struct element to one macro.
2. Resolve different update flag mode.
3. Support hierarchy definition for future config file registration.

Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I691a99aafec3f4e9d4e883e172d2b82ace44e379
2025-05-26 18:16:17 +08:00

49 lines
2.5 KiB
C

/* SPDX-License-Identifier: Apache-2.0 OR MIT */
/*
* Copyright (c) 2025 Rockchip Electronics Co., Ltd.
*/
#ifndef __KMPP_FRAME_H__
#define __KMPP_FRAME_H__
#include "mpp_frame.h"
#define KMPP_FRAME_ENTRY_TABLE(prefix, ENTRY, STRCT, EHOOK, SHOOK, ALIAS) \
ENTRY(prefix, u32, rk_u32, width, ELEM_FLAG_NONE, width) \
ENTRY(prefix, u32, rk_u32, height, ELEM_FLAG_NONE, height) \
ENTRY(prefix, u32, rk_u32, hor_stride, ELEM_FLAG_NONE, hor_stride) \
ENTRY(prefix, u32, rk_u32, ver_stride, ELEM_FLAG_NONE, ver_stride) \
ENTRY(prefix, u32, rk_u32, hor_stride_pixel, ELEM_FLAG_NONE, hor_stride_pixel) \
ENTRY(prefix, u32, rk_u32, offset_x, ELEM_FLAG_NONE, offset_x) \
ENTRY(prefix, u32, rk_u32, offset_y, ELEM_FLAG_NONE, offset_y) \
ENTRY(prefix, u32, rk_u32, poc, ELEM_FLAG_NONE, poc) \
ENTRY(prefix, s64, rk_s64, pts, ELEM_FLAG_NONE, pts) \
ENTRY(prefix, s64, rk_s64, dts, ELEM_FLAG_NONE, dts) \
ENTRY(prefix, u32, rk_u32, eos, ELEM_FLAG_NONE, eos) \
ENTRY(prefix, u32, rk_u32, color_range, ELEM_FLAG_NONE, color_range) \
ENTRY(prefix, u32, rk_u32, color_primaries, ELEM_FLAG_NONE, color_primaries) \
ENTRY(prefix, u32, rk_u32, color_trc, ELEM_FLAG_NONE, color_trc) \
ENTRY(prefix, u32, rk_u32, colorspace, ELEM_FLAG_NONE, colorspace) \
ENTRY(prefix, u32, rk_u32, chroma_location, ELEM_FLAG_NONE, chroma_location) \
ENTRY(prefix, u32, rk_u32, fmt, ELEM_FLAG_NONE, fmt) \
ENTRY(prefix, u32, rk_u32, buf_size, ELEM_FLAG_NONE, buf_size) \
ENTRY(prefix, u32, rk_u32, is_gray, ELEM_FLAG_NONE, is_gray) \
STRCT(prefix, shm, KmppShmPtr, meta, ELEM_FLAG_NONE, meta) \
STRCT(prefix, shm, KmppShmPtr, buffer, ELEM_FLAG_NONE, buffer) \
STRCT(prefix, st, MppFrameRational, sar, ELEM_FLAG_NONE, sar)
#ifdef __cplusplus
extern "C" {
#endif
#define KMPP_OBJ_NAME kmpp_frame
#define KMPP_OBJ_INTF_TYPE KmppFrame
#define KMPP_OBJ_ENTRY_TABLE KMPP_FRAME_ENTRY_TABLE
#include "kmpp_obj_func.h"
#ifdef __cplusplus
}
#endif
#endif /*__KMPP_FRAME_H__*/