11-27-2020, 01:31 PM
(09-19-2020, 10:11 AM)xmixahlx Wrote: iirc rkvdec supports greater resolution decode than hantro for h264. kwiboo wrote support for h264 on hantro, but then dropped in favor of rkvdec.Hello @xmixahlx
still using 5.8. no rush on 5.9. i have other projects in the works and those should be discuswed here soon.
ffmpeg uses drm hwaccel. kodi is the most supported software bevayse that is what libreelec uses as frontend. you can process via cli also. see the "mainline hwaccel" thread for more details.
I have finally got back to trying vpu support for Manjaro.
I patched the following packages
- Linux Kernel 5.9.11 with vpu patch from your git.
- Ffmpeg with the patched you have in pbp-tools git
- Libva
- libva-utils ( rebuilt)
- libva-v4l2-request
Quote:Quote:v4l2-ctl --list-devices
rockchip,rk3399-vpu-enc (platform: hantro-vpu):
/dev/video2
/dev/video3
/dev/media1
rockchip-rga (platform:rga):
/dev/video1
rkvdec (platform:rkvdec):
/dev/video0
/dev/media0
Quote:dmesg | grep hantro
[ 7.618917] hantro_vpu: module is from the staging directory, the quality is unknown, you have been warned.
[ 7.620917] hantro-vpu ff650000.video-codec: Adding to iommu group 0
[ 7.623875] hantro-vpu ff650000.video-codec: registered rockchip,rk3399-vpu-enc as /dev/video1
[ 7.624402] hantro-vpu ff650000.video-codec: registered rockchip,rk3399-vpu-dec as /dev/video2
Quote:dmesg | grep rk3399-vpu
[ 7.296421] hantro-vpu ff650000.video-codec: registered rockchip,rk3399-vpu-enc as /dev/video2
[ 7.297825] hantro-vpu ff650000.video-codec: registered rockchip,rk3399-vpu-dec as /dev/video3
Quote:ffplay -decoders | grep v4l2
ffplay version n4.3.1-Kodi Copyright © 2003-2020 the FFmpeg developers
built with gcc 10.2.0 (GCC)
configuration: --enable-v4l2-request --enable-libdrm --enable-libudev --prefix=/usr --disable-debug --disable-static --disable-stripping --enable-avisynth --enable-fontconfig --enable-gmp --enable-gnutls --enable-gpl --enable-ladspa --enable-libass --enable-libbluray --enable-libdav1d --enable-libdrm --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libiec61883 --enable-libjack --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxml2 --enable-libxvid --enable-omx --enable-shared --enable-version3 --host-cflags='"-fPIC"'
libavutil 56. 51.100 / 56. 51.100
libavcodec 58. 91.100 / 58. 91.100
libavformat 58. 45.100 / 58. 45.100
libavdevice 58. 10.100 / 58. 10.100
libavfilter 7. 85.100 / 7. 85.100
libswscale 5. 7.100 / 5. 7.100
libswresample 3. 7.100 / 3. 7.100
libpostproc 55. 7.100 / 55. 7.100
V..... h263_v4l2m2m V4L2 mem2mem H.263 decoder wrapper (codec h263)
V..... h264_v4l2m2m V4L2 mem2mem H.264 decoder wrapper (codec h264)
V..... hevc_v4l2m2m V4L2 mem2mem HEVC decoder wrapper (codec hevc)
V..... mpeg1_v4l2m2m V4L2 mem2mem MPEG1 decoder wrapper (codec mpeg1video)
V..... mpeg2_v4l2m2m V4L2 mem2mem MPEG2 decoder wrapper (codec mpeg2video)
V..... mpeg4_v4l2m2m V4L2 mem2mem MPEG4 decoder wrapper (codec mpeg4)
V..... vc1_v4l2m2m V4L2 mem2mem VC1 decoder wrapper (codec vc1)
V..... vp8_v4l2m2m V4L2 mem2mem VP8 decoder wrapper (codec vp8)
V..... vp9_v4l2m2m V4L2 mem2mem VP9 decoder wrapper (codec vp9)
Quote:ffmpeg -re -hwaccel drm -i bbb_1080-30_3M_x265_main_8b_lv51.mkv -f null -
ffmpeg version n4.3.1-Kodi Copyright © 2000-2020 the FFmpeg developers
built with gcc 10.2.0 (GCC)
configuration: --enable-v4l2-request --enable-libdrm --enable-libudev --prefix=/usr --disable-debug --disable-static --disable-stripping --enable-avisynth --enable-fontconfig --enable-gmp --enable-gnutls --enable-gpl --enable-ladspa --enable-libass --enable-libbluray --enable-libdav1d --enable-libdrm --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libiec61883 --enable-libjack --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxml2 --enable-libxvid --enable-omx --enable-shared --enable-version3 --host-cflags='"-fPIC"'
libavutil 56. 51.100 / 56. 51.100
libavcodec 58. 91.100 / 58. 91.100
libavformat 58. 45.100 / 58. 45.100
libavdevice 58. 10.100 / 58. 10.100
libavfilter 7. 85.100 / 7. 85.100
libswscale 5. 7.100 / 5. 7.100
libswresample 3. 7.100 / 3. 7.100
libpostproc 55. 7.100 / 55. 7.100
Input #0, matroska,webm, from 'bbb_1080-30_3M_x265_main_8b_lv51.mkv':
Metadata:
ENCODER : Lavf58.29.100
Duration: 00:00:43.80, start: 0.000000, bitrate: 3049 kb/s
Stream #0:0: Video: hevc (Main), yuv420p(tv), 1920x1080 [SAR 1:1 DAR 16:9], 30 fps, 30 tbr, 1k tbn, 30 tbc (default)
Metadata:
ENCODER : Lavc58.54.100 libx265
DURATION : 00:00:43.800000000
Stream #0:1: Audio: ac3, 48000 Hz, 5.1(side), fltp, 320 kb/s (default)
Metadata:
DURATION : 00:00:43.776000000
Stream mapping:
Stream #0:0 -> #0:0 (hevc (native) -> wrapped_avframe (native))
Stream #0:1 -> #0:1 (ac3 (native) -> pcm_s16le (native))
Press [q] to stop, [?] for help
[hevc @ 0xaaaaca429460] v4l2_request_probe_video_device: missing required mem2mem capability
Last message repeated 1 times
[hevc @ 0xaaaaca429460] v4l2_request_try_format: pixelformat 892744275 not supported for type 10
[hevc @ 0xaaaaca429460] v4l2_request_probe_video_device: try output format failed
[hevc @ 0xaaaaca429460] v4l2_request_try_format: pixelformat 892744275 not supported for type 10
[hevc @ 0xaaaaca429460] v4l2_request_probe_video_device: try output format failed
Output #0, null, to 'pipe:':
Metadata:
encoder : Lavf58.45.100
Stream #0:0: Video: wrapped_avframe, nv12, 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 200 kb/s, 30 fps, 30 tbn, 30 tbc (default)
Metadata:
DURATION : 00:00:43.800000000
encoder : Lavc58.91.100 wrapped_avframe
Stream #0:1: Audio: pcm_s16le, 48000 Hz, 5.1(side), s16, 4608 kb/s (default)
Metadata:
DURATION : 00:00:43.776000000
encoder : Lavc58.91.100 pcm_s16le
frame= 590 fps= 30 q=-0.0 Lsize=N/A time=00:00:19.84 bitrate=N/A speed=0.998x
I am not sure what else is needed. It still takes alot of cpu when playing via ffplay as mpv is not patched and as v4l2_request is not detected then no point of patching mpv, for kodi I might have to do a fresh pkgbuild for gbm with patched ffmpeg.
Any advice?
Manjaro ARM Team.
Devices: Pinebook Pro & PinePhone.
Devices: Pinebook Pro & PinePhone.