[FFmpeg-devel] [RFC 0/6] Add V4L2 request API hwaccels

Jonas Karlman jonas at kwiboo.se
Tue Apr 9 00:57:52 EEST 2019

On 2019-04-08 22:41, Mark Thompson wrote:
> On 08/04/2019 21:09, Jonas Karlman wrote:
>> Hello,
>> This is a request for comments on a new hwaccel using the V4L2 request API
>> that was created in collaboration with Jernej Skrabec.
>> The V4L2 ctrls needed for statless decoding is not yet stable and reside in
>> private kernel headers. This patchset adds a copy of the kernel private headers
>> needed for the hwaccel to compile.
> When is the interface likely to become stable?

The V4L2 request API should already be considered stable and is part of linux uapi since v4.20.
Hwaccels make use of a function v4l2_timeval_to_ns that was added in v5.0, configure should check for this function.

The format ctrls needed for stateless decoding is however not stable and only MPEG-2 ctrls has been added
in a non-public kernel header at [1], it will hopefully be promoted to linux/videodev2.h uapi header in 2-4 linux versions.
H264 and HEVC ctrls is currently in review on linux-media mailing list and is even further away.

[1] https://github.com/torvalds/linux/blob/master/include/media/mpeg2-ctrls.h

> I don't think including kernel headers here is a good idea.  Please just check for appropriate headers - if the user is capable of building this then they can also install the headers for their kernel.

Sorry for not being more clear in my cover letter, the headers is not intended to be added to ffmpeg and was only added to patchset in order to be able to build working hwaccels.
The format ctrls has intentionally been put in non-public kernel headers that wont be installed into userspace since the ctrls currently is considered unstable.

My hope is to get early feedback on current code and to re-submit hwaccels once format ctrls have been promoted to public kernel uapi headers.

> If I wanted to buy a single Allwinner SBC to test this on, what should I get?

The Pine H64 "Model B" at [2] could be a good candidate.

The MPEG-2 hwaccel should also works on Rockchip RK3399 SBCs with rockchip vpu patchset at [3].
Support for Rockchip RK3288 SBCs requires additional patches at [4] and [5].

[2] https://www.pine64.org/?product_cat=model-b
[3] https://patchwork.kernel.org/project/linux-media/list/?series=87499
[4] https://github.com/Kwiboo/linux-rockchip/commit/1f78093e05c7360515a185f48b7c5cb8ba1e3e15
[5] https://github.com/Kwiboo/linux-rockchip/commit/9216da3f1521a0be5889235abe7fa093a4894160


> Thanks,
> - Mark
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".

More information about the ffmpeg-devel mailing list