deinterlace: Provide documentation for GST_DEINTERLACE_BUFFER_STATE
authorRobert Swain <robert.swain@gmail.com>
Wed, 3 Feb 2021 15:10:20 +0000 (17:10 +0200)
committerVivia Nikolaidou <vivia@ahiru.eu>
Wed, 3 Feb 2021 15:10:20 +0000 (17:10 +0200)
More information available in
https://gstconf.ubicast.tv/videos/interlacing-and-telecine-in-gstreamer/

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/866>

gst/deinterlace/gstdeinterlace.c

index 5b21e48..acdfde9 100644 (file)
@@ -73,12 +73,25 @@ enum
   PROP_DROP_ORPHANS
 };
 
+/* P is progressive, meaning the top and bottom fields belong to
+ * the same frame, i.e. they were sampled at the same time */
 #define GST_DEINTERLACE_BUFFER_STATE_P    (1<<0)
+/* I is interlaced meaning that the two fields were sampled at
+ * different times, usually equidistant in time so one at 1/60,
+ * the other at 2/60 */
 #define GST_DEINTERLACE_BUFFER_STATE_I    (1<<1)
+/* TC is telecine, B means bottom, T means top */
 #define GST_DEINTERLACE_BUFFER_STATE_TC_B (1<<2)
 #define GST_DEINTERLACE_BUFFER_STATE_TC_T (1<<3)
+/* TC_P means telecine progressive meaning that the two fields
+ * in the frame were sampled at the same time */
 #define GST_DEINTERLACE_BUFFER_STATE_TC_P (1<<4)
+/* TC_M i think means telecine mixed, meaning that the two fields
+ * are sampled at different times so you need to find the other field
+ * in the previous or next frame */
 #define GST_DEINTERLACE_BUFFER_STATE_TC_M (1<<5)
+/* RFF means repeat field flag and indicates a field that has
+ * previously been seen */
 #define GST_DEINTERLACE_BUFFER_STATE_RFF  (1<<6)
 
 #define GST_ONE \