it seems that my mails to Hans do not arrive, so I post it here now:
When you load ivtv, you get a green screen on the tv-out of a PVR350. The
green screen does not disappear until you actually use the decoder
(/dev/video16) or load ivtvfb.
When you load ivtvfb, it automatically loads ivtv. In this case, there is only
a short green flashing as ivtvfb sets the screen blank (black).
This behavior of the driver was introduced with
http://linuxtv.org/hg/v4l-dvb/rev/8c953a1342bf
The green screen happens because the cx23415 isn't sending any data to the
saa7127 until the framebuffer is initialized or an MPEG is played back
The attached patch fixes the green screen. It disables the saa7127 video
output immidiately after initializing it, and enables it as soon as it is
used.
diff -ur ivtv-orig/ivtv-driver.c ivtv/ivtv-driver.c
--- ivtv-orig/ivtv-driver.c 2008-09-08 23:01:33.000000000 +0200
+++ ivtv/ivtv-driver.c 2008-09-09 12:17:14.000000000 +0200
@@ -1215,6 +1215,7 @@
if (itv->v4l2_cap & V4L2_CAP_VIDEO_OUTPUT) {
ivtv_call_i2c_clients(itv, VIDIOC_INT_S_STD_OUTPUT, &itv->std);
+ ivtv_call_i2c_clients(itv, VIDIOC_STREAMOFF, NULL);
}
/* clear interrupt mask, effectively disabling interrupts */
@@ -1334,6 +1335,7 @@
ivtv_s_frequency(NULL, &fh, &vf);
if (itv->card->v4l2_capabilities & V4L2_CAP_VIDEO_OUTPUT) {
+ ivtv_call_i2c_clients(itv, VIDIOC_STREAMON, NULL);
ivtv_init_mpeg_decoder(itv);
}
ivtv_s_std(NULL, &fh, &itv->tuner_std);
@@ -1370,6 +1372,9 @@
/* Stop all decoding */
IVTV_DEBUG_INFO("Stopping decoding\n");
+ if (itv->v4l2_cap & V4L2_CAP_VIDEO_OUTPUT) {
+ ivtv_call_i2c_clients(itv, VIDIOC_STREAMOFF, NULL);
+ }
if (atomic_read(&itv->decoding) > 0) {
int type;
_______________________________________________
ivtv-devel mailing list
[email protected]
http://ivtvdriver.org/mailman/listinfo/ivtv-devel