Skip to content

Commit

Permalink
video: Make use of gst_video_chroma_site_{from,to}_string() API
Browse files Browse the repository at this point in the history
Replace deprecated gst_video_chroma_{from,to}_string()
to newly added gst_video_chroma_site_{from,to}_string()

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/927>
  • Loading branch information
seungha-yang authored and GStreamer Merge Bot committed Dec 8, 2020
1 parent 410efd1 commit a4ba868
Show file tree
Hide file tree
Showing 3 changed files with 36 additions and 14 deletions.
18 changes: 11 additions & 7 deletions gst-libs/gst/video/gstvideoaggregator.c
Expand Up @@ -583,7 +583,7 @@ static void
{
GstVideoAggregatorPad *vpad = GST_VIDEO_AGGREGATOR_PAD (pad);
gchar *colorimetry, *best_colorimetry;
const gchar *chroma, *best_chroma;
gchar *chroma, *best_chroma;

g_return_if_fail (GST_IS_VIDEO_AGGREGATOR_CONVERT_PAD (pad));
g_return_if_fail (convert_info != NULL);
Expand All @@ -599,10 +599,10 @@ static void
}

colorimetry = gst_video_colorimetry_to_string (&vpad->info.colorimetry);
chroma = gst_video_chroma_to_string (vpad->info.chroma_site);
chroma = gst_video_chroma_site_to_string (vpad->info.chroma_site);

best_colorimetry = gst_video_colorimetry_to_string (&agg->info.colorimetry);
best_chroma = gst_video_chroma_to_string (agg->info.chroma_site);
best_chroma = gst_video_chroma_site_to_string (agg->info.chroma_site);

if (GST_VIDEO_INFO_FORMAT (&agg->info) != GST_VIDEO_INFO_FORMAT (&vpad->info)
|| g_strcmp0 (colorimetry, best_colorimetry)
Expand Down Expand Up @@ -632,6 +632,8 @@ static void

g_free (colorimetry);
g_free (best_colorimetry);
g_free (chroma);
g_free (best_chroma);
}

static void
Expand Down Expand Up @@ -1045,6 +1047,7 @@ gst_video_aggregator_default_update_caps (GstVideoAggregator * vagg,
GstVideoFormat best_format;
GstVideoInfo best_info;
gchar *color_name;
gchar *chroma_site;

best_format = GST_VIDEO_FORMAT_UNKNOWN;
gst_video_info_init (&best_info);
Expand All @@ -1063,25 +1066,26 @@ gst_video_aggregator_default_update_caps (GstVideoAggregator * vagg,
}

color_name = gst_video_colorimetry_to_string (&best_info.colorimetry);
chroma_site = gst_video_chroma_site_to_string (best_info.chroma_site);

GST_DEBUG_OBJECT (vagg,
"The output format will now be : %s with chroma : %s and colorimetry %s",
gst_video_format_to_string (best_format),
GST_STR_NULL (gst_video_chroma_to_string (best_info.chroma_site)),
GST_STR_NULL (color_name));
GST_STR_NULL (chroma_site), GST_STR_NULL (color_name));

best_format_caps = gst_caps_copy (caps);
gst_caps_set_simple (best_format_caps, "format", G_TYPE_STRING,
gst_video_format_to_string (best_format), NULL);

if (best_info.chroma_site != GST_VIDEO_CHROMA_SITE_UNKNOWN)
if (chroma_site != NULL)
gst_caps_set_simple (best_format_caps, "chroma-site", G_TYPE_STRING,
gst_video_chroma_to_string (best_info.chroma_site), NULL);
chroma_site, NULL);
if (color_name != NULL)
gst_caps_set_simple (best_format_caps, "colorimetry", G_TYPE_STRING,
color_name, NULL);

g_free (color_name);
g_free (chroma_site);
ret = gst_caps_merge (best_format_caps, gst_caps_ref (caps));

return ret;
Expand Down
15 changes: 12 additions & 3 deletions gst-libs/gst/video/gstvideoencoder.c
Expand Up @@ -1851,9 +1851,18 @@ gst_video_encoder_negotiate_default (GstVideoEncoder * encoder)
colorimetry, NULL);
g_free (colorimetry);

if (info->chroma_site != GST_VIDEO_CHROMA_SITE_UNKNOWN)
gst_caps_set_simple (state->caps, "chroma-site", G_TYPE_STRING,
gst_video_chroma_to_string (info->chroma_site), NULL);
if (info->chroma_site != GST_VIDEO_CHROMA_SITE_UNKNOWN) {
gchar *chroma_site = gst_video_chroma_site_to_string (info->chroma_site);

if (!chroma_site) {
GST_WARNING ("Couldn't convert chroma-site 0x%x to string",
info->chroma_site);
} else {
gst_caps_set_simple (state->caps,
"chroma-site", G_TYPE_STRING, chroma_site, NULL);
g_free (chroma_site);
}
}

if (GST_VIDEO_INFO_MULTIVIEW_MODE (info) != GST_VIDEO_MULTIVIEW_MODE_NONE) {
const gchar *caps_mview_mode =
Expand Down
17 changes: 13 additions & 4 deletions gst-libs/gst/video/video-info.c
Expand Up @@ -508,7 +508,7 @@ gst_video_info_from_caps (GstVideoInfo * info, const GstCaps * caps)
}

if ((s = gst_structure_get_string (structure, "chroma-site")))
info->chroma_site = gst_video_chroma_from_string (s);
info->chroma_site = gst_video_chroma_site_from_string (s);
else
info->chroma_site = GST_VIDEO_CHROMA_SITE_UNKNOWN;

Expand Down Expand Up @@ -723,9 +723,18 @@ gst_video_info_to_caps (GstVideoInfo * info)
gst_caps_set_simple (caps, "pixel-aspect-ratio",
GST_TYPE_FRACTION, par_n, par_d, NULL);

if (info->chroma_site != GST_VIDEO_CHROMA_SITE_UNKNOWN)
gst_caps_set_simple (caps, "chroma-site", G_TYPE_STRING,
gst_video_chroma_to_string (info->chroma_site), NULL);
if (info->chroma_site != GST_VIDEO_CHROMA_SITE_UNKNOWN) {
gchar *chroma_site = gst_video_chroma_site_to_string (info->chroma_site);

if (!chroma_site) {
GST_WARNING ("Couldn't convert chroma-site 0x%x to string",
info->chroma_site);
} else {
gst_caps_set_simple (caps,
"chroma-site", G_TYPE_STRING, chroma_site, NULL);
g_free (chroma_site);
}
}

/* make sure we set the RGB matrix for RGB formats */
colorimetry = info->colorimetry;
Expand Down

0 comments on commit a4ba868

Please sign in to comment.