mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-03-01 17:31:10 +00:00
video: port to new colorimetry info
This commit is contained in:
parent
d6908f1a2d
commit
60f0e44bf6
3 changed files with 17 additions and 20 deletions
|
@ -377,7 +377,7 @@ gst_alpha_set_property (GObject * object, guint prop_id,
|
||||||
case PROP_PREFER_PASSTHROUGH:{
|
case PROP_PREFER_PASSTHROUGH:{
|
||||||
gboolean prefer_passthrough = g_value_get_boolean (value);
|
gboolean prefer_passthrough = g_value_get_boolean (value);
|
||||||
|
|
||||||
reconfigure = ((!!prefer_passthrough) != (!!alpha->prefer_passthrough))
|
reconfigure = ((! !prefer_passthrough) != (! !alpha->prefer_passthrough))
|
||||||
&& (alpha->method == ALPHA_METHOD_SET) && (alpha->alpha == 1.0);
|
&& (alpha->method == ALPHA_METHOD_SET) && (alpha->alpha == 1.0);
|
||||||
alpha->prefer_passthrough = prefer_passthrough;
|
alpha->prefer_passthrough = prefer_passthrough;
|
||||||
break;
|
break;
|
||||||
|
@ -532,11 +532,8 @@ gst_alpha_set_caps (GstBaseTransform * btrans,
|
||||||
|
|
||||||
GST_ALPHA_LOCK (alpha);
|
GST_ALPHA_LOCK (alpha);
|
||||||
|
|
||||||
alpha->in_sdtv =
|
alpha->in_sdtv = in_info.colorimetry.matrix = GST_VIDEO_COLOR_MATRIX_BT601;
|
||||||
in_info.color_matrix ? g_str_equal (in_info.color_matrix, "sdtv") : TRUE;
|
alpha->out_sdtv = out_info.colorimetry.matrix = GST_VIDEO_COLOR_MATRIX_BT601;
|
||||||
alpha->out_sdtv =
|
|
||||||
out_info.color_matrix ? g_str_equal (out_info.color_matrix,
|
|
||||||
"sdtv") : TRUE;
|
|
||||||
|
|
||||||
passthrough = alpha->prefer_passthrough &&
|
passthrough = alpha->prefer_passthrough &&
|
||||||
GST_VIDEO_INFO_FORMAT (&in_info) == GST_VIDEO_INFO_FORMAT (&out_info)
|
GST_VIDEO_INFO_FORMAT (&in_info) == GST_VIDEO_INFO_FORMAT (&out_info)
|
||||||
|
|
|
@ -491,11 +491,8 @@ gst_alpha_color_set_caps (GstBaseTransform * btrans, GstCaps * incaps,
|
||||||
GST_VIDEO_INFO_HEIGHT (&in_info) != GST_VIDEO_INFO_HEIGHT (&out_info))
|
GST_VIDEO_INFO_HEIGHT (&in_info) != GST_VIDEO_INFO_HEIGHT (&out_info))
|
||||||
goto invalid_caps;
|
goto invalid_caps;
|
||||||
|
|
||||||
in_sdtv =
|
in_sdtv = in_info.colorimetry.matrix = GST_VIDEO_COLOR_MATRIX_BT601;
|
||||||
in_info.color_matrix ? g_str_equal (in_info.color_matrix, "sdtv") : TRUE;
|
out_sdtv = out_info.colorimetry.matrix = GST_VIDEO_COLOR_MATRIX_BT601;
|
||||||
out_sdtv =
|
|
||||||
out_info.color_matrix ? g_str_equal (out_info.color_matrix,
|
|
||||||
"sdtv") : TRUE;
|
|
||||||
|
|
||||||
switch (GST_VIDEO_INFO_FORMAT (&in_info)) {
|
switch (GST_VIDEO_INFO_FORMAT (&in_info)) {
|
||||||
case GST_VIDEO_FORMAT_ARGB:
|
case GST_VIDEO_FORMAT_ARGB:
|
||||||
|
|
|
@ -121,14 +121,17 @@ gst_rtp_vraw_pay_setcaps (GstBaseRTPPayload * payload, GstCaps * caps)
|
||||||
|
|
||||||
rtpvrawpay->vinfo = info;
|
rtpvrawpay->vinfo = info;
|
||||||
|
|
||||||
colorimetrystr = "SMPTE240M";
|
if (gst_video_colorimetry_matches (&info.colorimetry,
|
||||||
if (info.color_matrix) {
|
GST_VIDEO_COLORIMETRY_BT601)) {
|
||||||
if (g_str_equal (info.color_matrix, "sdtv")) {
|
|
||||||
/* BT.601 implies a bit more than just color-matrix */
|
|
||||||
colorimetrystr = "BT601-5";
|
colorimetrystr = "BT601-5";
|
||||||
} else if (g_str_equal (info.color_matrix, "hdtv")) {
|
} else if (gst_video_colorimetry_matches (&info.colorimetry,
|
||||||
|
GST_VIDEO_COLORIMETRY_BT709)) {
|
||||||
colorimetrystr = "BT709-2";
|
colorimetrystr = "BT709-2";
|
||||||
}
|
} else if (gst_video_colorimetry_matches (&info.colorimetry,
|
||||||
|
GST_VIDEO_COLORIMETRY_SMPTE240M)) {
|
||||||
|
colorimetrystr = "SMPTE240M";
|
||||||
|
} else {
|
||||||
|
colorimetrystr = "SMPTE240M";
|
||||||
}
|
}
|
||||||
|
|
||||||
xinc = yinc = 1;
|
xinc = yinc = 1;
|
||||||
|
@ -268,7 +271,7 @@ gst_rtp_vraw_pay_handle_buffer (GstBaseRTPPayload * payload, GstBuffer * buffer)
|
||||||
width = GST_VIDEO_INFO_WIDTH (&rtpvrawpay->vinfo);
|
width = GST_VIDEO_INFO_WIDTH (&rtpvrawpay->vinfo);
|
||||||
height = GST_VIDEO_INFO_HEIGHT (&rtpvrawpay->vinfo);
|
height = GST_VIDEO_INFO_HEIGHT (&rtpvrawpay->vinfo);
|
||||||
|
|
||||||
interlaced = !!(rtpvrawpay->vinfo.flags & GST_VIDEO_FLAG_INTERLACED);
|
interlaced = ! !(rtpvrawpay->vinfo.flags & GST_VIDEO_FLAG_INTERLACED);
|
||||||
|
|
||||||
/* start with line 0, offset 0 */
|
/* start with line 0, offset 0 */
|
||||||
for (field = 0; field < 1 + interlaced; field++) {
|
for (field = 0; field < 1 + interlaced; field++) {
|
||||||
|
|
Loading…
Reference in a new issue