[media] vivid: do not allow video loopback for SEQ_TB/BT
authorHans Verkuil <hans.verkuil@cisco.com>
Mon, 9 Mar 2015 13:06:55 +0000 (10:06 -0300)
committerMauro Carvalho Chehab <mchehab@osg.samsung.com>
Thu, 2 Apr 2015 23:33:37 +0000 (20:33 -0300)
Sequential top-bottom/bottom-top fields are not supported as video loopback.
This is too much work to implement for field settings that are rarely used.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Documentation/video4linux/vivid.txt
drivers/media/platform/vivid/vivid-vid-common.c

index 6cfc854..cd4b5a1 100644 (file)
@@ -912,6 +912,11 @@ looped to the video input provided that:
   sequence and field counting in struct v4l2_buffer on the capture side may not
   be 100% accurate.
 
+- field settings V4L2_FIELD_SEQ_TB/BT are not supported. While it is possible to
+  implement this, it would mean a lot of work to get this right. Since these
+  field values are rarely used the decision was made not to implement this for
+  now.
+
 - on the input side the "Standard Signal Mode" for the S-Video input or the
   "DV Timings Signal Mode" for the HDMI input should be configured so that a
   valid signal is passed to the video input.
index 6bef1e6..49c9bc6 100644 (file)
@@ -210,6 +210,13 @@ bool vivid_vid_can_loop(struct vivid_dev *dev)
                return false;
        if (dev->field_cap != dev->field_out)
                return false;
+       /*
+        * While this can be supported, it is just too much work
+        * to actually implement.
+        */
+       if (dev->field_cap == V4L2_FIELD_SEQ_TB ||
+           dev->field_cap == V4L2_FIELD_SEQ_BT)
+               return false;
        if (vivid_is_svid_cap(dev) && vivid_is_svid_out(dev)) {
                if (!(dev->std_cap & V4L2_STD_525_60) !=
                    !(dev->std_out & V4L2_STD_525_60))