V4L/DVB (10685): v4l2: add colorfx support to v4l2-common.c, and add to 'Changes...
authorHans Verkuil <hverkuil@xs4all.nl>
Fri, 20 Feb 2009 08:50:52 +0000 (05:50 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Mon, 30 Mar 2009 15:42:53 +0000 (12:42 -0300)
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/video/v4l2-common.c

index 7086f9f3c785a6b8ccf6cd870b96c9f206bbaa33..cc5f67801bd19f5c022002aeb3651db94c9efb10 100644 (file)
@@ -334,6 +334,12 @@ const char **v4l2_ctrl_get_menu(u32 id)
                "Aperture Priority Mode",
                NULL
        };
+       static const char *colorfx[] = {
+               "None",
+               "Black & White",
+               "Sepia",
+               NULL
+       };
 
        switch (id) {
                case V4L2_CID_MPEG_AUDIO_SAMPLING_FREQ:
@@ -370,6 +376,8 @@ const char **v4l2_ctrl_get_menu(u32 id)
                        return camera_power_line_frequency;
                case V4L2_CID_EXPOSURE_AUTO:
                        return camera_exposure_auto;
+               case V4L2_CID_COLORFX:
+                       return colorfx;
                default:
                        return NULL;
        }
@@ -412,6 +420,7 @@ const char *v4l2_ctrl_get_name(u32 id)
        case V4L2_CID_BACKLIGHT_COMPENSATION:   return "Backlight Compensation";
        case V4L2_CID_CHROMA_AGC:               return "Chroma AGC";
        case V4L2_CID_COLOR_KILLER:             return "Color Killer";
+       case V4L2_CID_COLORFX:                  return "Color Effects";
 
        /* MPEG controls */
        case V4L2_CID_MPEG_CLASS:               return "MPEG Encoder Controls";
@@ -517,6 +526,7 @@ int v4l2_ctrl_query_fill(struct v4l2_queryctrl *qctrl, s32 min, s32 max, s32 ste
        case V4L2_CID_MPEG_STREAM_TYPE:
        case V4L2_CID_MPEG_STREAM_VBI_FMT:
        case V4L2_CID_EXPOSURE_AUTO:
+       case V4L2_CID_COLORFX:
                qctrl->type = V4L2_CTRL_TYPE_MENU;
                step = 1;
                break;
@@ -585,6 +595,8 @@ int v4l2_ctrl_query_fill_std(struct v4l2_queryctrl *qctrl)
                return v4l2_ctrl_query_fill(qctrl, 0, 127, 1, 64);
        case V4L2_CID_HUE:
                return v4l2_ctrl_query_fill(qctrl, -128, 127, 1, 0);
+       case V4L2_CID_COLORFX:
+               return v4l2_ctrl_query_fill(qctrl, 0, 1, 1, 0);
 
        /* MPEG controls */
        case V4L2_CID_MPEG_AUDIO_SAMPLING_FREQ: