we used armbian 22.05,linux 5.17.9.We tested the mainline Linux VPU decoding capability on the rock 3a board(soc rk3568). We used ffmpeg from https://github.com/jernejsk/FFmpeg and configuration:--enable-libdrm --enable-libv4l2 --enable-v4l2-request --enable-libudev --enable-static --disable-sharedb0. When we use the following command prompt an error:
./ffmpeg -loglevel debug -hwaccel drm -i ../Jellyfish_1080_10s_30MB.mp4 -pix_fmt bgra -f fbdev /dev/fb0
Successfully opened the file.
Device creation failed: -14.
[h264 @ 0xaaaaac42f520] No device available for decoder: device type drm needed for codec h264.
Stream mapping:
Stream #0:0 -> #0:0 (h264 (native) -> rawvideo (native))
Device setup failed for decoder on input stream #0:0 : Bad address
The VPU driver has been loaded correctly:
root@rock-3a:~/FFmpeg# dmesg |grep vpu
[ 53.304850] hantro_vpu: module is from the staging directory, the quality is unknown, you have been warned.
[ 53.328532] hantro-vpu fdea0000.video-codec: Adding to iommu group 0
[ 53.331978] hantro-vpu fdea0000.video-codec: registered rockchip,rk3328-vpu-dec as /dev/video0
and
root@rock-3a:~/FFmpeg# dmesg |grep drm
[ 2.752665] rockchip-drm display-subsystem: bound fe040000.vop (ops vop2_component_ops)
[ 2.756569] rockchip-drm display-subsystem: bound fe0a0000.hdmi (ops dw_hdmi_rockchip_ops)
[ 2.757416] [drm] Initialized rockchip 1.0.0 20140818 for display-subsystem on minor 0
[ 2.757569] rockchip-drm display-subsystem: [drm] Cannot find any crtc or sizes
[ 2.757724] rockchip-drm display-subsystem: [drm] Cannot find any crtc or sizes
[ 4.028876] [drm] Initialized panfrost 1.2.0 20180908 for fde60000.gpu on minor 1
[ 51.128088] systemd[1]: Condition check resulted in Load Kernel Module drm being skipped.
[12442.376669] rockchip-drm display-subsystem: [drm] fb0: rockchipdrmfb frame buffer device
and
root@rock-3a:~/FFmpeg# v4l2-ctl -d 0 --list-formats --list-ctrls
Codec Controls
h264_profile 0x00990a6b (menu) : min=0 max=4 default=2 value=2
Stateless Codec Controls
h264_decode_mode 0x00a40900 (menu) : min=1 max=1 default=1 value=1
h264_start_code 0x00a40901 (menu) : min=1 max=1 default=1 value=1
h264_sequence_parameter_set 0x00a40902 (unknown): type=200 flags=has-payload
h264_picture_parameter_set 0x00a40903 (unknown): type=201 flags=has-payload
h264_scaling_matrix 0x00a40904 (unknown): type=202 flags=has-payload
h264_decode_parameters 0x00a40907 (unknown): type=204 flags=has-payload
vp8_frame_parameters 0x00a409c8 (unknown): type=240 flags=has-payload
mpeg_2_sequence_header 0x00a409dc (unknown): type=251 flags=has-payload
mpeg_2_picture_header 0x00a409dd (unknown): type=252 flags=has-payload
mpeg_2_quantisation_matrices 0x00a409de (unknown): type=250 flags=has-payload
ioctl: VIDIOC_ENUM_FMT
Type: Video Capture Multiplanar
[0]: 'NV12' (Y/CbCr 4:2:0)
Anyone who has tested VPU decoding on rock-3a?
Can someone help me? Appreciate,thx!!