There is hardware decoding… it works on the Fenix/Ubuntu images,
if you use the v4l m2m decoder, which is supported on the platform.
[h264_v4l2m2m @ 0x558f973a20] Using device /dev/video26
[h264_v4l2m2m @ 0x558f973a20] driver ‘aml-vcodec-dec’ on card ‘platform:amlogic’ in mplane mode
[h264_v4l2m2m @ 0x558f973a20] requesting formats: output=H264 capture=NM21
khadas@Khadas:~$ sudo ffmpeg -c:v h264_v4l2m2m -i rtsp://127.0.0.1:8554/garden_low_cam -f null /dev/null
ffmpeg version 4.3.5-0+deb11u1 Copyright (c) 2000-2022 the FFmpeg developers
built with gcc 10 (Debian 10.2.1-6)
configuration: --prefix=/usr --extra-version=0+deb11u1 --toolchain=hardened --libdir=/usr/lib/aarch64-linux-gnu --incdir=/usr/include/aarch64-linux-gnu --arch=arm64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librabbitmq --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-pocketsphinx --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
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
libavresample 4. 0. 0 / 4. 0. 0
libswscale 5. 7.100 / 5. 7.100
libswresample 3. 7.100 / 3. 7.100
libpostproc 55. 7.100 / 55. 7.100
[rtsp @ 0x558f96f2a0] method SETUP failed: 461 Unsupported transport
Input #0, rtsp, from 'rtsp://127.0.0.1:8554/garden_low_cam':
Metadata:
title : go2rtc/1.2.0
Duration: N/A, start: 0.042000, bitrate: N/A
Stream #0:0: Video: h264 (Main), yuv420p(tv, bt470bg/bt470bg/smpte170m, progressive), 640x352, 25 fps, 25 tbr, 90k tbn, 180k tbc
[h264_v4l2m2m @ 0x558f973a20] Using device /dev/video26
[h264_v4l2m2m @ 0x558f973a20] driver 'aml-vcodec-dec' on card 'platform:amlogic' in mplane mode
[h264_v4l2m2m @ 0x558f973a20] requesting formats: output=H264 capture=NM21
Stream mapping:
Stream #0:0 -> #0:0 (h264 (h264_v4l2m2m) -> wrapped_avframe (native))
Press [q] to stop, [?] for help
^Came= 0 fps=0.0 q=0.0 size=N/A time=-577014:32:22.77 bitrate=N/A speed=N/A
DMESG
[12026.106170] 0: MH264 the TEE fw loading failed, err: ffff0007
[12026.106182] [4]: changes: 400
[12026.106206] [4]: H264 post event: 1024
[12026.107042] 0: MH264 the TEE fw loading failed, err: ffff0007
[12026.107051] [4]: changes: 400
[12026.107075] [4]: H264 post event: 1024
[12026.107953] 0: MH264 the TEE fw loading failed, err: ffff0007
[12026.107964] [4]: changes: 400
[12026.107988] [4]: H264 post event: 1024
[12026.108507] [4]: release decoder ffffff89d9154000
[12026.108826] 0: MH264 the TEE fw loading failed, err: ffff0007
[12026.108869] [4]: changes: 400
[12026.108983] [4]: fb_map_table_clean done
[12026.109268] [4]: H264 post event: 1024
[12026.109875] 0: MH264 the TEE fw loading failed, err: ffff0007
[12026.110290] [4]: changes: 400
[12026.110471] [4]: fb_token_clean done
[12026.110687] [4]: H264 post event: 1024
[12026.111164]
==== Show mmu buffer info ========
[12026.112221] 0: MH264 the TEE fw loading failed, err: ffff0007
[12026.112474]
but when you execute the command, it says missing firmware