mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-22 22:16:22 +00:00
v4l2src: Flag interlaced buffers as interlaced.
We correctly indicate the field ordering on interlaced buffers, but fail to flag them as containing interlaced video, which we need to do here because we signal interlace-mode=mixed in our caps. This means that downstream elements (like vaapipostproc from gstreamer-vaapi) don't recognise these buffers as in need of deinterlacing. Fix this by setting the interlaced flag on all interlaced buffers. Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk> https://bugzilla.gnome.org/show_bug.cgi?id=724899
This commit is contained in:
parent
0898de65c8
commit
b4820460d8
1 changed files with 2 additions and 0 deletions
|
@ -969,9 +969,11 @@ gst_v4l2_buffer_pool_dqbuf (GstV4l2BufferPool * pool, GstBuffer ** buffer)
|
|||
|
||||
/* set top/bottom field first if v4l2_buffer has the information */
|
||||
if (vbuffer.field == V4L2_FIELD_INTERLACED_TB) {
|
||||
GST_BUFFER_FLAG_SET (outbuf, GST_VIDEO_BUFFER_FLAG_INTERLACED);
|
||||
GST_BUFFER_FLAG_SET (outbuf, GST_VIDEO_BUFFER_FLAG_TFF);
|
||||
}
|
||||
if (vbuffer.field == V4L2_FIELD_INTERLACED_BT) {
|
||||
GST_BUFFER_FLAG_SET (outbuf, GST_VIDEO_BUFFER_FLAG_INTERLACED);
|
||||
GST_BUFFER_FLAG_UNSET (outbuf, GST_VIDEO_BUFFER_FLAG_TFF);
|
||||
}
|
||||
if (GST_VIDEO_INFO_FORMAT (&obj->info) == GST_VIDEO_FORMAT_ENCODED) {
|
||||
|
|
Loading…
Reference in a new issue