On Sunday, November 14, 2010 13:58:09 Andy Walls wrote:
<snip>
> > > > VIDIOC_ENC_CMD with V4L2_ENC_CMD_STOP
> > > >
> > > > but that is marked as "experimental" in the API document. close() is
> > > > not "experimental". ;)
> > >
> > > They were experimental in 2007 when Hans Verkuil introduced them. But now
> > > they
> > > should be a must for every mpeg encoder driver.
> >
> > Yeah, it's time to scan the spec for 'experimental' and remove it where
> > that is
> > no longer relevant.
>
> Right, the VIDOIOC_ENC_CMD should not be "experimental" anymore. I
> would suggest though that it be marked "not for use in new application
> and driver designs". Probably also add a note to use close() instead of
> V4L2_ENC_CMD_STOP for drivers that only support the read() I/O method.
I disagree with that. V4L2_ENC_CMD_STOP is the only way you can stop at the
end of a GOP. It is a real shame that the cx18 firmware is buggy and doesn't
support that, since it works great with ivtv.
If you want to have full control over an encoder, then this ioctl is really
important.
The reason it isn't used more often is that there are few hardware encoders
anyway and in many drivers it was an afterthought to add mpeg encoder support
and so they omitted support for this ioctl. Both ivtv and cx18 have by far the
most complete coverage of the MPEG encoder functionality.
Regards,
Hans
--
Hans Verkuil - video4linux developer - sponsored by Cisco
_______________________________________________
ivtv-devel mailing list
[email protected]
http://ivtvdriver.org/mailman/listinfo/ivtv-devel