mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-30 13:41:48 +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:{
|
||||
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->prefer_passthrough = prefer_passthrough;
|
||||
break;
|
||||
|
@ -532,11 +532,8 @@ gst_alpha_set_caps (GstBaseTransform * btrans,
|
|||
|
||||
GST_ALPHA_LOCK (alpha);
|
||||
|
||||
alpha->in_sdtv =
|
||||
in_info.color_matrix ? g_str_equal (in_info.color_matrix, "sdtv") : TRUE;
|
||||
alpha->out_sdtv =
|
||||
out_info.color_matrix ? g_str_equal (out_info.color_matrix,
|
||||
"sdtv") : TRUE;
|
||||
alpha->in_sdtv = in_info.colorimetry.matrix = GST_VIDEO_COLOR_MATRIX_BT601;
|
||||
alpha->out_sdtv = out_info.colorimetry.matrix = GST_VIDEO_COLOR_MATRIX_BT601;
|
||||
|
||||
passthrough = alpha->prefer_passthrough &&
|
||||
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))
|
||||
goto invalid_caps;
|
||||
|
||||
in_sdtv =
|
||||
in_info.color_matrix ? g_str_equal (in_info.color_matrix, "sdtv") : TRUE;
|
||||
out_sdtv =
|
||||
out_info.color_matrix ? g_str_equal (out_info.color_matrix,
|
||||
"sdtv") : TRUE;
|
||||
in_sdtv = in_info.colorimetry.matrix = GST_VIDEO_COLOR_MATRIX_BT601;
|
||||
out_sdtv = out_info.colorimetry.matrix = GST_VIDEO_COLOR_MATRIX_BT601;
|
||||
|
||||
switch (GST_VIDEO_INFO_FORMAT (&in_info)) {
|
||||
case GST_VIDEO_FORMAT_ARGB:
|
||||
|
|
|
@ -121,14 +121,17 @@ gst_rtp_vraw_pay_setcaps (GstBaseRTPPayload * payload, GstCaps * caps)
|
|||
|
||||
rtpvrawpay->vinfo = info;
|
||||
|
||||
colorimetrystr = "SMPTE240M";
|
||||
if (info.color_matrix) {
|
||||
if (g_str_equal (info.color_matrix, "sdtv")) {
|
||||
/* BT.601 implies a bit more than just color-matrix */
|
||||
if (gst_video_colorimetry_matches (&info.colorimetry,
|
||||
GST_VIDEO_COLORIMETRY_BT601)) {
|
||||
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";
|
||||
}
|
||||
} else if (gst_video_colorimetry_matches (&info.colorimetry,
|
||||
GST_VIDEO_COLORIMETRY_SMPTE240M)) {
|
||||
colorimetrystr = "SMPTE240M";
|
||||
} else {
|
||||
colorimetrystr = "SMPTE240M";
|
||||
}
|
||||
|
||||
xinc = yinc = 1;
|
||||
|
@ -268,7 +271,7 @@ gst_rtp_vraw_pay_handle_buffer (GstBaseRTPPayload * payload, GstBuffer * buffer)
|
|||
width = GST_VIDEO_INFO_WIDTH (&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 */
|
||||
for (field = 0; field < 1 + interlaced; field++) {
|
||||
|
|
Loading…
Reference in a new issue