hdr: update doc

update GST_VIDEO_HDR10_PLUS_MAX_ROWS_MD_APL and
GST_VIDEO_HDR10_PLUS_MAX_COLS_MD_APL

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/979>
This commit is contained in:
Stéphane Cerveau 2020-12-15 22:05:11 +01:00
parent 9b852181d8
commit f76b731cbf
2 changed files with 66 additions and 13 deletions

View file

@ -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 = hdr10_plus->num_cols_targeted_system_display_actual_peak_luminance =
gst_bit_reader_get_bits_uint8_unchecked (&br, 5); gst_bit_reader_get_bits_uint8_unchecked (&br, 5);
if (hdr10_plus->num_rows_targeted_system_display_actual_peak_luminance > 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; return FALSE;
if (hdr10_plus->num_cols_targeted_system_display_actual_peak_luminance > 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; return FALSE;
CHECK_HDR10PLUS_REMAINING (br, CHECK_HDR10PLUS_REMAINING (br,
hdr10_plus->num_rows_targeted_system_display_actual_peak_luminance * 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); gst_bit_reader_get_bits_uint32_unchecked (&br, 17);
hdr10_plus->processing_window[w].num_distribution_maxrgb_percentiles = hdr10_plus->processing_window[w].num_distribution_maxrgb_percentiles =
gst_bit_reader_get_bits_uint8_unchecked (&br, 4); gst_bit_reader_get_bits_uint8_unchecked (&br, 4);
if (hdr10_plus-> if (hdr10_plus->processing_window[w].
processing_window[w].num_distribution_maxrgb_percentiles != num_distribution_maxrgb_percentiles !=
HDR10_PLUS_MAX_DIST_MAXRGB_PERCENTILES) HDR10_PLUS_MAX_DIST_MAXRGB_PERCENTILES)
return FALSE; return FALSE;
CHECK_HDR10PLUS_REMAINING (br, 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 = hdr10_plus->num_cols_mastering_display_actual_peak_luminance =
gst_bit_reader_get_bits_uint8_unchecked (&br, 5); gst_bit_reader_get_bits_uint8_unchecked (&br, 5);
if (hdr10_plus->num_rows_mastering_display_actual_peak_luminance > 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; return FALSE;
if (hdr10_plus->num_cols_mastering_display_actual_peak_luminance > 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; return FALSE;
CHECK_HDR10PLUS_REMAINING (br, CHECK_HDR10PLUS_REMAINING (br,
hdr10_plus->num_rows_mastering_display_actual_peak_luminance * hdr10_plus->num_rows_mastering_display_actual_peak_luminance *

View file

@ -31,7 +31,7 @@ G_BEGIN_DECLS
* @GST_VIDEO_HDR_FORMAT_NONE: No HDR format detected. * @GST_VIDEO_HDR_FORMAT_NONE: No HDR format detected.
* @GST_VIDEO_HDR_FORMAT_HDR10: HDR10 format * @GST_VIDEO_HDR_FORMAT_HDR10: HDR10 format
* @GST_VIDEO_HDR_FORMAT_HDR10_PLUS: 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. * 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, GST_VIDEO_HDR_FORMAT_DOLBY_VISION,
} GstVideoHDRFormat; } 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 #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 */ * GST_VIDEO_HDR10_PLUS_NUM_WINDOWS:
#define GST_VIDEO_HDR10_PLUS_MAX_MD_APL 25 /* mastering_display_actual_peak_luminance max value */ *
* 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 _GstVideoMasteringDisplayInfoCoordinates GstVideoMasteringDisplayInfoCoordinates;
typedef struct _GstVideoMasteringDisplayInfo GstVideoMasteringDisplayInfo; typedef struct _GstVideoMasteringDisplayInfo GstVideoMasteringDisplayInfo;
@ -80,12 +119,26 @@ typedef struct {
gsize size; gsize size;
} GstVideoHDRMeta; } GstVideoHDRMeta;
/**
* gst_video_hdr_meta_api_get_type: (attributes doc.skip=true)
*/
GST_VIDEO_API GST_VIDEO_API
GType gst_video_hdr_meta_api_get_type (void); 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()) #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 GST_VIDEO_API
const GstMetaInfo *gst_video_hdr_meta_get_info (void); 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()) #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 targeted_system_display_actual_peak_luminance_flag;
guint8 num_rows_targeted_system_display_actual_peak_luminance; guint8 num_rows_targeted_system_display_actual_peak_luminance;
guint8 num_cols_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 mastering_display_actual_peak_luminance_flag;
guint8 num_rows_mastering_display_actual_peak_luminance; guint8 num_rows_mastering_display_actual_peak_luminance;
guint8 num_cols_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 >*/ /*< private >*/
gpointer _gst_reserved[GST_PADDING]; gpointer _gst_reserved[GST_PADDING];