After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 796106 - video: Support alternate interlaced video
video: Support alternate interlaced video
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
unspecified
Other All
: Normal enhancement
: 1.15.1
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2018-05-14 14:31 UTC by Zeeshan Ali
Modified: 2018-08-29 16:50 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
video: Add format for single fields of interlaced video in a buffer (3.23 KB, patch)
2018-05-14 14:31 UTC, Zeeshan Ali
none Details | Review
video: Add GST_VIDEO_INTERLACE_MODE_ALTERNATE (6.14 KB, patch)
2018-05-14 14:31 UTC, Zeeshan Ali
none Details | Review
video: Add format for single fields of interlaced video in a buffer (3.94 KB, patch)
2018-06-01 13:19 UTC, Zeeshan Ali
none Details | Review
video: Add GST_VIDEO_INTERLACE_MODE_ALTERNATE (6.14 KB, patch)
2018-06-01 13:19 UTC, Zeeshan Ali
none Details | Review
video: Add format for single fields of interlaced video in a buffer (4.84 KB, patch)
2018-08-17 16:39 UTC, Zeeshan Ali
none Details | Review
video: Add GST_VIDEO_INTERLACE_MODE_ALTERNATE (6.58 KB, patch)
2018-08-17 16:39 UTC, Zeeshan Ali
none Details | Review
video: Add gst_video_info_set_interlaced_format() (5.06 KB, patch)
2018-08-17 16:39 UTC, Zeeshan Ali
none Details | Review
test: Ensure gst_video_info_set_format() calls succeed (7.71 KB, patch)
2018-08-17 16:39 UTC, Zeeshan Ali
none Details | Review
video: Add GST_VIDEO_INFO_FIELD_HEIGHT() macro (2.15 KB, patch)
2018-08-17 16:40 UTC, Zeeshan Ali
none Details | Review
video: Add gst_video_decoder_set_interlaced_output_state() (5.92 KB, patch)
2018-08-17 16:40 UTC, Zeeshan Ali
none Details | Review
video: Add GST_VIDEO_INFO_FIELD_RATE_N() macro (1.29 KB, patch)
2018-08-17 16:40 UTC, Zeeshan Ali
none Details | Review
video: Add format for single fields of interlaced video in a buffer (5.70 KB, patch)
2018-08-28 11:24 UTC, Zeeshan Ali
committed Details | Review
video: Add GST_VIDEO_INTERLACE_MODE_ALTERNATE (6.62 KB, patch)
2018-08-28 11:24 UTC, Zeeshan Ali
committed Details | Review
video: Add gst_video_info_set_interlaced_format() (5.06 KB, patch)
2018-08-28 11:24 UTC, Zeeshan Ali
committed Details | Review
test: Ensure gst_video_info_set_format() calls succeed (7.71 KB, patch)
2018-08-28 11:24 UTC, Zeeshan Ali
committed Details | Review
video: Add GST_VIDEO_INFO_FIELD_HEIGHT() macro (3.03 KB, patch)
2018-08-28 11:24 UTC, Zeeshan Ali
committed Details | Review
video: Add gst_video_decoder_set_interlaced_output_state() (3.87 KB, patch)
2018-08-28 11:24 UTC, Zeeshan Ali
committed Details | Review
video: Add GST_VIDEO_INFO_FIELD_RATE_N() macro (1.29 KB, patch)
2018-08-28 11:24 UTC, Zeeshan Ali
committed Details | Review

Description Zeeshan Ali 2018-05-14 14:31:33 UTC
Until now, GStreamer has until now only supported mixed and interleaved types of interlaved video buffers. These patches add supporting API and format for interlaced video buffers, where each buffer carries only one of the two fields in an alternating manner.

I'm working on adding actual support for this in interlace and deinterlace elements, which rely on this new API/formats.
I wanted to get input on the API/format already so submitting these patches for review but if they are good, we should
wait before merging until I provide a way to test this in action.
Comment 1 Zeeshan Ali 2018-05-14 14:31:39 UTC
Created attachment 372015 [details] [review]
video: Add format for single fields of interlaced video in a buffer
Comment 2 Zeeshan Ali 2018-05-14 14:31:45 UTC
Created attachment 372016 [details] [review]
video: Add GST_VIDEO_INTERLACE_MODE_ALTERNATE

Add a new interlace mode enum to represent buffers containing a single
field of an interlaced video in a buffer. The name is based on the
equivalent video format in the V4L2 API, V4L2_FIELD_ALTERNATE:

https://01.org/linuxgraphics/gfx-docs/drm/media/uapi/v4l/field-order.html

Since caps fields are optional, we also introduce a new caps feature,
"format:Interlaced" that always goes with "alternate" interlace mode to ensure
that caps for this incompatible format are incompatible with other interlaced
and progressive video caps.
Comment 3 Guillaume Desmottes 2018-06-01 08:50:46 UTC
Review of attachment 372015 [details] [review]:

I think we should modify gst_video_frame_map_id() to add the buffer flag -> frame flag conversion as it exists for the other flags.

::: gst-libs/gst/video/video-frame.h
@@ +58,3 @@
+  GST_VIDEO_FRAME_FLAG_TF           = GST_VIDEO_FRAME_FLAG_TFF |
+                                      GST_VIDEO_FRAME_FLAG_ONEFIELD,
+  GST_VIDEO_FRAME_FLAG_BF           = GST_VIDEO_FRAME_FLAG_ONEFIELD,

Shouldn't we add extra GST_VIDEO_FRAME_IS_* macros for those?
Comment 4 Zeeshan Ali 2018-06-01 09:52:10 UTC
Review of attachment 372015 [details] [review]:

::: gst-libs/gst/video/video-frame.h
@@ +58,3 @@
+  GST_VIDEO_FRAME_FLAG_TF           = GST_VIDEO_FRAME_FLAG_TFF |
+                                      GST_VIDEO_FRAME_FLAG_ONEFIELD,
+  GST_VIDEO_FRAME_FLAG_BF           = GST_VIDEO_FRAME_FLAG_ONEFIELD,

Good catch, yeah I'd think so. Also the gst_video_frame_map_id() should be taken care of, yes.
Comment 5 Zeeshan Ali 2018-06-01 13:03:06 UTC
Review of attachment 372015 [details] [review]:

::: gst-libs/gst/video/video-frame.h
@@ +58,3 @@
+  GST_VIDEO_FRAME_FLAG_TF           = GST_VIDEO_FRAME_FLAG_TFF |
+                                      GST_VIDEO_FRAME_FLAG_ONEFIELD,
+  GST_VIDEO_FRAME_FLAG_BF           = GST_VIDEO_FRAME_FLAG_ONEFIELD,

Actually, the gst_video_frame_map_id() doesn't require any changes since both buffer and frame flags here are just re-using existing flags.
Comment 6 Zeeshan Ali 2018-06-01 13:19:11 UTC
Created attachment 372507 [details] [review]
video: Add format for single fields of interlaced video in a buffer

Addressed comments from Guillaume.
Comment 7 Zeeshan Ali 2018-06-01 13:19:42 UTC
Created attachment 372508 [details] [review]
video: Add GST_VIDEO_INTERLACE_MODE_ALTERNATE

Just re-attaching to keep patches in order.
Comment 8 Guillaume Desmottes 2018-06-01 13:40:09 UTC
(In reply to Zeeshan Ali (Khattak) from comment #5)
> Actually, the gst_video_frame_map_id() doesn't require any changes since
> both buffer and frame flags here are just re-using existing flags.

Right, good point. Maybe add a comment so it's clearer?
Comment 9 Nicolas Dufresne (ndufresne) 2018-06-07 19:15:16 UTC
Review of attachment 372507 [details] [review]:

::: gst-libs/gst/video/video-frame.h
@@ +44,3 @@
+ * @GST_VIDEO_FRAME_FLAG_BF: The video frame has the bottom field only. This is
+ *                           the same as GST_VIDEO_FRAME_FLAG_ONEFIELD
+ *                           (GST_VIDEO_FRAME_FLAG_TFF flag unset).

Missing Since marker.

@@ +58,3 @@
+  GST_VIDEO_FRAME_FLAG_TF           = GST_VIDEO_FRAME_FLAG_TFF |
+                                      GST_VIDEO_FRAME_FLAG_ONEFIELD,
+  GST_VIDEO_FRAME_FLAG_BF           = GST_VIDEO_FRAME_FLAG_ONEFIELD,

May I suggest naming these just _TOP and _BOTTOM ?

@@ +125,3 @@
 #define GST_VIDEO_FRAME_IS_ONEFIELD(f)    (GST_VIDEO_FRAME_FLAG_IS_SET(f, GST_VIDEO_FRAME_FLAG_ONEFIELD))
+#define GST_VIDEO_FRAME_IS_TF(f)          (GST_VIDEO_FRAME_FLAG_IS_SET(f, GST_VIDEO_FRAME_FLAG_TF))
+#define GST_VIDEO_FRAME_IS_BF(f)          (GST_VIDEO_FRAME_FLAG_IS_SET(f, GST_VIDEO_FRAME_FLAG_BF))

Then IS_TOP, IS_BOTTOM.

@@ +174,3 @@
+ * @GST_VIDEO_BUFFER_FLAG_BF:          The video frame has the bottom field only. This is
+ *                                     the same as GST_VIDEO_BUFFER_FLAG_ONEFIELD
+ *                                     (GST_VIDEO_BUFFER_FLAG_TFF flag unset).

Same.

@@ +195,3 @@
+                                       GST_VIDEO_BUFFER_FLAG_ONEFIELD,
+  GST_VIDEO_BUFFER_FLAG_BF           = GST_VIDEO_BUFFER_FLAG_ONEFIELD,
+

Same.
Comment 10 Nicolas Dufresne (ndufresne) 2018-06-07 19:17:08 UTC
Review of attachment 372508 [details] [review]:

This looks sensible to me.

::: gst-libs/gst/video/video-info.h
@@ +35,3 @@
+ *
+ * Name of the caps feature for indicating the stream is interlaced. Currently
+ * it is only used for video.

Need a Since marker.
Comment 11 Edward Hervey 2018-06-08 05:08:57 UTC
Review of attachment 372507 [details] [review]:

::: gst-libs/gst/video/video-frame.h
@@ +58,3 @@
+  GST_VIDEO_FRAME_FLAG_TF           = GST_VIDEO_FRAME_FLAG_TFF |
+                                      GST_VIDEO_FRAME_FLAG_ONEFIELD,
+  GST_VIDEO_FRAME_FLAG_BF           = GST_VIDEO_FRAME_FLAG_ONEFIELD,

or _TOP_FIELD and _BOTTOM_FIELD
Comment 12 Nicolas Dufresne (ndufresne) 2018-06-08 11:52:16 UTC
Or that, I'm just looking for code that I won't need to pause and translate the acronym while reading. I really don't mind the extra chars and TOP_FIELD/BOTTOM_FIELD is really clear.
Comment 13 Guillaume Desmottes 2018-07-02 10:02:39 UTC
Should we add GST_VIDEO_INFO_FIELD_HEIGHT() and GST_VIDEO_INFO_FIELD_SIZE() to save elements implementing this interlacing mode to do the math themselves?
Comment 14 Sebastian Dröge (slomo) 2018-07-02 10:48:44 UTC
Sounds useful, yes
Comment 15 Guillaume Desmottes 2018-07-02 13:18:53 UTC
We'll also have to change existing code as we are breaking the assumption 'info.size == buffer-size'.

Like in gst_video_frame_map() : https://cgit.freedesktop.org/gstreamer/gst-plugins-base/tree/gst-libs/gst/video/video-frame.c#n120
or video_buffer_pool_set_config : https://cgit.freedesktop.org/gstreamer/gst-plugins-base/tree/gst-libs/gst/video/gstvideopool.c#n143

I'm sure there are more of those.

The one frame / one buffer model will go away with bug #660770 as well so it may be interesting to think about the proper general solution we'd want.
Comment 16 Zeeshan Ali 2018-07-02 13:53:49 UTC
(In reply to Guillaume Desmottes from comment #15)
> We'll also have to change existing code as we are breaking the assumption
> 'info.size == buffer-size'.

No, we won't break that. The plan is to add a gst_video_info_set_interlace_format(), that does the same as gst_video_info_set_format() but also gets passed interlace mode, so for ALTERNATE interlace mode, it'll ensure that size canculation takes into account the half height.
Comment 17 Zeeshan Ali 2018-07-02 14:07:21 UTC
(In reply to Guillaume Desmottes from comment #13)
> Should we add GST_VIDEO_INFO_FIELD_HEIGHT() and GST_VIDEO_INFO_FIELD_SIZE()

The former is on my TODO already, the latter not cause Nicolas and I agreed some weeks ago that info.size will hold the actual buffer size and that we add the said helper (in comment#16) to ensure that's the case.
Comment 18 Guillaume Desmottes 2018-07-04 07:33:57 UTC
I agree that info.size being the field/buffer size makes sense. But I find it strange and confusing that some part of GstVideoInfo refers to the full frame (height, width) and some to the field.

Also, if we have an odd frame height what should GST_VIDEO_INFO_FIELD_HEIGHT() be?
Comment 19 Zeeshan Ali 2018-07-04 08:34:43 UTC
(In reply to Guillaume Desmottes from comment #18)
> I agree that info.size being the field/buffer size makes sense. But I find
> it strange and confusing that some part of GstVideoInfo refers to the full
> frame (height, width) and some to the field.

Which ones? info.size is just the buffer size and GST_VIDEO_INFO_FIELD_HEIGHT() will just be a helper on top. The struct itself just represents the caps.

> Also, if we have an odd frame height what should
> GST_VIDEO_INFO_FIELD_HEIGHT() be?

That's good question. I guess the last line will (and should?) be ignored? Maybe it's enough (for now) to just add a note about that in the appropriate places?
Comment 20 Guillaume Desmottes 2018-07-18 08:15:46 UTC
So we agreed that GstVideoInfo.height should be the full frame height. But what about GstVideoMeta.height? Are we keeping the same logic and use the frame height rather than the buffer/field height?
Comment 21 Zeeshan Ali 2018-07-18 11:34:38 UTC
(In reply to Guillaume Desmottes from comment #20)
> So we agreed that GstVideoInfo.height should be the full frame height. But
> what about GstVideoMeta.height? Are we keeping the same logic and use the
> frame height rather than the buffer/field height?

Well in case of VideoInfo, it's expected to be height of the video (not frame) and same as the height in caps. Doesn't VideoMeta represent the buffer/frame rather than the video?
Comment 22 Nicolas Dufresne (ndufresne) 2018-08-01 02:18:14 UTC
Hard to say, VideoMeta is attached to a buffer, so there will be two GstVideoMeta per frame in that context.
Comment 23 Guillaume Desmottes 2018-08-01 06:48:58 UTC
Our current WIP implementation is using the frame height for the video meta; that seemed the easier way.
Comment 24 Zeeshan Ali 2018-08-17 16:39:16 UTC
Created attachment 373400 [details] [review]
video: Add format for single fields of interlaced video in a buffer
Comment 25 Zeeshan Ali 2018-08-17 16:39:32 UTC
Created attachment 373401 [details] [review]
video: Add GST_VIDEO_INTERLACE_MODE_ALTERNATE

Add a new interlace mode enum to represent buffers containing a single
field of an interlaced video in a buffer. The name is based on the
equivalent video format in the V4L2 API, V4L2_FIELD_ALTERNATE:

https://01.org/linuxgraphics/gfx-docs/drm/media/uapi/v4l/field-order.html

Since caps fields are optional, we also introduce a new caps feature,
"format:Interlaced" that always goes with "alternate" interlace mode to ensure
that caps for this incompatible format are incompatible with other interlaced
and progressive video caps.
Comment 26 Zeeshan Ali 2018-08-17 16:39:46 UTC
Created attachment 373402 [details] [review]
video: Add gst_video_info_set_interlaced_format()

Add a helper to set the interlacing mode while creating the GstVideoInfo
in addition to format and resolution. Using this helper will ensure that
size is correctly calculated for split-field interlacing mode.
Comment 27 Zeeshan Ali 2018-08-17 16:39:57 UTC
Created attachment 373403 [details] [review]
test: Ensure gst_video_info_set_format() calls succeed
Comment 28 Zeeshan Ali 2018-08-17 16:40:09 UTC
Created attachment 373404 [details] [review]
video: Add GST_VIDEO_INFO_FIELD_HEIGHT() macro

Add a new macro that gives you the height of a field. It returns the
height of the full frame unless split-field (alternate) interlacing is
in use. Also GST_VIDEO_INFO_COMP_HEIGHT macro now uses this new macro to
get the height for its calculation.
Comment 29 Zeeshan Ali 2018-08-17 16:40:18 UTC
Created attachment 373405 [details] [review]
video: Add gst_video_decoder_set_interlaced_output_state()

Add a variant of gst_video_decoder_set_output_state() that allows the user
to pass an interlacing mode as well. This is needed to ensure that
gst_video_info_set_interlaced_format() is used instead so that
GstVideoInfo.size is correctly initialized.
Comment 30 Zeeshan Ali 2018-08-17 16:40:29 UTC
Created attachment 373406 [details] [review]
video: Add GST_VIDEO_INFO_FIELD_RATE_N() macro

Add a new macro that gives you the rate of the fields, which is the
numerator of the field-rate for ALTERNATE interlacing video and FPS for
progressive and other interlacing formats.
Comment 31 Nicolas Dufresne (ndufresne) 2018-08-27 19:36:43 UTC
Review of attachment 373400 [details] [review]:

::: gst-libs/gst/video/video-frame.h
@@ +41,3 @@
  *     in a set of corresponding views provided as sequential frames.
+ * @GST_VIDEO_FRAME_FLAG_TOP_FIELD: The video frame has the top field only. This
+ *     is the same as GST_VIDEO_FRAME_FLAG_TFF | GST_VIDEO_FRAME_FLAG_ONEFIELD.

(Since 1.16)

@@ +44,3 @@
+ * @GST_VIDEO_FRAME_FLAG_BOTTOM_FIELD: The video frame has the bottom field
+ *     only. This is the same as GST_VIDEO_FRAME_FLAG_ONEFIELD
+ *     (GST_VIDEO_FRAME_FLAG_TFF flag unset).

(Since 1.16)

@@ +174,3 @@
+ * @GST_VIDEO_BUFFER_FLAG_BOTTOM_FIELD: The video frame has the bottom field only. This is
+ *                                     the same as GST_VIDEO_BUFFER_FLAG_ONEFIELD
+ *                                     (GST_VIDEO_BUFFER_FLAG_TFF flag unset).

(Since 1.16)
Comment 32 Nicolas Dufresne (ndufresne) 2018-08-27 19:40:37 UTC
Review of attachment 373401 [details] [review]:

::: gst-libs/gst/video/video-info.c
@@ +698,3 @@
+    height = (gsize) info->height / 2;
+  else
+    height = (gsize) info->height;

Maybe move up the patch adding GST_VIDEO_INFO_FIELD_HEIGHT() and use it here ?

::: gst-libs/gst/video/video-info.h
@@ +34,3 @@
+ * GST_CAPS_FEATURE_FORMAT_INTERLACED:
+ *
+ * Name of the caps feature for indicating the stream is interlaced. Currently

What about "Name of the caps feature indicating that the stream is interlaced." ?

@@ +35,3 @@
+ *
+ * Name of the caps feature for indicating the stream is interlaced. Currently
+ * it is only used for video.

Since: 1.16

@@ +56,3 @@
+ *     @GST_VIDEO_BUFFER_FLAG_TF or @GST_VIDEO_BUFFER_FLAG_BF indicates if
+ *     the buffer is carrying the top or bottom field, respectively. The top and
+ *     bottom buffers are expected to alternate in the pipeline, with this mode.

(Since 1.16)
Comment 33 Nicolas Dufresne (ndufresne) 2018-08-27 19:42:36 UTC
Review of attachment 373402 [details] [review]:

Lgtm.
Comment 34 Nicolas Dufresne (ndufresne) 2018-08-27 19:43:13 UTC
Review of attachment 373403 [details] [review]:

Lgtm.
Comment 35 Nicolas Dufresne (ndufresne) 2018-08-27 19:44:37 UTC
Review of attachment 373404 [details] [review]:

::: gst-libs/gst/video/video-info.h
@@ +349,3 @@
 #define GST_VIDEO_INFO_WIDTH(i)          ((i)->width)
 #define GST_VIDEO_INFO_HEIGHT(i)         ((i)->height)
+#define GST_VIDEO_INFO_FIELD_HEIGHT(i)   ((i)->interlace_mode == GST_VIDEO_INTERLACE_MODE_ALTERNATE? (i)->height / 2 : (i)->height)

A bit sad none of these is documented, but clearly not related to this change, so I'm fine. Maybe document this one, just for the sake of adding the Since: 1.16 marker ?
Comment 36 Nicolas Dufresne (ndufresne) 2018-08-27 19:46:07 UTC
Review of attachment 373405 [details] [review]:

::: gst-libs/gst/video/gstvideodecoder.c
@@ +3471,2 @@
  *
  * Returns: (transfer full): the newly configured output state.

this is the new one, should have a Since: 1.16
Comment 37 Nicolas Dufresne (ndufresne) 2018-08-27 19:46:32 UTC
Review of attachment 373406 [details] [review]:

lgtm
Comment 38 Zeeshan Ali 2018-08-28 11:24:01 UTC
Created attachment 373474 [details] [review]
video: Add format for single fields of interlaced video in a buffer
Comment 39 Zeeshan Ali 2018-08-28 11:24:10 UTC
Created attachment 373475 [details] [review]
video: Add GST_VIDEO_INTERLACE_MODE_ALTERNATE

Add a new interlace mode enum to represent buffers containing a single
field of an interlaced video in a buffer. The name is based on the
equivalent video format in the V4L2 API, V4L2_FIELD_ALTERNATE:

https://01.org/linuxgraphics/gfx-docs/drm/media/uapi/v4l/field-order.html

Since caps fields are optional, we also introduce a new caps feature,
"format:Interlaced" that always goes with "alternate" interlace mode to ensure
that caps for this incompatible format are incompatible with other interlaced
and progressive video caps.
Comment 40 Zeeshan Ali 2018-08-28 11:24:18 UTC
Created attachment 373476 [details] [review]
video: Add gst_video_info_set_interlaced_format()

Add a helper to set the interlacing mode while creating the GstVideoInfo
in addition to format and resolution. Using this helper will ensure that
size is correctly calculated for split-field interlacing mode.
Comment 41 Zeeshan Ali 2018-08-28 11:24:25 UTC
Created attachment 373477 [details] [review]
test: Ensure gst_video_info_set_format() calls succeed
Comment 42 Zeeshan Ali 2018-08-28 11:24:34 UTC
Created attachment 373478 [details] [review]
video: Add GST_VIDEO_INFO_FIELD_HEIGHT() macro

Add a new macro that gives you the height of a field. It returns the
height of the full frame unless split-field (alternate) interlacing is
in use. Also GST_VIDEO_INFO_COMP_HEIGHT macro now uses this new macro to
get the height for its calculation.
Comment 43 Zeeshan Ali 2018-08-28 11:24:46 UTC
Created attachment 373479 [details] [review]
video: Add gst_video_decoder_set_interlaced_output_state()

Add a variant of gst_video_decoder_set_output_state() that allows the user
to pass an interlacing mode as well. This is needed to ensure that
gst_video_info_set_interlaced_format() is used instead so that
GstVideoInfo.size is correctly initialized.
Comment 44 Zeeshan Ali 2018-08-28 11:24:53 UTC
Created attachment 373480 [details] [review]
video: Add GST_VIDEO_INFO_FIELD_RATE_N() macro

Add a new macro that gives you the rate of the fields, which is the
numerator of the field-rate for ALTERNATE interlacing video and FPS for
progressive and other interlacing formats.
Comment 45 Nicolas Dufresne (ndufresne) 2018-08-29 16:11:13 UTC
Review of attachment 373474 [details] [review]:

.
Comment 46 Nicolas Dufresne (ndufresne) 2018-08-29 16:12:43 UTC
Review of attachment 373476 [details] [review]:

.
Comment 47 Nicolas Dufresne (ndufresne) 2018-08-29 16:12:59 UTC
Review of attachment 373477 [details] [review]:

.
Comment 48 Nicolas Dufresne (ndufresne) 2018-08-29 16:13:14 UTC
Review of attachment 373478 [details] [review]:

.
Comment 49 Nicolas Dufresne (ndufresne) 2018-08-29 16:13:24 UTC
Review of attachment 373475 [details] [review]:

.
Comment 50 Nicolas Dufresne (ndufresne) 2018-08-29 16:13:38 UTC
Review of attachment 373479 [details] [review]:

.
Comment 51 Nicolas Dufresne (ndufresne) 2018-08-29 16:13:50 UTC
Review of attachment 373480 [details] [review]:

.
Comment 52 Nicolas Dufresne (ndufresne) 2018-08-29 16:45:12 UTC
Attachment 373474 [details] pushed as 8fa9fda - video: Add format for single fields of interlaced video in a buffer
Attachment 373475 [details] pushed as bd9c7b3 - video: Add GST_VIDEO_INTERLACE_MODE_ALTERNATE
Attachment 373476 [details] pushed as 0fbe463 - video: Add gst_video_info_set_interlaced_format()
Attachment 373477 [details] pushed as 0c034f3 - test: Ensure gst_video_info_set_format() calls succeed
Attachment 373478 [details] pushed as 4879983 - video: Add GST_VIDEO_INFO_FIELD_HEIGHT() macro
Attachment 373479 [details] pushed as be6c840 - video: Add gst_video_decoder_set_interlaced_output_state()
Attachment 373480 [details] pushed as 3880eb8 - video: Add GST_VIDEO_INFO_FIELD_RATE_N() macro