I've attached a patch that correctly sets the max/min/default values
for the hdpvr picture controls. The reason the current values didn't
cause a problem until now is because any firmware <= 0.15 didn't
support them. The latest firmware releases properly support picture
controls and the values in the patch are derived from the windows
driver using SniffUSB2.0.

Thanks to Devin Heitmueller for helping me.

Regards.
--
Taylor
diff -r abd3aac6644e linux/drivers/media/video/hdpvr/hdpvr-core.c
--- a/linux/drivers/media/video/hdpvr/hdpvr-core.c	Fri Jul 02 00:38:54 2010 -0300
+++ b/linux/drivers/media/video/hdpvr/hdpvr-core.c	Thu Oct 20 11:14:25 2011 -0400
@@ -262,10 +262,10 @@
 	.bitrate_mode	= HDPVR_CONSTANT,
 	.gop_mode	= HDPVR_SIMPLE_IDR_GOP,
 	.audio_codec	= V4L2_MPEG_AUDIO_ENCODING_AAC,
-	.brightness	= 0x86,
-	.contrast	= 0x80,
-	.hue		= 0x80,
-	.saturation	= 0x80,
+	.brightness	= 0x80,
+	.contrast	= 0x40,
+	.hue		= 0xf,
+	.saturation	= 0x40,
 	.sharpness	= 0x80,
 };
 
diff -r abd3aac6644e linux/drivers/media/video/hdpvr/hdpvr-video.c
--- a/linux/drivers/media/video/hdpvr/hdpvr-video.c	Fri Jul 02 00:38:54 2010 -0300
+++ b/linux/drivers/media/video/hdpvr/hdpvr-video.c	Thu Oct 20 11:14:25 2011 -0400
@@ -731,13 +731,13 @@
 
 	switch (qc->id) {
 	case V4L2_CID_BRIGHTNESS:
-		return v4l2_ctrl_query_fill(qc, 0x0, 0xff, 1, 0x86);
+		return v4l2_ctrl_query_fill(qc, 0x0, 0xff, 1, 0x80);
 	case V4L2_CID_CONTRAST:
-		return v4l2_ctrl_query_fill(qc, 0x0, 0xff, 1, 0x80);
+		return v4l2_ctrl_query_fill(qc, 0x0, 0xff, 1, 0x40);
 	case V4L2_CID_SATURATION:
-		return v4l2_ctrl_query_fill(qc, 0x0, 0xff, 1, 0x80);
+		return v4l2_ctrl_query_fill(qc, 0x0, 0xff, 1, 0x40);
 	case V4L2_CID_HUE:
-		return v4l2_ctrl_query_fill(qc, 0x0, 0xff, 1, 0x80);
+		return v4l2_ctrl_query_fill(qc, 0x0, 0x1e, 1, 0xf);
 	case V4L2_CID_SHARPNESS:
 		return v4l2_ctrl_query_fill(qc, 0x0, 0xff, 1, 0x80);
 	case V4L2_CID_MPEG_AUDIO_ENCODING:

Reply via email to