mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-27 04:01:08 +00:00
videoutils: add HDR metadata fields to GstVideoCodecState
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1175>
This commit is contained in:
parent
a14f4f48c4
commit
b3c7b9be49
2 changed files with 27 additions and 1 deletions
|
@ -171,6 +171,10 @@ _gst_video_codec_state_free (GstVideoCodecState * state)
|
|||
gst_caps_unref (state->allocation_caps);
|
||||
if (state->codec_data)
|
||||
gst_buffer_unref (state->codec_data);
|
||||
if (state->mastering_display_info)
|
||||
g_slice_free (GstVideoMasteringDisplayInfo, state->mastering_display_info);
|
||||
if (state->content_light_level)
|
||||
g_slice_free (GstVideoContentLightLevel, state->content_light_level);
|
||||
g_slice_free (GstVideoCodecState, state);
|
||||
}
|
||||
|
||||
|
|
|
@ -28,6 +28,7 @@
|
|||
|
||||
#include <gst/gst.h>
|
||||
#include <gst/video/video-prelude.h>
|
||||
#include <gst/video/video-hdr.h>
|
||||
|
||||
G_BEGIN_DECLS
|
||||
#define GST_TYPE_VIDEO_CODEC_STATE \
|
||||
|
@ -47,6 +48,10 @@ typedef struct _GstVideoCodecFrame GstVideoCodecFrame;
|
|||
* 'codec_data' field of a stream, or NULL.
|
||||
* @allocation_caps: The #GstCaps for allocation query and pool
|
||||
* negotiation. Since: 1.10
|
||||
* @mastering_display_info: Mastering display color volume information
|
||||
* (HDR metadata) for the stream. Since: 1.20
|
||||
* @content_light_level: Content light level information for the stream.
|
||||
* Since: 1.20
|
||||
*
|
||||
* Structure representing the state of an incoming or outgoing video
|
||||
* stream for encoders and decoders.
|
||||
|
@ -58,6 +63,20 @@ typedef struct _GstVideoCodecFrame GstVideoCodecFrame;
|
|||
* gst_video_decoder_set_output_state() or
|
||||
* gst_video_encoder_set_output_state() methods.
|
||||
*/
|
||||
/**
|
||||
* GstVideoCodecState.mastering_display_info:
|
||||
*
|
||||
* Mastering display color volume information (HDR metadata) for the stream.
|
||||
*
|
||||
* Since: 1.20
|
||||
*/
|
||||
/**
|
||||
* GstVideoCodecState.content_light_level:
|
||||
*
|
||||
* Content light level information for the stream.
|
||||
*
|
||||
* Since: 1.20
|
||||
*/
|
||||
struct _GstVideoCodecState
|
||||
{
|
||||
/*< private >*/
|
||||
|
@ -72,8 +91,11 @@ struct _GstVideoCodecState
|
|||
|
||||
GstCaps *allocation_caps;
|
||||
|
||||
GstVideoMasteringDisplayInfo *mastering_display_info;
|
||||
GstVideoContentLightLevel *content_light_level;
|
||||
|
||||
/*< private >*/
|
||||
gpointer padding[GST_PADDING_LARGE - 1];
|
||||
gpointer padding[GST_PADDING_LARGE - 3];
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in a new issue