Hi Andrew,

this patch applies over your one, and allows to set the video format.
Tested, and seems to work (at least, my dvb receiver is happy enough ;-)

                                Luca
-- 
_____________________________________________________________________________
Copy this in your signature, if you think it is important:
                               N O    W A R ! ! !
diff -rup drivers/media/video-andrew/saa6752hs.c drivers/media/video/saa6752hs.c
--- drivers/media/video-andrew/saa6752hs.c	2004-05-18 09:00:53.000000000 +0200
+++ drivers/media/video/saa6752hs.c	2004-05-18 09:05:09.000000000 +0200
@@ -112,6 +112,7 @@ static struct mpeg_params mpeg_params_te
 	.video_pid = 260,
 	.audio_pid = 256,
 	.pcr_pid = 259,
+	.video_format = MPEG_VIDEO_FORMAT_D1,
 };
 
   
@@ -251,6 +252,8 @@ static int saa6752hs_init(struct i2c_cli
 		unsigned int pmt_pid = 0, pcr_pid = 0, video_pid = 0 , audio_pid = 0;
 
 	   	// check supplied params are valid
+		if (params->video_format >= MPEG_VIDEO_FORMAT_MAX)
+			return -EINVAL;
 		if (params->video_bitrate_mode >= MPEG_VIDEO_BITRATE_MODE_MAX)
 			return -EINVAL;
 		if (params->video_target_bitrate >= MPEG_VIDEO_TARGET_BITRATE_MAX)
@@ -385,7 +388,12 @@ static int saa6752hs_init(struct i2c_cli
 	i2c_master_send(client, buf, 2);
   	buf[1] = 0;
 	i2c_master_send(client, buf, 2);
-	  
+	
+	// Set video format
+	buf[0] = 0x41;
+	buf[1] = cachedParams->video_format;
+	i2c_master_send(client, buf, 2);
+
 	// start it going
 	saa6752hs_chip_command(client, SAA6752HS_COMMAND_START);
 	
diff -rup drivers/media/video-andrew/saa6752hs.h drivers/media/video/saa6752hs.h
--- drivers/media/video-andrew/saa6752hs.h	2004-05-18 08:39:40.000000000 +0200
+++ drivers/media/video/saa6752hs.h	2004-05-18 08:59:26.000000000 +0200
@@ -35,6 +35,15 @@ enum mpeg_audio_bitrate {
 	MPEG_AUDIO_BITRATE_MAX
 };
 
+enum mpeg_video_format {
+	MPEG_VIDEO_FORMAT_D1 = 0,
+	MPEG_VIDEO_FORMAT_2_3_D1 = 1,
+	MPEG_VIDEO_FORMAT_1_2_D1 = 2,
+	MPEG_VIDEO_FORMAT_SIF = 3,
+	
+	MPEG_VIDEO_FORMAT_MAX
+};
+
 #define MPEG_VIDEO_TARGET_BITRATE_MAX 27000
 #define MPEG_VIDEO_MAX_BITRATE_MAX 27000
 #define MPEG_TOTAL_BITRATE_MAX 27000
@@ -51,6 +60,8 @@ struct mpeg_params {
 	unsigned int video_pid;
 	unsigned int audio_pid;
 	unsigned int pcr_pid;
+
+	enum mpeg_video_format video_format;
 };
 
 #define MPEG_SETPARAMS             _IOW('6',100,struct mpeg_params)

Reply via email to