Hello!
I have experienced problems with setting TV norm with bttv-0.9.3
I'm trying to set V4L2_STD_PAL norm, and it cannot be set - and no
"PLL: xxxx -> yyyy" message arrived.
bttv-0.9.1 is ok.
The following snippet does nothing except printk-ing
"bttv0: PLL: no change required":
v4l2_std_id newstd;
newstd = V4L2_STD_PAL;
ioctl (grabberdev, VIDIOC_S_STD, &newstd);
I think, a problem is in the following:
-----------------------------------------------------
static int set_pll(struct bttv *btv)
{
...
if (btv->pll.pll_ofreq == btv->pll.pll_current) {
dprintk("bttv%d: PLL: no change required\n",btv->nr);
return 0;
}
...
...
...
btv->pll.pll_current = btv->pll.pll_ofreq;
...
-----------------------------------------------------
This "if" will always be true, because after the driver loading,
pll_current initialized to 0, and pll_ofreq is 0 too (because we are not
changed video standard yet). And because pll_current is not changed (it
changes only at the bottom of set_pll ()).
Proposed fix: initialize pll_current to, say, (-1) at the driver loading
time.
What I do wrong?
Is it really a bug, or it's my mistake in something?
--
Andrey Vasilyev
PS. Sorry for my bad english
--
video4linux-list mailing list
Unsubscribe mailto:[EMAIL PROTECTED]?subject=unsubscribe
https://listman.redhat.com/mailman/listinfo/video4linux-list