Jump to content

State of the things related to Video decoding and encoding in OPI Zero 2/3


Recommended Posts

Hi guys, its the first time im gonna post here so bear with me, i am a recent user of orange pi zero 3, one with 4GB RAM and i have been able to run the latest community release on it, things work besides audio thru hdmi, but i have noticed that the video encoding and decoding is not working, albeit 3d acceleration works thru panfrost and Mesa.

 

I have been digging this topic and i wanted to share what i found and maybe validate if im right or perhaps i am not getting this well.

 

1. Video encoding and decoding in G31-MP2 is something separated from what Mesa and panfrost would do, so even if those work i cant get video acceleration with h.264 etc.

2. It is possible because the android 12 TV version from the manufacturer can do it in a very easy way, but as far as i understood this is because it is using some kind of closed source driver, that the SoC manufacturer provided (that almost all the boards made with the allwinner H616/H618 would run, so it isnt like orange pi dedicated developers to create the android being offered but it is a stock stuff that Allwinner has available for whoever buys their chips)

3. There are efforts to reverse engineer this properly called CEDRUS but there is kind of a lack of information about them since 2019, it is supposedly present in the kernel, but as many others have said and tried for some reason is not working with H616//h618. Anyone knows if it is still being developed?

 

In conclusion the state of things with hardware decoding and encoding of video in ARM is like a wasteland, at least for linux, these chips, ARM chips we get are mostly developed for android TV boxes or TVs or tablets, but they do not develop for linux, that maybe transferring the necessary code to make it work could be trivial, but with thin resources and doing the bare minimum and being closed source the SoC manufacturer has no interest in creating this support and it is left to open source volunteers to find a way. Which means that support for the H616/H618 might come several years into the future perhaps never. Am I interpreting reality right?, i had some hopes to create something like a jellyfin box with accelerated hardware coding and decoding but nothing might be possible, there is maybe some hope, i read somewhere in the LibreELEC forums that someone made it possible to run it with video decoding (if i am not mistaken) with no audio, so perhaps someone found a way?, thanks in advance.

Link to comment
Share on other sites

As many things we know that some are not support OOTB nevertheless the community has tried to find a way to make them work, the wiki hasnt been updated in a while, and about LibreElec, there isnt much info about how they might achieve this, but I wonder, if it works under android and given that linux exist a layer below, there got to be something that could be exported or extracted at least as a blob, i dont know more about this cos i am not a developer nor i have expertise in that subject just wondering if someone tried it.

Link to comment
Share on other sites

blobs are practically 'useless', it is compiled for a particular os, a particular version of it and if it is *undocumented* there is no way to use the blob, and even if they document the api, if you try to use the blob in a different OS say armbian, chances are that a call to the api can *crash*.

it is a 'miracle' if those blobs work.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines