Michael Veigel wrote:
I need some ioctl's for the I/O handling, and an ioctl for waiting on special events ( sync, some input ports etc. ) (...)
VIDIOC_IO_SETINPUTMASK (int mask) VIDIOC_IO_SETOUTPUTMASK (int mask)
Can't you use VIDIOC_S_CTRL, VIDIOC_G_CTRL, VIDIOC_QUERYCTRL for that? Identifiers can be allocated from the private range. BTW are these GPIO pins? -> bttv-if.c
VIDIOC_WAITFOREVENT ( int event )
Well, if you used S_CTRL this could probably be solved with my proposed solution for general event handling (see thread "Proposal for channel coordination between multiple v4l2 users" here on the list.) The main intention of the proposal was to report changes which were caused by other device users (e.g. via S_CTRL), but it could also be used to allow the driver to indicate asynchronous hardware state changes.
BIT_EVENT_ODDFIELD 0x01 BIT_EVENT_EVENFIELD 0x02 BIT_EVENT_FRAME 0x04
Can't you use the field element in struct v4l2_buffer for those? Basically DQBUF can provide you already with these events, if I understand the meaning correctly. If you're not interested in the data you need to capture only a few pixels.
The last point is, i want to enable some filters on the bt848 - bt878. Are there currently ioctls for this?
S_CTRL(V4L2_CID_PRIVATE_COMBFILTER) et.al.? -tom