Mailing List archive

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

[mpeg2] patch for setting the video format



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)

Home | Main Index | Thread Index