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)