firmware/br-ext-chip-allwinner/board/v83x/kernel/patches/00000-include_video_sunxi_m...

75 lines
1.8 KiB
Diff

diff -drupN a/include/video/sunxi_metadata.h b/include/video/sunxi_metadata.h
--- a/include/video/sunxi_metadata.h 1970-01-01 03:00:00.000000000 +0300
+++ b/include/video/sunxi_metadata.h 2022-06-12 05:28:14.000000000 +0300
@@ -0,0 +1,70 @@
+/*
+ * 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__ */