Closed andrzejtp closed 1 year ago
A few small comments, but looks good to me overall
I updated the PR, addressing most of the comments from @dwlsalmeida and @Gnurou.
I think I'll just merge this PR and address my remaining issues with follow-up comments (I've been working on QUERYCTRL/QUERY_EXT_CTRL support and this will require some moving around to integrate well). Can you see and address my comment about clap? Then I think we should be ok to merge.
Thanks, I have pushed these 3 commits after a rebase (merging did not work nicely) - closing this pull request :+1:
Hi,
Here's my proposal of approaching extended controls and requests, which are needed for stateless codecs. In this PR I am focusing on the ioctl-style approach.
First, I add a utility which works around the bindgen bug 753 and I document how to use it to generate up-to-date bindings. When bindgen starts working properly this utility can be removed. Bindings generated from up-to-date kernel headers are essential for stateless codecs - the bindings currently existing in the library simply do not contain the needed components.
Then I add get/set extended controls support. For now colorspace, xferfunc, ycbcrencoding and quantization are supported. FWHT PARAMS ext control is supported while H264 ext controls are provided as dummies. The latter plus all the other ext controls are to be added later, but because it seems it will be a considerable amount of code, let's start small.
Lastly, I add requests support, with request allocation/queueing/reinitialization and polling.