Explorar o código

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 %!s(int64=19) %!d(string=hai) anos
pai
achega
01a9cd99cf
Modificáronse 1 ficheiros con 12 adicións e 3 borrados
  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->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) {
 			dev->height = 480;
 			dev->params.vi_frame_rate = 30;
@@ -1695,7 +1695,16 @@ static int __devinit blackbird_probe(struct pci_dev *pci_dev,
 			dev->height = 576;
 			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);