V4L/DVB (6089): ivtv: log in status if framebuffer uses YUV instead of RGB
authorHans Verkuil <hverkuil@xs4all.nl>
Wed, 22 Aug 2007 11:43:34 +0000 (08:43 -0300)
committerMauro Carvalho Chehab <mchehab@infradead.org>
Wed, 10 Oct 2007 01:06:42 +0000 (22:06 -0300)
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
drivers/media/video/ivtv/ivtv-ioctl.c

index 0dde82f..bb59634 100644 (file)
@@ -1270,7 +1270,7 @@ int ivtv_v4l2_ioctls(struct ivtv *itv, struct file *filp, unsigned int cmd, void
                                "Global and Local"
                        };
                        static const char * const pixel_format[] = {
-                               "Indexed",
+                               "RGB Indexed",
                                "RGB 5:6:5",
                                "ARGB 1:5:5:5",
                                "ARGB 1:4:4:4",
@@ -1278,6 +1278,14 @@ int ivtv_v4l2_ioctls(struct ivtv *itv, struct file *filp, unsigned int cmd, void
                                "5",
                                "6",
                                "7",
+                               "YUV Indexed",
+                               "YUV 5:6:5",
+                               "AYUV 1:5:5:5",
+                               "AYUV 1:4:4:4",
+                               "AYUV 8:8:8:8",
+                               "13",
+                               "14",
+                               "15",
                        };
 
                        ivtv_get_output(itv, itv->active_output, &vidout);
@@ -1290,10 +1298,11 @@ int ivtv_v4l2_ioctls(struct ivtv *itv, struct file *filp, unsigned int cmd, void
                                mode = OUT_NONE;
                        IVTV_INFO("Output Mode:  %s\n", output_modes[mode]);
                        ivtv_vapi_result(itv, data, CX2341X_OSD_GET_STATE, 0);
+                       data[0] |= (read_reg(0x2a00) >> 7) & 0x40;
                        IVTV_INFO("Overlay:      %s, Alpha: %s, Pixel Format: %s\n",
                                data[0] & 1 ? "On" : "Off",
                                alpha_mode[(data[0] >> 1) & 0x3],
-                               pixel_format[(data[0] >> 3) & 0x7]);
+                               pixel_format[(data[0] >> 3) & 0xf]);
                }
                IVTV_INFO("Tuner:  %s\n",
                        test_bit(IVTV_F_I_RADIO_USER, &itv->i_flags) ? "Radio" : "TV");