LinHES Forums http://forums.linhes.org/ |
|
ivtv or mythtv issue: pvr-500 bottom of screen issue http://forums.linhes.org/viewtopic.php?f=5&t=4170 |
Page 1 of 1 |
Author: | brendan [ Fri Apr 15, 2005 12:57 am ] |
Post subject: | ivtv or mythtv issue: pvr-500 bottom of screen issue |
Not sure if it's an ivtv or myth issue, so I'm posting to General/Linux. I'm running R5A12 with ivtv-0.3.2x (and tried u-w as well). Two cards: PVR-350, PVR-150 seen in that order by ivtv. Using Live TV, tuner 1 works fine. Tuners 2 and 3, often work the first time I switch to them, but for subsequent times I switch to them, the bottom 1/6th or so of the screen appears to be two frozen fields blipping back and forth, while the rest of the screen seems to be the full screen, just squished up to fit 5/6 of the screen. I've got all my Recording profiles set to 720x480. I have the the /etc/rc.d/set_ivtv_params set to: Code: #!/bin/bash /usr/local/bin/ivtvctl -d /dev/video0 -u 0x3000 -f width=720,height=480 -p 4 /usr/local/bin/ivtvctl -d /dev/video1 -u 0x3000 -f width=720,height=480 -p 6 /usr/local/bin/ivtvctl -d /dev/video2 -u 0x3000 -f width=720,height=480 -p 6 (They were all -u 1, but google says NTSC is 0x3000. Also, the 350 requires the -p 4, and the 500 requires each set to -p 6. Also, the original set_ivtv_params from R5A12 also has the same symptoms, but the simpler version above fixes the b&w-only problem on the 2nd & 3rd tuners.) My /etc/mythtv/modules/ivtv is: Code: alias char-major-61 lirc_i2c
alias char-major-81 videodev alias char-major-81-0 ivtv alias char-major-81-1 ivtv alias char-major-81-2 ivtv options cx25840 no_black_magic=1 options ivtv ivtv_std=0,0,0 tuner=47,57,57 tda9887=0,0,0 ivtv_debug=1,1,1 options cx25840 i2c_enable=1,1,1 options saa7127 i2c_enable=-1,-1,-1 options msp3400 once=1 simple=1 Lastly, the native framesize of the 350 broadcast decoder is different the framesize of the two broadcast decoders on the 500. However, the dmesg indicates that all three are being told to resize to 720x480, so... I'm wondering if I set something wrong somewhere, or if the unstable ivtv branch is well, unstable. ![]() Might send this query off to the ivtv-dev list this weekend. -brendan |
Author: | brendan [ Fri Apr 15, 2005 1:38 am ] |
Post subject: | More info |
Watched dmesg as I changed tuners, found the problem is that values being passed to the cx25840 driver: --- Main screen. Hit Watch Live TV. Looks good. Resultant dmesg output. saa7115: decoder set picture bright=127 contrast=63 saturation=63 hue=0 saa7115: decoder set picture bright=127 contrast=63 saturation=63 hue=0 saa7115: decoder set picture bright=127 contrast=63 saturation=63 hue=0 saa7115: decoder set picture bright=127 contrast=63 saturation=63 hue=0 saa7115: decoder set size saa7115: decoder disable output saa7115: decoder enable output Change from Tuner 1 to Tuner 2. Looks good. Resultant dmesg output. cx25840: decoder set picture bright=127 contrast=63 saturation=63 hue=0 cx25840: decoder set picture bright=127 contrast=63 saturation=63 hue=0 cx25840: decoder set picture bright=127 contrast=63 saturation=63 hue=0 cx25840: decoder set picture bright=127 contrast=63 saturation=63 hue=0 cx25840: decoder set size 720x480 (from 720x487) -> scale 0x65529, filter 0 cx25840: Setup VBI cx25840: decoder disable output cx25840: decoder enable output Change from Tuner 2 to Tuner 3. Looks good. Resultant dmesg output. cx25840: decoder set picture bright=127 contrast=63 saturation=63 hue=0 cx25840: decoder set picture bright=127 contrast=63 saturation=63 hue=0 cx25840: decoder set picture bright=127 contrast=63 saturation=63 hue=0 cx25840: decoder set picture bright=127 contrast=63 saturation=63 hue=0 cx25840: decoder set size 720x480 (from 720x487) -> scale 0x65529, filter 0 cx25840: Setup VBI cx25840: decoder disable output cx25840: decoder enable output Change from Tuner 3 to Tuner 1. Looks good. Resultant dmesg output. saa7115: decoder set picture bright=127 contrast=63 saturation=63 hue=0 saa7115: decoder set picture bright=127 contrast=63 saturation=63 hue=0 saa7115: decoder set picture bright=127 contrast=63 saturation=63 hue=0 saa7115: decoder set picture bright=127 contrast=63 saturation=63 hue=0 saa7115: decoder set size saa7115: decoder disable output saa7115: decoder enable output Change from Tuner 1 to Tuner 3 again. ***PROBLEM SHOWS UP***. Resultant dmesg output. cx25840: decoder set picture bright=127 contrast=63 saturation=63 hue=0 cx25840: decoder set picture bright=127 contrast=63 saturation=63 hue=0 cx25840: decoder set picture bright=127 contrast=63 saturation=63 hue=0 cx25840: decoder set picture bright=127 contrast=63 saturation=63 hue=0 cx25840: decoder set size 720x480 (from 720x580) -> scale 0x65430, filter 0 cx25840: Setup VBI cx25840: decoder disable output cx25840: decoder enable output HEY, the "from 720x580" is different than it was last time (was "from 720x487"). Found the source of the problem. Guess I'll have to backtrack to find out if this bad value is coming from inside ivtv or being passed from mythtv. -brendan |
Author: | brendan [ Fri Apr 15, 2005 2:16 am ] |
Post subject: | workaround? |
It appears if, after rebooting, but before switching to tuner 2 or 3 using mythtv I perform a simple: % rmmod ivtv % modprobe ivtv The problem goes away! I also no longer get dmesg output from the cx25840 driver indicating that the cx25840 is doing stuff when changing to tuners 2 and 3 after the above, but the saa7115 driver is handling it instead. But the cx25840 driver *is* loaded. Huh. So the original problem is some sort of ivtv issue, I guess, but hey, a workaround is fine with me for now...or? I suppose I should report this to the ivtv dev list. Hmm, so where can I stick those commands in so that they fire off late in the boot process? I suppose it should be before mythbackend starts, but after ivtv has loaded fully...ah, duh: at the bottom of set_ivtv_params. Problem solved. Hope this helps someone else... ![]() -brendan |
Author: | ralpha6 [ Fri Apr 15, 2005 3:54 pm ] |
Post subject: | |
Looks like this is a bug with the 0.3.2x ivtv drivers. It has been fixed in the 0.3.2y driver. From the changelog of the 0.3.2y driver: Code: #0.3.2y - bug in osd DMA where semaphore wasn't grabbed.
- fixed yuv_fixup module option to be enabled if set, not done with a define in the source like it was, and fixed some bugs in the function induced sometime in the past, so now should work again. - some fixes to VBI startup capture, don't setup VBI unless needed. - remove VSCALE() setup in cx24580 for vertical scaling to not break, this fixes the bar across the bottom of screen problem. |
Author: | brendan [ Fri Apr 15, 2005 5:25 pm ] |
Post subject: | |
Thanks ralph. I did subscribe to the ivtv dev list early this morning (before I went to bed) and have participated a bit in the discussion both on and off list. Just emailed (what I hope is) a nice thank you note with a suggestion that chris might want to look where the bogus vsc value is coming from, but that I'd try the new version anyway. I think commenting out the set_vscale call will work, but it feels like a bit of an awkward workaround to me. Granted, sometimes that's all you can do with the resources or hardware environment you have. [Now on to discover why the picture on the two PVR-500 tuners looks significantly less grainy than the one on the PVR-350 and why, occassionally, I get staticy sound. 1) research, 2) try to fix, 3) research more, 4) ask for help, and if that doesn't work, 5) go outside and enjoy the weather. ![]() -brendan |
Page 1 of 1 | All times are UTC - 6 hours |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |