viddec: add interlaced support
authorRob Clark <rob@ti.com>
Sat, 4 Dec 2010 19:21:02 +0000 (13:21 -0600)
committerRob Clark <rob@ti.com>
Sun, 5 Dec 2010 02:01:18 +0000 (20:01 -0600)
src/gstducatividdec.c

index dca6162af98ed9f1b6bf4df4156d476e80ace729..ed6c7a53f2ccbb1117e90a466abee7f1c0148284 100644 (file)
@@ -452,11 +452,14 @@ gst_ducati_viddec_set_caps (GstPad * pad, GstCaps * caps)
 
     if (klass->parse_caps (self, s)) {
       GstCaps *outcaps;
+      gboolean interlaced = FALSE;
 
       gst_structure_get_fraction (s, "framerate", &frn, &frd);
 
       self->stride = 4096;      /* TODO: don't hardcode */
 
+      gst_structure_get_boolean (s, "interlaced", &interlaced);
+
       /* update output/padded sizes:
        */
       klass->update_buffer_size (self);
@@ -472,6 +475,10 @@ gst_ducati_viddec_set_caps (GstPad * pad, GstCaps * caps)
           "framerate", GST_TYPE_FRACTION, frn, frd,
           NULL);
 
+      if (interlaced) {
+        gst_caps_set_simple (outcaps, "interlaced", G_TYPE_BOOLEAN, TRUE, NULL);
+      }
+
       GST_DEBUG_OBJECT (self, "outcaps: %" GST_PTR_FORMAT, outcaps);
 
       ret = gst_pad_set_caps (self->srcpad, outcaps);