Bug 2071126 - RFE: enable support for V4L2 stateless decoders
Summary: RFE: enable support for V4L2 stateless decoders
Keywords:
Status: NEW
Alias: None
Product: Fedora
Classification: Fedora
Component: chromium
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Tom "spot" Callaway
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: ARMTracker
TreeView+ depends on / blocked
 
Reported: 2022-04-01 22:08 UTC by Peter Robinson
Modified: 2022-04-04 18:23 UTC (History)
6 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed:
Type: Bug


Attachments (Terms of Use)

Description Peter Robinson 2022-04-01 22:08:48 UTC
Chromiun now supports upstream Linux V4L2 stateless decoders along side the ChromeOS specific APIs, as well as the stateful codecs.

From the rpmfusion bug report:

This is a feature request, I am willing to help with the actual work if with some pointers (as I don't know were to start). Chromium Freeworld package enables VAAPI HW decoding which is great of Intel/AMD platforms, but I'd like to have a HW accelerated browsers on Raspberry Pi, Rockchip RK3399 and more.

Chromium have support for this, though it has to be compiled in. This is used on ChromeOS ARM Chromebook. There is in fact 2 type of CODECs, stateful and stateless. The stateful one will enable H264 on Raspberry Pi, but also enable SoC running Qualcomm Venus driver, Amlogic CODECs, etc.

The stateless situation was a bit in flux until now, as Chromium was implementing few downstream kernel API and did not have support for the final uAPI yet. This situation is fixed now, so support for final uAPI for H.264, VP8 and VP9 is now available.

Comment 1 Peter Robinson 2022-04-01 22:09:58 UTC
Note we already enable the Linux v4l2 interfaces as well as the appropriate drivers.

Comment 2 Peter Robinson 2022-04-04 08:08:43 UTC
So in theory all that should be needed is the following addition to the spec but it fails and I don't understand the Chromium builds well enough:

 %ifarch aarch64
 CHROMIUM_CORE_GN_DEFINES+=' target_cpu="arm64"'
+CHROMIUM_CORE_GN_DEFINES+=' use_v4l2_codec=true'
 %endif

Comment 3 Nicolas Dufresne 2022-04-04 14:03:45 UTC
Got slightly more info today, there is a CL from Wens to op-out any downstream uAPI support in linux builds.

https://chromium-review.googlesource.com/c/chromium/src/+/3380426/4

Though he said that there might be some issues related to some downstream GBM deps they have (to be confirmed).


Note You need to log in before you can comment on or make changes to this bug.