View previous topic :: View next topic |
Author |
Message |
trademark91 n00b
Joined: 03 Dec 2020 Posts: 26 Location: USA
|
Posted: Sat Jul 29, 2023 6:37 pm Post subject: HW Accelerated video on aarch64 |
|
|
Hello Gentoo on Arm users!
I've been building a gentoo install on my 8gb raspberry pi CM4 on a cm4 to pi4 adapter board, and its been going great. I'm trying to use this to build a handheld machine to carry with me and use as a remote console for my machines at home, using the moonlight streaming system. This has built and runs properly, however, I am really struggling with hw accelerated h265 video decoding. I've followed the instructions here: https://github.com/moonlight-stream/moonlight-docs/wiki/Installing-Moonlight-Qt-on-Raspberry-Pi-4 and I'm able to watch software decoded h.265, but when it streams anything more than a desktop, i drop to about 5 frames per second and its not really useable. From what I've read, this is possible on 64 bit ARM devices now, and functions properly in raspbian using a patched ffmpeg, which is what Sakaki did in the gentoo-on-rpi-64 system, however, the ebuild used fails to compile using the neon CPU flag due to it not wanting to use thumb2, despite that CPU_FLAG being set:
Here is my /etc/portage/package.use/ffmpeg:
Code: | media-video/ffmpeg libdrm mmal libv4l sdl x264 x265 vorbis webp theora vpx fdk v4l openh264 opus pulseaudio CPU_FLAGS_ARM="thumb2" |
Code: | !!! The ebuild selected to satisfy "ffmpeg" has unmet requirements.
- media-video/ffmpeg-4.3::local USE="X bzip2 encode fdk gpl iconv libdrm libv4l network openh264 opus postproc pulseaudio sdl theora threads v4l vorbis vpx webp x264 x265 zlib -alsa (-amr) -amrenc (-appkit) -bluray (-bs2b) -cdio -chromaprint -chromium -codec2 -cpudetection (-cuda) -dav1d -debug -doc -flite -fontconfig -frei0r -fribidi -gcrypt -gme -gmp -gnutls -gsm -hardcoded-tables -iec61883 (-ieee1394) -jack -jpeg2k -kvazaar -ladspa -libaom -libaribb24 -libass -libcaca -libilbc -libressl -librtmp -libsoxr -libtesseract -libxml2 -lv2 -lzma (-mipsdspr1) (-mipsdspr2) (-mipsfpu) (-mmal) -modplug -mp3 -openal (-opencl) -opengl -openssl -oss -pic -rubberband -samba -snappy -speex -srt -ssh -svg -test -truetype -twolame -v4l2m2m-fix -vaapi (-vdpau) -vidstab -vulkan -wavpack -xvid -zeromq -zimg (-zvbi)" CPU_FLAGS_ARM="(neon) (v8) (vfp) (vfpv3) (-thumb) (-thumb2) (-v6)" FFTOOLS="aviocat cws2fws ffescape ffeval ffhash fourcc2pixfmt graph2dot ismindex pktdumper qt-faststart sidxindex trasher" VIDEO_CARDS="-nvidia"
The following REQUIRED_USE flag constraints are unsatisfied:
cpu_flags_arm_neon? ( cpu_flags_arm_thumb2 )
The above constraints are a subset of the following complete expression:
cuda? ( video_cards_nvidia ) libv4l? ( v4l ) v4l2m2m-fix? ( v4l ) fftools_cws2fws? ( zlib ) test? ( encode ) postproc? ( gpl ) frei0r? ( gpl ) cdio? ( gpl ) rubberband? ( gpl ) vidstab? ( gpl ) samba? ( gpl ) encode? ( x264? ( gpl ) x265? ( gpl ) xvid? ( gpl ) ) arm64? ( cpu_flags_arm_v8 ) cpu_flags_arm_v8? ( cpu_flags_arm_vfpv3 cpu_flags_arm_neon ) cpu_flags_arm_neon? ( cpu_flags_arm_thumb2 cpu_flags_arm_vfp ) cpu_flags_arm_vfpv3? ( cpu_flags_arm_vfp ) cpu_flags_arm_thumb2? ( cpu_flags_arm_v6 ) cpu_flags_arm_v6? ( cpu_flags_arm_thumb ) cpu_flags_ppc_vsx? ( cpu_flags_ppc_altivec ) cpu_flags_ppc_vsx2? ( cpu_flags_ppc_vsx ) cpu_flags_x86_avx2? ( cpu_flags_x86_avx ) cpu_flags_x86_fma4? ( cpu_flags_x86_avx ) cpu_flags_x86_fma3? ( cpu_flags_x86_avx ) cpu_flags_x86_xop? ( cpu_flags_x86_avx ) cpu_flags_x86_avx? ( cpu_flags_x86_sse4_2 ) cpu_flags_x86_aes? ( cpu_flags_x86_sse4_2 ) cpu_flags_x86_sse4_2? ( cpu_flags_x86_sse4_1 ) cpu_flags_x86_sse4_1? ( cpu_flags_x86_ssse3 ) cpu_flags_x86_ssse3? ( cpu_flags_x86_sse3 ) cpu_flags_x86_sse3? ( cpu_flags_x86_sse2 ) cpu_flags_x86_sse2? ( cpu_flags_x86_sse ) cpu_flags_x86_sse? ( cpu_flags_x86_mmxext ) cpu_flags_x86_mmxext? ( cpu_flags_x86_mmx ) cpu_flags_x86_3dnowext? ( cpu_flags_x86_3dnow ) cpu_flags_x86_3dnow? ( cpu_flags_x86_mmx )
|
I'm a bit stuck here, I've been looking for either a patched ffmpeg that I can make an ebuild for, or else a set of patches that can be placed in /etc/portage/patches to patch ffmpeg at compile, but I've been struggling to find any workable solution over the last two weeks. Has anyone had any success with this? |
|
Back to top |
|
|
Hu Administrator
Joined: 06 Mar 2007 Posts: 22740
|
Posted: Sat Jul 29, 2023 6:51 pm Post subject: |
|
|
cpu_flags_arm_thumb2 is masked in the base profile, and unmasked in the armv7a profile. Are you expecting that the flag is available for you to enable, or are you asking for ways to proceed while keeping the flag disabled? Code: | $ git grep arm_thumb2 '*use.mask'
profiles/arch/arm/armv7a/use.mask:13:-cpu_flags_arm_thumb2
profiles/arch/base/use.mask:114:cpu_flags_arm_thumb2 |
|
|
Back to top |
|
|
trademark91 n00b
Joined: 03 Dec 2020 Posts: 26 Location: USA
|
Posted: Sat Jul 29, 2023 7:55 pm Post subject: |
|
|
I was expecting to be able to enable the flag, as it should be supported by my system:
Code: | raspy /etc/portage # cpuid2cpuflags
CPU_FLAGS_ARM: edsp neon thumb vfp vfpv3 vfpv4 vfp-d32 crc32 v4 v5 v6 v7 v8 thumb2
|
I'm using the
Code: |
[14] default/linux/arm64/17.0/systemd (stable) *
|
Profile, and was just trying to build either ffmpeg with the normal ffmpeg from the gentoo overlay or else I had added this ebuild to a local repository. The issue that I'm encountering is that if I compile the ffmpeg from gentoo, it does not support hardware video decoding for mooonlight, and if I attempt to build using this old ebuild, it hits this thumb2 error. If I force thumb2 to be enabled in /etc/portage/profile/package.use.mask, I can get past that step, but then it fails almost immediately and is unable to find sdl:
Code: |
>>> Configuring source in /var/tmp/portage/media-video/ffmpeg-4.3/work/ffmpeg-4.3 ...
* .arm64: running multilib-minimal_abi_src_configure
/var/tmp/portage/media-video/ffmpeg-4.3/work/ffmpeg-4.3/configure --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64 --docdir=/usr/share/doc/ffmpeg-4.3/html --mandir=/usr/share/man --enable-shared --cc=aarch64-unknown-linux-gnu-gcc --cxx=aarch64-unknown-linux-gnu-g++ --ar=aarch64-unknown-linux-gnu-ar --nm=aarch64-unknown-linux-gnu-nm --ranlib=aarch64-unknown-linux-gnu-ranlib --optflags=-mcpu=cortex-a72 -fomit-frame-pointer -funsafe-math-optimizations -flto=4 -fno-fat-lto-objects -fuse-linker-plugin -ftree-vectorize -O2 -pipe --disable-static --enable-avfilter --enable-avresample --disable-stripping --disable-optimizations --disable-libcelt --disable-indev=alsa --disable-indev=oss --disable-indev=jack --disable-outdev=alsa --disable-outdev=oss --enable-nonfree --enable-bzlib --disable-runtime-cpudetect --disable-debug --disable-gcrypt --disable-gnutls --disable-gmp --enable-gpl --disable-hardcoded-tables --enable-iconv --disable-libtls --disable-libxml2 --disable-lzma --enable-network --disable-opencl --disable-openssl --enable-postproc --disable-libsmbclient --enable-ffplay --enable-sdl2 --disable-vaapi --disable-vdpau --disable-vulkan --enable-xlib --enable-libxcb --enable-libxcb-shm --enable-libxcb-xfixes --enable-zlib --disable-libcdio --disable-libiec61883 --disable-libdc1394 --disable-libcaca --disable-openal --disable-opengl --enable-libv4l2 --enable-libpulse --enable-libdrm --disable-libjack --disable-libopencore-amrwb --disable-libopencore-amrnb --disable-libcodec2 --disable-libdav1d --enable-libfdk-aac --disable-libopenjpeg --disable-libbluray --disable-libgme --disable-libgsm --disable-libaribb24 --disable-mmal --disable-libmodplug --enable-libopus --disable-libilbc --disable-librtmp --disable-libssh --disable-libspeex --disable-libsrt --disable-librsvg --disable-ffnvcodec --enable-libvorbis --enable-libvpx --disable-libzvbi --disable-appkit --disable-libbs2b --disable-chromaprint --disable-cuda-llvm --disable-libflite --disable-frei0r --disable-libfribidi --disable-fontconfig --disable-ladspa --disable-libass --disable-libtesseract --disable-lv2 --disable-libfreetype --disable-libvidstab --disable-librubberband --disable-libzmq --disable-libzimg --disable-libsoxr --enable-pthreads --disable-libvo-amrwbenc --enable-libmp3lame --disable-libkvazaar --disable-libaom --enable-libopenh264 --disable-libsnappy --enable-libtheora --disable-libtwolame --disable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --disable-libxvid --disable-mipsdsp --disable-mipsdspr2 --disable-mipsfpu --disable-altivec --disable-vsx --disable-power8 --disable-amd3dnow --disable-amd3dnowext --disable-aesni --disable-avx --disable-avx2 --disable-fma3 --disable-fma4 --disable-mmx --disable-mmxext --disable-sse --disable-sse2 --disable-sse3 --disable-ssse3 --disable-sse4 --disable-sse42 --disable-xop --cpu=cortex-a72 --enable-lto --disable-doc --disable-htmlpages --enable-manpages
ERROR: sdl2 requested but not found
If you think configure made a mistake, make sure you are using the latest
version from Git. If the latest version fails, report the problem to the
ffmpeg-user@ffmpeg.org mailing list or IRC #ffmpeg on irc.freenode.net.
Include the log file "ffbuild/config.log" produced by configure as this will help
solve the problem.
* ERROR: media-video/ffmpeg-4.3::local failed (configure phase):
|
I'm hoping to get pointed in the right direction to either get ffmpeg from the gentoo overlay to compile with support for hardware decoding, or possibly get this ebuild to compile. If there is another alternative, or better approach, I would be open to that as well. |
|
Back to top |
|
|
pingtoo Veteran
Joined: 10 Sep 2021 Posts: 1290 Location: Richmond Hill, Canada
|
Posted: Sat Jul 29, 2023 9:42 pm Post subject: |
|
|
trademark91 wrote: | I'm hoping to get pointed in the right direction to either get ffmpeg from the gentoo overlay to compile with support for hardware decoding, or possibly get this ebuild to compile. If there is another alternative, or better approach, I would be open to that as well. |
Since the wiki page indicate is is based on raspbian, have you consider using a docker container run rasbian so you can be sure to get full benefit of the wiki page? |
|
Back to top |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54594 Location: 56N 3W
|
Posted: Sat Jul 29, 2023 9:43 pm Post subject: |
|
|
trademark91,
thumb2 and other extensions do not exist on 64 bit ARM.
Post your dmesg and /boot/.config.txt please. _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
|
trademark91 n00b
Joined: 03 Dec 2020 Posts: 26 Location: USA
|
|
Back to top |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54594 Location: 56N 3W
|
Posted: Sun Jul 30, 2023 11:02 am Post subject: |
|
|
trademark91,
Code: | # Enable DRM VC4 V3D driver
#dtoverlay=vc4-fkms-v3d,cma=512
#gpu_mem=256
#max_framebuffers=2 |
You need dtoverlay=vc4-fkms-v3d and enough GPU mem to get the /dev entries
Code: | ls -l /dev/rpivid*
crw------- 1 root root 238, 0 Jan 1 1970 /dev/rpivid-h264mem
crw------- 1 root root 240, 0 Jan 1 1970 /dev/rpivid-hevcmem
crw------- 1 root root 239, 0 Jan 1 1970 /dev/rpivid-intcmem
crw------- 1 root root 237, 0 Jan 1 1970 /dev/rpivid-vp9mem | as the GPU does the hardware decoding but those /dev entries only appear if the GPU has enough RAM.
Ah .. its here
Code: | [all]
dtoverlay=vc4-kms-v3d
gpu_mem=256 | That works.
That's not quite the same. There are two kms dtoverlays.
dtoverlay=vc4-fkms-v3d and dtoverlay=vc4-kms-v3d
The extra 'f' means fake. kms is pure Open Source. The fkms is a wrapper around the binary blob GPU driver.
I suspect you need the fake version.
Your dmesg is truncated. I need it all from the start until the login prompt, so I can check that its actually doing what you ask for.
What VIDEO_CARDS do you have set?
Code: | VIDEO_CARDS="v3d vc4" | Up to and including the Pi3 only vc4 was required. The Pi4 needs v3d an it has a newer GPU.
I don't know if both are required, my code is Pi3/4 friendly. _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
|
trademark91 n00b
Joined: 03 Dec 2020 Posts: 26 Location: USA
|
Posted: Sun Jul 30, 2023 8:46 pm Post subject: |
|
|
NeddySeagoon,
Thanks for clarifying. I'm using both v3d and vc4 as the VIDEO_CARD.
I've attached dmesg using both the kms and fkms dtoverlay to make it easier to troubleshoot.
Here is the one using the open source kms driver:
https://pastebin.com/GExMfnP0
And here is is after a reboot using the fkms driver:
I've read that dtoverlay=rpivid-vl2 no longer needs to be specified in the config.txt, but i've tried with both here just in case its helpful.
with dtoverlay=rpivid-v4l2 and hdmi_enable_4kp60=1
https://pastebin.com/tGXVNi9W
with those two commented as they were with the open source kms:
https://pastebin.com/JV7GieEp |
|
Back to top |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54594 Location: 56N 3W
|
Posted: Mon Jul 31, 2023 4:33 pm Post subject: |
|
|
trademark91,
I don't see anything useful on the video decode side there.
Code: | [ 9.103887] brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43455-sdio.txt failed with error -2 |
says that your WiFi doesn't work but you will know that. _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
|
trademark91 n00b
Joined: 03 Dec 2020 Posts: 26 Location: USA
|
Posted: Wed Aug 09, 2023 4:02 pm Post subject: |
|
|
NeddySeagoon,
Sorry for the delayed reply, I was trying to get it working on my own before I reached out for more help. I've been unable to get the patched ffmpeg from either sakaki's or your genpi64 repo to build on my system due to the neon/thumb2 error I was seeing earlier, which is to be expected given the feedback you provided. I was able to get ffmpeg built from the gentoo overlay however.
It looks like hardware acceleration is supported here on the system:
Code: |
trademark91@raspy ~ $ cat /proc/device-tree/v3dbus/v3d@7ec04000/status
okay
trademark91@raspy ~ $ cat /proc/device-tree/soc/firmwarekms@7e600000/status
okay
|
and the following are the codecs I get when i run ffmpeg -codecs | grep v4l:
Code: |
DEV.L. h263 H.263 / H.263-1996, H.263+ / H.263-1998 / H.263 version 2 (decoders: h263 h263_v4l2m2m ) (encoders: h263 h263_v4l2m2m )
DEV.LS h264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (decoders: h264 h264_v4l2m2m libopenh264 ) (encoders: libx264 libx264rgb libopenh264 h264_v4l2m2m )
DEV.L. hevc H.265 / HEVC (High Efficiency Video Coding) (decoders: hevc hevc_v4l2m2m ) (encoders: libx265 hevc_v4l2m2m )
DEV.L. mpeg1video MPEG-1 video (decoders: mpeg1video mpeg1_v4l2m2m )
DEV.L. mpeg2video MPEG-2 video (decoders: mpeg2video mpegvideo mpeg2_v4l2m2m )
DEV.L. mpeg4 MPEG-4 part 2 (decoders: mpeg4 mpeg4_v4l2m2m ) (encoders: mpeg4 mpeg4_v4l2m2m )
D.V.L. vc1 SMPTE VC-1 (decoders: vc1 vc1_v4l2m2m )
DEV.L. vp8 On2 VP8 (decoders: vp8 vp8_v4l2m2m libvpx ) (encoders: libvpx vp8_v4l2m2m )
DEV.L. vp9 Google VP9 (decoders: vp9 vp9_v4l2m2m libvpx-vp9 ) (encoders: libvpx-vp9 )
|
However, when I try to launch moonlight and connect with hardware decoding, I get the following output in the console:
Code: |
00:01:27 - Qt Info: "TradeWin" is now at "192.168.1.140:47989"
00:01:46 - Qt Info: Found "ModeSeven.ttf" at ":/data/ModeSeven.ttf"
00:01:46 - Qt Info: Server GPU: ""
00:01:46 - Qt Info: Server GFE version: "3.23.0.74"
00:01:46 - SDL Info (0): Video bitrate: 18500 kbps
00:01:46 - SDL Info (0): Desired audio buffer: 480 samples (1920 bytes)
00:01:46 - SDL Info (0): Obtained audio buffer: 480 samples (1920 bytes)
00:01:46 - SDL Info (0): Audio channel count: 2
00:01:46 - SDL Info (0): Audio channel mask: 3
00:01:46 - SDL Info (0): Desired audio buffer: 480 samples (1920 bytes)
00:01:46 - SDL Info (0): Obtained audio buffer: 480 samples (1920 bytes)
00:01:47 - Qt Info: Found "gamecontrollerdb.txt" at "/home/trademark91/.cache/Moonlight Game Streaming Project/Moonlight/gamecontrollerdb.txt"
00:01:47 - SDL Info (0): Loaded 262 new gamepad mappings
00:01:47 - SDL Info (0): V-sync disabled
00:01:47 - SDL Info (0): Using SDL renderer
00:01:47 - FFmpeg: [hevc_mp4toannexb @ 0x7f4006fea0] The input looks like it is Annex B already
00:01:47 - FFmpeg: [hevc_v4l2m2m @ 0x7f4008c3a0] probing device /dev/video23
00:01:47 - FFmpeg: [hevc_v4l2m2m @ 0x7f4008c3a0] driver 'bcm2835-isp' on card 'bcm2835-isp' in unknown mode
00:01:47 - FFmpeg: [hevc_v4l2m2m @ 0x7f4008c3a0] probing device /dev/video22
00:01:47 - FFmpeg: [hevc_v4l2m2m @ 0x7f4008c3a0] driver 'bcm2835-isp' on card 'bcm2835-isp' in splane mode
00:01:47 - FFmpeg: [hevc_v4l2m2m @ 0x7f4008c3a0] v4l2 output format not supported
00:01:47 - FFmpeg: [hevc_v4l2m2m @ 0x7f4008c3a0] probing device /dev/video31
00:01:47 - FFmpeg: [hevc_v4l2m2m @ 0x7f4008c3a0] driver 'bcm2835-codec' on card 'bcm2835-codec-encode_image' in mplane mode
00:01:47 - FFmpeg: [hevc_v4l2m2m @ 0x7f4008c3a0] v4l2 output format not supported
00:01:47 - FFmpeg: [hevc_v4l2m2m @ 0x7f4008c3a0] probing device /dev/video18
00:01:47 - FFmpeg: [hevc_v4l2m2m @ 0x7f4008c3a0] driver 'bcm2835-codec' on card 'bcm2835-codec-image_fx' in mplane mode
00:01:47 - FFmpeg: [hevc_v4l2m2m @ 0x7f4008c3a0] v4l2 output format not supported
00:01:47 - FFmpeg: [hevc_v4l2m2m @ 0x7f4008c3a0] probing device /dev/video21
00:01:47 - FFmpeg: [hevc_v4l2m2m @ 0x7f4008c3a0] driver 'bcm2835-isp' on card 'bcm2835-isp' in splane mode
00:01:47 - FFmpeg: [hevc_v4l2m2m @ 0x7f4008c3a0] v4l2 output format not supported
00:01:47 - FFmpeg: [hevc_v4l2m2m @ 0x7f4008c3a0] probing device /dev/video20
00:01:47 - FFmpeg: [hevc_v4l2m2m @ 0x7f4008c3a0] driver 'bcm2835-isp' on card 'bcm2835-isp' in splane mode
00:01:47 - FFmpeg: [hevc_v4l2m2m @ 0x7f4008c3a0] v4l2 output format not supported
00:01:47 - FFmpeg: [hevc_v4l2m2m @ 0x7f4008c3a0] probing device /dev/video12
00:01:47 - FFmpeg: [hevc_v4l2m2m @ 0x7f4008c3a0] driver 'bcm2835-codec' on card 'bcm2835-codec-isp' in mplane mode
00:01:47 - FFmpeg: [hevc_v4l2m2m @ 0x7f4008c3a0] v4l2 output format not supported
00:01:47 - FFmpeg: [hevc_v4l2m2m @ 0x7f4008c3a0] probing device /dev/video11
00:01:47 - FFmpeg: [hevc_v4l2m2m @ 0x7f4008c3a0] driver 'bcm2835-codec' on card 'bcm2835-codec-encode' in mplane mode
00:01:47 - FFmpeg: [hevc_v4l2m2m @ 0x7f4008c3a0] v4l2 output format not supported
00:01:47 - FFmpeg: [hevc_v4l2m2m @ 0x7f4008c3a0] probing device /dev/video10
00:01:47 - FFmpeg: [hevc_v4l2m2m @ 0x7f4008c3a0] driver 'bcm2835-codec' on card 'bcm2835-codec-decode' in mplane mode
00:01:47 - FFmpeg: [hevc_v4l2m2m @ 0x7f4008c3a0] v4l2 output format not supported
00:01:47 - FFmpeg: [hevc_v4l2m2m @ 0x7f4008c3a0] probing device /dev/video16
00:01:47 - FFmpeg: [hevc_v4l2m2m @ 0x7f4008c3a0] driver 'bcm2835-isp' on card 'bcm2835-isp' in unknown mode
00:01:47 - FFmpeg: [hevc_v4l2m2m @ 0x7f4008c3a0] probing device /dev/video15
00:01:47 - FFmpeg: [hevc_v4l2m2m @ 0x7f4008c3a0] driver 'bcm2835-isp' on card 'bcm2835-isp' in splane mode
00:01:47 - FFmpeg: [hevc_v4l2m2m @ 0x7f4008c3a0] v4l2 output format not supported
00:01:47 - FFmpeg: [hevc_v4l2m2m @ 0x7f4008c3a0] probing device /dev/video19
00:01:47 - FFmpeg: [hevc_v4l2m2m @ 0x7f4008c3a0] driver 'rpivid' on card 'rpivid' in mplane mode
00:01:47 - FFmpeg: [hevc_v4l2m2m @ 0x7f4008c3a0] v4l2 output format not supported
00:01:47 - FFmpeg: [hevc_v4l2m2m @ 0x7f4008c3a0] probing device /dev/video14
00:01:47 - FFmpeg: [hevc_v4l2m2m @ 0x7f4008c3a0] driver 'bcm2835-isp' on card 'bcm2835-isp' in splane mode
00:01:47 - FFmpeg: [hevc_v4l2m2m @ 0x7f4008c3a0] v4l2 output format not supported
00:01:47 - FFmpeg: [hevc_v4l2m2m @ 0x7f4008c3a0] probing device /dev/video13
00:01:47 - FFmpeg: [hevc_v4l2m2m @ 0x7f4008c3a0] driver 'bcm2835-isp' on card 'bcm2835-isp' in splane mode
00:01:47 - FFmpeg: [hevc_v4l2m2m @ 0x7f4008c3a0] v4l2 output format not supported
00:01:47 - FFmpeg: [hevc_v4l2m2m @ 0x7f4008c3a0] Could not find a valid device
00:01:47 - FFmpeg: [hevc_v4l2m2m @ 0x7f4008c3a0] can't configure decoder
00:01:47 - SDL Error (0): Unable to open decoder for format: 100
00:01:47 - SDL Error (0): Unable to find working decoder for format: 100
00:01:47 - SDL Error (0): Unable to load FFmpeg decoder
00:01:47 - Qt Info: Found "gamecontrollerdb.txt" at "/home/trademark91/.cache/Moonlight Game Streaming Project/Moonlight/gamecontrollerdb.txt"
|
I think the important lines are these:
Code: |
00:01:47 - FFmpeg: [hevc_v4l2m2m @ 0x7f4008c3a0] probing device /dev/video19
00:01:47 - FFmpeg: [hevc_v4l2m2m @ 0x7f4008c3a0] driver 'rpivid' on card 'rpivid' in mplane mode
00:01:47 - FFmpeg: [hevc_v4l2m2m @ 0x7f4008c3a0] v4l2 output format not supported
|
It looks like the device exists, but v4l2 can't support it?
Is there a way to proceed in compiling the patched version from the genpi64 overlay while keeping that thumb2 flag disabled? I'd also be happy to try to create a patch for my own ffmpeg build from the gentoo overlay, however, I'm more than a little confused with all the different ffmpeg patches and branches that are out there currently what would actually need to be patched to get that version of ffmpeg to support hwacceleration on the raspberry pi4. |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|