Re: [RFC][PATCH 1/2] Sensor orientation reporting

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, 15 Mar 2009 22:29:48 +0000
Adam Baker <linux@xxxxxxxxxxxxxxxx> wrote:

> Add support to the SQ-905 driver to pass back to user space the
> sensor orientation information obtained from the camera during init.
> Modifies gspca and the videodev2.h header to create the necessary
> API.

Please provide also the V4L2 specs change to include those new controls.

> 
> Signed-off-by: Adam Baker <linux@xxxxxxxxxxxxxxxx>
> 
> ---
> diff -r 1248509d8bed linux/drivers/media/video/gspca/gspca.c
> --- a/linux/drivers/media/video/gspca/gspca.c	Sat Mar 14 08:44:42 2009 +0100
> +++ b/linux/drivers/media/video/gspca/gspca.c	Sun Mar 15 22:25:34 2009 +0000
> @@ -1147,6 +1147,7 @@ static int vidioc_enum_input(struct file
>  	if (input->index != 0)
>  		return -EINVAL;
>  	input->type = V4L2_INPUT_TYPE_CAMERA;
> +	input->status = gspca_dev->input_flags;
>  	strncpy(input->name, gspca_dev->sd_desc->name,
>  		sizeof input->name);
>  	return 0;
> diff -r 1248509d8bed linux/drivers/media/video/gspca/gspca.h
> --- a/linux/drivers/media/video/gspca/gspca.h	Sat Mar 14 08:44:42 2009 +0100
> +++ b/linux/drivers/media/video/gspca/gspca.h	Sun Mar 15 22:25:34 2009 +0000
> @@ -168,6 +168,7 @@ struct gspca_dev {
>  	__u8 alt;			/* USB alternate setting */
>  	__u8 nbalt;			/* number of USB alternate settings */
>  	u8 bulk;			/* image transfer by 0:isoc / 1:bulk */
> +	u32 input_flags;		/* value for ENUM_INPUT status flags */
>  };
>  
>  int gspca_dev_probe(struct usb_interface *intf,
> diff -r 1248509d8bed linux/drivers/media/video/gspca/sq905.c
> --- a/linux/drivers/media/video/gspca/sq905.c	Sat Mar 14 08:44:42 2009 +0100
> +++ b/linux/drivers/media/video/gspca/sq905.c	Sun Mar 15 22:25:34 2009 +0000
> @@ -357,6 +357,12 @@ static int sd_init(struct gspca_dev *gsp
>  	gspca_dev->cam.nmodes = ARRAY_SIZE(sq905_mode);
>  	if (!(ident & SQ905_HIRES_MASK))
>  		gspca_dev->cam.nmodes--;
> +
> +	if (ident & SQ905_ORIENTATION_MASK)
> +		gspca_dev->input_flags = V4L2_IN_ST_VFLIP;
> +	else
> +		gspca_dev->input_flags = V4L2_IN_ST_VFLIP |
> +					 V4L2_IN_ST_HFLIP;
>  	return 0;
>  }
>  
> diff -r 1248509d8bed linux/include/linux/videodev2.h
> --- a/linux/include/linux/videodev2.h	Sat Mar 14 08:44:42 2009 +0100
> +++ b/linux/include/linux/videodev2.h	Sun Mar 15 22:25:34 2009 +0000
> @@ -736,6 +736,11 @@ struct v4l2_input {
>  #define V4L2_IN_ST_NO_SIGNAL   0x00000002
>  #define V4L2_IN_ST_NO_COLOR    0x00000004
>  
> +/* field 'status' - sensor orientation */
> +/* If sensor is mounted upside down set both bits */
> +#define V4L2_IN_ST_HFLIP       0x00000010 /* Output is flipped horizontally */
> +#define V4L2_IN_ST_VFLIP       0x00000020 /* Output is flipped vertically */
> +
>  /* field 'status' - analog */
>  #define V4L2_IN_ST_NO_H_LOCK   0x00000100  /* No horizontal sync lock */
>  #define V4L2_IN_ST_COLOR_KILL  0x00000200  /* Color killer is active */
> --
> To unsubscribe from this list: send the line "unsubscribe linux-media" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html




Cheers,
Mauro
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux