浏览代码

V4L/DVB (3817): KWorld HardwareMpegTV XPert: set encoder video standard based on tvnorm

The KWorld HardwareMpegTV XPert uses a multistandard tuner, tda8290 + tda8275.
Without checking the video standard in blackbird_probe, the encoder defaults
to PAL, even if the incoming video stream is NTSC. This patch checks the video
standard set by the cx2388x decoder, and sets the encoding height and frame
accordingly.
This patch is designed to only affect the KWorld HardwareMpegTV XPert.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Michael Krufky 19 年之前
父节点
当前提交
01a9cd99cf
共有 1 个文件被更改,包括 12 次插入3 次删除
  1. 12 3
      drivers/media/video/cx88/cx88-blackbird.c

+ 12 - 3
drivers/media/video/cx88/cx88-blackbird.c

@@ -1686,8 +1686,8 @@ static int __devinit blackbird_probe(struct pci_dev *pci_dev,
 	memcpy(&dev->params,&default_mpeg_params,sizeof(default_mpeg_params));
 	memcpy(&dev->params,&default_mpeg_params,sizeof(default_mpeg_params));
 	memcpy(&dev->dnr_params,&default_dnr_params,sizeof(default_dnr_params));
 	memcpy(&dev->dnr_params,&default_dnr_params,sizeof(default_dnr_params));
 
 
-	if (core->board == CX88_BOARD_HAUPPAUGE_ROSLYN) {
-
+	switch (core->board) {
+	case CX88_BOARD_HAUPPAUGE_ROSLYN:
 		if (core->tuner_formats & V4L2_STD_525_60) {
 		if (core->tuner_formats & V4L2_STD_525_60) {
 			dev->height = 480;
 			dev->height = 480;
 			dev->params.vi_frame_rate = 30;
 			dev->params.vi_frame_rate = 30;
@@ -1695,7 +1695,16 @@ static int __devinit blackbird_probe(struct pci_dev *pci_dev,
 			dev->height = 576;
 			dev->height = 576;
 			dev->params.vi_frame_rate = 25;
 			dev->params.vi_frame_rate = 25;
 		}
 		}
-
+		break;
+	case CX88_BOARD_KWORLD_HARDWARE_MPEG_TV_XPERT:
+		if (core->tvnorm->id & V4L2_STD_525_60) {
+			dev->height = 480;
+			dev->params.vi_frame_rate = 30;
+		} else {
+			dev->height = 576;
+			dev->params.vi_frame_rate = 25;
+		}
+		break;
 	}
 	}
 
 
 	err = cx8802_init_common(dev);
 	err = cx8802_init_common(dev);