rt-thread/bsp/allwinner/libraries/libos/include/video/sunxi_metadata.h

71 lines
1.6 KiB
C

/*
* Allwinner SoCs display driver.
*
* Copyright (C) 2016 Allwinner.
*
* This file is licensed under the terms of the GNU General Public
* License version 2. This program is licensed "as is" without any
* warranty of any kind, whether express or implied.
*/
#ifndef __SUNXI_METADATA_H__
#define __SUNXI_METADATA_H__
enum {
/* hdr static metadata is available */
SUNXI_METADATA_FLAG_HDR_SATIC_METADATA = 0x00000001,
/* hdr dynamic metadata is available */
SUNXI_METADATA_FLAG_HDR_DYNAMIC_METADATA = 0x00000002,
/* afbc header data is available */
SUNXI_METADATA_FLAG_AFBC_HEADER = 0x00000010,
};
struct afbc_header {
u32 signature;
u16 filehdr_size;
u16 version;
u32 body_size;
u8 ncomponents;
u8 header_layout;
u8 yuv_transform;
u8 block_split;
u8 inputbits[4];
u16 block_width;
u16 block_height;
u16 width;
u16 height;
u8 left_crop;
u8 top_crop;
u16 block_layout;
};
struct display_master_data {
/* display primaries */
u16 display_primaries_x[3];
u16 display_primaries_y[3];
/* white_point */
u16 white_point_x;
u16 white_point_y;
/* max/min display mastering luminance */
u32 max_display_mastering_luminance;
u32 min_display_mastering_luminance;
};
/* static metadata type 1 */
struct hdr_static_metadata {
struct display_master_data disp_master;
u16 maximum_content_light_level;
u16 maximum_frame_average_light_level;
};
/* sunxi video metadata for ve and de */
struct sunxi_metadata {
struct hdr_static_metadata hdr_smetada;
struct afbc_header afbc_head;
};
#endif /* #ifndef __SUNXI_METADATA_H__ */