Re: Force NVrec to use V4L2

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]



Hi Steve,

no luck:

Starting NVrec.c, version 20011230 (NVrec-20011230).
v4lgen core init - Device /dev/v4l/video0
v4l2 core init - Size: 384x288 from /dev/v4l/video0
v4l2 core init - trying format YUV420
v4l2 core init - got 32 buffers
v4l2 core init - querybuf failed: Invalid argument

Am Sam, 2001-12-29 um 14.38 schrieb Stephen Davies:
> 
> 
> On 29 Dec 2001, Dirk Meul wrote:
> 
> > Hi Steve,
> > 
> > with changes you mentioned nothing changed for me :-(
> > 
> > Starting NVrec.c, version 20011228 (NVrec-20011228).
> > v4lgen core init - Device /dev/v4l/video0
> > v4l2 core init - Size: 384x288 from /dev/v4l/video0
> > v4l2 core init - trying format YUV420
> > v4l2 core init - could not request parameters: Invalid argument
> > 
> > [v4l2_core.c]
> > ...
> > vct->fd = open(fdev, O_RDWR);
> > ...
> > vct->bufs[i * vct->planes] = (unsigned char *)mmap(NULL,
> > vct->cbuf.length, PROT_READ|PROT_WRITE, MAP_SHARED, vct->fd,
> > vct->cbuf.offset);
> > ...
> > 
> > Something missed?
> 
> Hi Dirk,
> 
> Sorry - I forgot that I also made some changes in Gerd's bttv 0.8 - to add
> an implementation of VIDIOC_G_PARM.
> 
> I though I'd submitted that to Gerd but don't see this in the current
> 0.8.31 source, although other adjustments are there.
> 
> Here's a patch to add the VIDIOC_G_PARM for 0.8.31 - needed for NVrec to
> work.
> 
> I ported this change forward from the 0.8.28 I use - compiled but not
> tested.  I also had some changes to mmap flags - but 0.8.31 code has
> changed in that area so I can't immediately see if the 0.8.31 has the
> changes.  Let me know how you get on.
> 
> In the meantime I will clean up and make a proper patch submission to
> Gerd.
> 
> Regards,
> Steve
> ----
> 

> diff -U3 -r bttv-0.8.31/bttv-driver.c bttv-0.8.31-sld/bttv-driver.c
> --- bttv-0.8.31/bttv-driver.c	Fri Nov 16 15:13:59 2001
> +++ bttv-0.8.31-sld/bttv-driver.c	Sat Dec 29 13:24:49 2001
> @@ -2420,6 +2420,27 @@
>  	case VIDIOC_S_CTRL:
>  		return set_control(btv,arg);
>  	
> +	case VIDIOC_G_PARM:
> +	case VIDIOC_S_PARM:
> +	{
> +		struct v4l2_standard std;
> +		struct v4l2_streamparm *p = arg;
> +
> +		down(&fh->lock);
> +#ifdef FIXME
> +		/* FIXME: BTTV2 code: Where's equivalent info in bttv structures...? */
> +		p->type = (btvo->vbi)?V4L2_BUF_TYPE_VBI:V4L2_BUF_TYPE_CAPTURE;
> +#else
> +		p->type = V4L2_BUF_TYPE_CAPTURE;
> +#endif
> +		p->parm.capture.capability = 0;
> +		p->parm.capture.capturemode = 0;
> +		v4l2_video_std_construct(&std,bttv_tvnorms[btv->tvnorm].v4l2_id,0);
> +		p->parm.capture.timeperframe = v4l2_video_std_tpf(&std);
> +		up(&fh->lock);
> +		return 0;
> +	}
> +
>  	case VIDIOC_ENUMSTD:
>  	case VIDIOC_G_STD:
>  	case VIDIOC_S_STD:
-- 
Dirk Meul <dirk.meul@xxxxxxxx>





[Index of Archives]     [Linux DVB]     [Video Disk Recorder]     [Asterisk]     [Photo]     [DCCP]     [Netdev]     [Xorg]     [Util Linux NG]     [Xfree86]     [Free Photo Albums]     [Fedora Users]     [Fedora Women]     [ALSA Users]     [ALSA Devel]     [Linux USB]

Powered by Linux