From f76b731cbf76aa59ef462e4fd761cceda1f50a6d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Cerveau?= Date: Tue, 15 Dec 2020 22:05:11 +0100 Subject: [PATCH] hdr: update doc update GST_VIDEO_HDR10_PLUS_MAX_ROWS_MD_APL and GST_VIDEO_HDR10_PLUS_MAX_COLS_MD_APL Part-of: --- gst-libs/gst/video/video-hdr.c | 12 +++--- gst-libs/gst/video/video-hdr.h | 67 ++++++++++++++++++++++++++++++---- 2 files changed, 66 insertions(+), 13 deletions(-) diff --git a/gst-libs/gst/video/video-hdr.c b/gst-libs/gst/video/video-hdr.c index 3486c77f13..728d423bf5 100644 --- a/gst-libs/gst/video/video-hdr.c +++ b/gst-libs/gst/video/video-hdr.c @@ -629,10 +629,10 @@ gst_video_hdr_parse_hdr10_plus (const guint8 * data, gsize size, hdr10_plus->num_cols_targeted_system_display_actual_peak_luminance = gst_bit_reader_get_bits_uint8_unchecked (&br, 5); if (hdr10_plus->num_rows_targeted_system_display_actual_peak_luminance > - GST_VIDEO_HDR10_PLUS_MAX_TSD_APL) + GST_VIDEO_HDR10_PLUS_MAX_ROWS_TSD_APL) return FALSE; if (hdr10_plus->num_cols_targeted_system_display_actual_peak_luminance > - GST_VIDEO_HDR10_PLUS_MAX_TSD_APL) + GST_VIDEO_HDR10_PLUS_MAX_COLS_MD_APL) return FALSE; CHECK_HDR10PLUS_REMAINING (br, hdr10_plus->num_rows_targeted_system_display_actual_peak_luminance * @@ -657,8 +657,8 @@ gst_video_hdr_parse_hdr10_plus (const guint8 * data, gsize size, gst_bit_reader_get_bits_uint32_unchecked (&br, 17); hdr10_plus->processing_window[w].num_distribution_maxrgb_percentiles = gst_bit_reader_get_bits_uint8_unchecked (&br, 4); - if (hdr10_plus-> - processing_window[w].num_distribution_maxrgb_percentiles != + if (hdr10_plus->processing_window[w]. + num_distribution_maxrgb_percentiles != HDR10_PLUS_MAX_DIST_MAXRGB_PERCENTILES) return FALSE; CHECK_HDR10PLUS_REMAINING (br, @@ -688,10 +688,10 @@ gst_video_hdr_parse_hdr10_plus (const guint8 * data, gsize size, hdr10_plus->num_cols_mastering_display_actual_peak_luminance = gst_bit_reader_get_bits_uint8_unchecked (&br, 5); if (hdr10_plus->num_rows_mastering_display_actual_peak_luminance > - GST_VIDEO_HDR10_PLUS_MAX_MD_APL) + GST_VIDEO_HDR10_PLUS_MAX_ROWS_TSD_APL) return FALSE; if (hdr10_plus->num_cols_mastering_display_actual_peak_luminance > - GST_VIDEO_HDR10_PLUS_MAX_MD_APL) + GST_VIDEO_HDR10_PLUS_MAX_COLS_MD_APL) return FALSE; CHECK_HDR10PLUS_REMAINING (br, hdr10_plus->num_rows_mastering_display_actual_peak_luminance * diff --git a/gst-libs/gst/video/video-hdr.h b/gst-libs/gst/video/video-hdr.h index 57c038dbea..6b3a915f5e 100644 --- a/gst-libs/gst/video/video-hdr.h +++ b/gst-libs/gst/video/video-hdr.h @@ -31,7 +31,7 @@ G_BEGIN_DECLS * @GST_VIDEO_HDR_FORMAT_NONE: No HDR format detected. * @GST_VIDEO_HDR_FORMAT_HDR10: HDR10 format * @GST_VIDEO_HDR_FORMAT_HDR10_PLUS: HDR10+ format - * * @GST_VIDEO_HDR_FORMAT_DOLBY_VISION: Dolby Vision format + * @GST_VIDEO_HDR_FORMAT_DOLBY_VISION: Dolby Vision format * * Enum value describing the most common video for High Dynamic Range (HDR) formats. * @@ -44,11 +44,50 @@ typedef enum { GST_VIDEO_HDR_FORMAT_DOLBY_VISION, } GstVideoHDRFormat; +/** + * GST_VIDEO_HDR10_PLUS_MAX_BYTES: + * + * Specify the max size for a HDR10+ content + * + * Since: 1.20 + */ #define GST_VIDEO_HDR10_PLUS_MAX_BYTES 1024 -/* defined in CTA-861-G */ -#define GST_VIDEO_HDR10_PLUS_NUM_WINDOWS 1 /* number of windows, shall be 1. */ -#define GST_VIDEO_HDR10_PLUS_MAX_TSD_APL 25 /* targeted_system_display_actual_peak_luminance max value */ -#define GST_VIDEO_HDR10_PLUS_MAX_MD_APL 25 /* mastering_display_actual_peak_luminance max value */ + +/** + * GST_VIDEO_HDR10_PLUS_NUM_WINDOWS: + * + * Number of windows in HDR10+ dynamic metadata. + * Defined in CTA-861-G. + * Shall be 1. + * + * Since: 1.20 + */ +#define GST_VIDEO_HDR10_PLUS_NUM_WINDOWS 1 + +/** + * GST_VIDEO_HDR10_PLUS_MAX_ROWS_TSD_APL: + * + * Specifies the number of columns in the + * targeted_system_display_actual_peak_luminance + * array. + * Defined in CTA-861-G. + * + * Since: 1.20 + */ +#define GST_VIDEO_HDR10_PLUS_MAX_ROWS_TSD_APL 25 + +/** + * GST_VIDEO_HDR10_PLUS_MAX_COLS_MD_APL: + * + * Specifies the number of columns in the + * targeted_system_display_actual_peak_luminance + * array. + * Defined in CTA-861-G. + * + * + * Since: 1.20 + */ +#define GST_VIDEO_HDR10_PLUS_MAX_COLS_MD_APL 25 typedef struct _GstVideoMasteringDisplayInfoCoordinates GstVideoMasteringDisplayInfoCoordinates; typedef struct _GstVideoMasteringDisplayInfo GstVideoMasteringDisplayInfo; @@ -80,12 +119,26 @@ typedef struct { gsize size; } GstVideoHDRMeta; +/** + * gst_video_hdr_meta_api_get_type: (attributes doc.skip=true) + */ GST_VIDEO_API GType gst_video_hdr_meta_api_get_type (void); + +/** + * GST_VIDEO_HDR_META_API_TYPE: (attributes doc.skip=true) + */ #define GST_VIDEO_HDR_META_API_TYPE (gst_video_hdr_meta_api_get_type()) +/** + * gst_video_hdr_meta_get_info: (attributes doc.skip=true) + */ GST_VIDEO_API const GstMetaInfo *gst_video_hdr_meta_get_info (void); + +/** + * GST_VIDEO_HDR_META_INFO: (attributes doc.skip=true) + */ #define GST_VIDEO_HDR_META_INFO (gst_video_hdr_meta_get_info()) /** @@ -332,11 +385,11 @@ struct _GstVideoHDR10Plus guint8 targeted_system_display_actual_peak_luminance_flag; guint8 num_rows_targeted_system_display_actual_peak_luminance; guint8 num_cols_targeted_system_display_actual_peak_luminance; - guint8 targeted_system_display_actual_peak_luminance[GST_VIDEO_HDR10_PLUS_MAX_TSD_APL][GST_VIDEO_HDR10_PLUS_MAX_TSD_APL]; + guint8 targeted_system_display_actual_peak_luminance[GST_VIDEO_HDR10_PLUS_MAX_ROWS_TSD_APL][GST_VIDEO_HDR10_PLUS_MAX_COLS_MD_APL]; guint8 mastering_display_actual_peak_luminance_flag; guint8 num_rows_mastering_display_actual_peak_luminance; guint8 num_cols_mastering_display_actual_peak_luminance; - guint8 mastering_display_actual_peak_luminance[GST_VIDEO_HDR10_PLUS_MAX_MD_APL][GST_VIDEO_HDR10_PLUS_MAX_MD_APL]; + guint8 mastering_display_actual_peak_luminance[GST_VIDEO_HDR10_PLUS_MAX_ROWS_TSD_APL][GST_VIDEO_HDR10_PLUS_MAX_COLS_MD_APL]; /*< private >*/ gpointer _gst_reserved[GST_PADDING];