deinterlace: Fix required fields logic
authorRobert Swain <robert.swain@collabora.co.uk>
Wed, 6 Oct 2010 09:29:55 +0000 (11:29 +0200)
committerSebastian Dröge <sebastian.droege@collabora.co.uk>
Wed, 6 Oct 2010 13:05:36 +0000 (15:05 +0200)
Both history_count and fields_required count from 1. As per the while loop
condition that follows this code, to perform the deinterlacing method, we need
history_count >= fields_required fields in the history. Therefore if we have
history_count < fields_required (not fields_required + 1), we need more fields.

gst/deinterlace/gstdeinterlace.c

index a305b74..3c54e24 100644 (file)
@@ -980,9 +980,9 @@ gst_deinterlace_chain (GstPad * pad, GstBuffer * buf)
   fields_required = gst_deinterlace_method_get_fields_required (self->method);
 
   /* Not enough fields in the history */
-  if (self->history_count < fields_required + 1) {
+  if (self->history_count < fields_required) {
     GST_DEBUG_OBJECT (self, "Need more fields (have %d, need %d)",
-        self->history_count, fields_required + 1);
+        self->history_count, fields_required);
     return GST_FLOW_OK;
   }