

buptsb
-
Posts
2 -
Joined
-
Last visited
Reputation Activity
-
buptsb got a reaction from Magnets in OrangePi PC2 H.264 artifacts with sunxi-Cedrus
Hey guys.
I have been trying to utilize H5 vpu decoding for 10+ hours... Still no go.
Here is the checklist:
kernel
Using mainline kernel 5.8.9 from Armbian/build current.
`uname -a` output: All kernel configs needed on Sunxi-Cedrus homepage were added, cma set to 256M.
libva-v4l2-request
Using https://github.com/Sash0k/libva-v4l2-request master.
Compiled and make installed.
`vainfo` output:
`v4l2-ctl --list-formats` output:
`./v4l2-request-test -f 25 -l` output:
Cpu usage is quite low(4 cores <5%), checked with lsof and /dev/media0 & /dev/video0 are all occupied by v4l2-request-test.
Seems frame decoding is working ok, but the big_buck_bunny video did not show up, something must be wrong here...
ffmpeg
https://github.com/Kwiboo/FFmpeg.git branch FFmpeg-4l2-request-hwaccel-4.3
`--enable-v4l2-request --enable-libdrm --enable-libudev` added in configure,
`ffmpeg -decoders | grep 264` output:
And finally running `ffmpeg -loglevel debug -hwaccel drm -i ~/jellyfish-10-mbps-hd-h264.mkv -pix_fmt bgra -f fbdev /dev/fb0` without x11, green artifacts met.
One of the four cores is 100% utilized, others are free. Frame rate is super low (<5fps).
Changing hwaccel from `drm` to `vaapi` (and what's the difference between these two?), met another kind of artifacts.
So, any kind of help are welcomed, thanks!
buptsb
-
buptsb reacted to jernej in OrangePi PC2 H.264 artifacts with sunxi-Cedrus
Note that @Kwiboo's ffmpeg is assuming that kernel is patched with some out-of-tree patches (you can find them in LibreELEC build system). For example, if you remove this commit, output should be much better, but that would mean that interlaced videos will be decoded incorrectly. Good news is that with Linux 5.10 H264 API will be aligned and no out-of-tree patches will be necessary anymore.
-
buptsb reacted to Sash0k in Hardware Graphic/Video Acceleration in H3 Mainline
Trying to add VA-API into actual Armbian Focal (Linux orangepipc 5.4.45-sunxi #20.05.4)
Install instruction
Next, export driver:
$ export LIBVA_DRIVER_NAME=v4l2_request and check it with vainfo tool. Have an error:
$ vainfo libva info: VA-API version 1.7.0 libva info: User environment variable requested driver 'v4l2_request' libva info: Trying to open /usr/lib/arm-linux-gnueabihf/dri/v4l2_request_drv_video.so libva info: va_openDriver() returns -1 vaInitialize failed with error code -1 (unknown libva error),exit
To fix, add symbolic link to installed driver:
$ sudo ln -s /usr/lib/dri/v4l2_request_drv_video.so /usr/lib/arm-linux-gnueabihf/dri/
And seems everything is ok
$ vainfo libva info: VA-API version 1.7.0 libva info: User environment variable requested driver 'v4l2_request' libva info: Trying to open /usr/lib/arm-linux-gnueabihf/dri/v4l2_request_drv_video.so libva info: Found init function __vaDriverInit_1_7 libva info: va_openDriver() returns 0 vainfo: VA-API version: 1.7 (libva 2.6.0) vainfo: Driver version: v4l2-request vainfo: Supported profile and entrypoints VAProfileMPEG2Simple : VAEntrypointVLD VAProfileMPEG2Main : VAEntrypointVLD VAProfileH264Main : VAEntrypointVLD VAProfileH264High : VAEntrypointVLD VAProfileH264ConstrainedBaseline: VAEntrypointVLD VAProfileH264MultiviewHigh : VAEntrypointVLD VAProfileH264StereoHigh : VAEntrypointVLD VAProfileHEVCMain : VAEntrypointVLD