XU4 Hardware En/Decoding Firmware

Test and fix the Kernel 4.14 features

Moderators: mdrjr, odroid

XU4 Hardware En/Decoding Firmware

Unread postby sil » Sun Aug 19, 2018 6:03 pm

I have poblems getting the hardware encoding and decoding to work.

Im actually using:
Ubuntu 18.04.1 LTS (GNU/Linux 4.14.55-146 armv7l)

and dmseg tells me:
[ 2.121857] mali 11800000.mali: Continuing without Mali regulator control
[ 2.128155] mali 11800000.mali: GPU identified as 0x0620 r0p1 status 0
[ 2.134204] mali 11800000.mali: Protected mode not available
[ 2.139803] devfreq devfreq0: Couldn't update frequency transition information.
[ 2.147272] mali 11800000.mali: Probed as mali0
...
...
[ 3.542719] s5p-jpeg 11f50000.jpeg: Linked as a consumer to 11f10000.sysmmu
[ 3.548302] iommu: Adding device 11f50000.jpeg to group 3
[ 3.553980] s5p-jpeg 11f50000.jpeg: encoder device registered as /dev/video30
[ 3.560887] s5p-jpeg 11f50000.jpeg: decoder device registered as /dev/video31
[ 3.567824] s5p-jpeg 11f50000.jpeg: Samsung S5P JPEG codec
[ 3.573486] s5p-jpeg 11f60000.jpeg: Linked as a consumer to 11f20000.sysmmu
[ 3.580261] iommu: Adding device 11f60000.jpeg to group 4
[ 3.585918] s5p-jpeg 11f60000.jpeg: encoder device registered as /dev/video32
[ 3.592858] s5p-jpeg 11f60000.jpeg: decoder device registered as /dev/video33
[ 3.599798] s5p-jpeg 11f60000.jpeg: Samsung S5P JPEG codec
[ 3.606348] s5p-mfc 11000000.codec: Linked as a consumer to 11200000.sysmmu
[ 3.612314] s5p-mfc 11000000.codec: Linked as a consumer to 11210000.sysmmu
[ 3.619180] iommu: Adding device 11000000.codec to group 5
[ 3.642385] s5p-mfc 11000000.codec: preallocated 16 MiB buffer for the firmware and context buffers
[ 3.650098] (NULL device *): Direct firmware load for s5p-mfc-v8.fw failed with error -2
[ 3.658069] s5p_mfc_load_firmware:73: Firmware is not present in the /lib/firmware directory nor compiled in kernel
[ 3.668631] s5p-mfc 11000000.codec: decoder registered as /dev/video10
[ 3.675110] s5p-mfc 11000000.codec: encoder registered as /dev/video11

To answer the first question:
The file "/lib/firmware/s5p-mfc-v8.fw" and "/lib/firmware/s5p-mfc/s5p-mfc-v8.fw" are existing.

Can this patch solve my problem:
https://patchwork.kernel.org/patch/10278117/
Can you provide a kernel update ?

Or can you tell me a workaround ?
sil
 
Posts: 8
Joined: Wed Apr 27, 2016 5:25 am
languages_spoken: english, deutsch
ODROIDs: XU4

Re: XU4 Hardware En/Decoding Firmware

Unread postby mad_ady » Sun Aug 19, 2018 6:10 pm

What OS are you running? Hardkernel's Ubuntu or Debian? On Debian there's a linux-firmware package you can install.
User avatar
mad_ady
 
Posts: 4700
Joined: Wed Jul 15, 2015 5:00 pm
Location: Bucharest, Romania
languages_spoken: english
ODROIDs: XU4, C1+, C2, N1

Re: XU4 Hardware En/Decoding Firmware

Unread postby sil » Sun Aug 19, 2018 6:33 pm

Running on Hardkernel's Ubuntu 18.04.1. Kernel 4.14.55-146
linux-firmware is version 1.173.1
sil
 
Posts: 8
Joined: Wed Apr 27, 2016 5:25 am
languages_spoken: english, deutsch
ODROIDs: XU4

Re: XU4 Hardware En/Decoding Firmware

Unread postby OverSun » Sun Aug 19, 2018 10:38 pm

How exactly does that affect your "encoding/decoding"? With which program do you use "encoding/decoding" and what does it tell you as an error?
User avatar
OverSun
 
Posts: 1386
Joined: Mon Apr 29, 2013 5:12 pm
languages_spoken: english

Re: XU4 Hardware En/Decoding Firmware

Unread postby sil » Mon Aug 20, 2018 3:07 am

1. Problems with ffmpeg:
With libx264 it is working:
ffmpeg -i testin.mpg -b:v 2M -pix_fmt nv21 testout.mp4
ffmpeg version 3.4.2-2ubuntu4 Copyright (c) 2000-2018 the FFmpeg developers
built with gcc 7 (Ubuntu/Linaro 7.3.0-16ubuntu3)
configuration: --prefix=/usr --extra-version=2ubuntu4 --toolchain=hardened --libdir=/usr/lib/arm-linux-gnueabihf --incdir=/usr/include/arm-linux-gnueabihf --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-librsvg --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-v4l2_m2m --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
libavutil 55. 78.100 / 55. 78.100
libavcodec 57.107.100 / 57.107.100
libavformat 57. 83.100 / 57. 83.100
libavdevice 57. 10.100 / 57. 10.100
libavfilter 6.107.100 / 6.107.100
libavresample 3. 7. 0 / 3. 7. 0
libswscale 4. 8.100 / 4. 8.100
libswresample 2. 9.100 / 2. 9.100
libpostproc 54. 7.100 / 54. 7.100
[mpeg2_v4l2m2m @ 0x5355a0] driver 'exynos-gsc' on card 'exynos-gsc gscaler'
Last message repeated 1 times
[mpeg2_v4l2m2m @ 0x5355a0] driver 's5p-mfc' on card 's5p-mfc-enc'
[mpeg2_v4l2m2m @ 0x5355a0] driver 's5p-mfc' on card 's5p-mfc-dec'
[mpeg2_v4l2m2m @ 0x5355a0] Using device /dev/video10
[mpeg2_v4l2m2m @ 0x5355a0] driver 's5p-mfc' on card 's5p-mfc-dec'
Input #0, mpeg, from 'testin.mpg':
Duration: 00:00:14.01, start: 0.387500, bitrate: 6123 kb/s
Stream #0:0[0x1e0]: Video: mpeg2video, nv21(bottom first), 720x480, 6000 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc
[mpeg2_v4l2m2m @ 0x53b030] driver 'exynos-gsc' on card 'exynos-gsc gscaler'
Last message repeated 1 times
[mpeg2_v4l2m2m @ 0x53b030] driver 's5p-mfc' on card 's5p-mfc-enc'
[mpeg2_v4l2m2m @ 0x53b030] driver 's5p-mfc' on card 's5p-mfc-dec'
[mpeg2_v4l2m2m @ 0x53b030] Using device /dev/video10
[mpeg2_v4l2m2m @ 0x53b030] driver 's5p-mfc' on card 's5p-mfc-dec'
Stream mapping:
Stream #0:0 -> #0:0 (mpeg2video (mpeg2_v4l2m2m) -> h264 (libx264))
Press [q] to stop, [?] for help
[mpeg2_v4l2m2m @ 0x53b030] capture: driver decode error
[libx264 @ 0x53c1b0] using cpu capabilities: ARMv6 NEON
[libx264 @ 0x53c1b0] profile High, level 3.0
[libx264 @ 0x53c1b0] 264 - core 152 r2854 e9a5903 - H.264/MPEG-4 AVC codec - Copyleft 2003-2017 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=12 lookahead_threads=2 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=abr mbtree=1 bitrate=2000 ratetol=1.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to 'testout.mp4':
Metadata:
encoder : Lavf57.83.100
Stream #0:0: Video: h264 (libx264) (avc1 / 0x31637661), nv21, 720x480, q=-1--1, 2000 kb/s, 29.97 fps, 30k tbn, 29.97 tbc
Metadata:
encoder : Lavc57.107.100 libx264
Side data:
cpb: bitrate max/min/avg: 0/0/2000000 buffer size: 0 vbv_delay: -1
[mpeg2_v4l2m2m @ 0x53b030] capture: driver decode error
Last message repeated 15 times
frame= 420 fps= 47 q=-1.0 Lsize= 3789kB time=00:00:13.94 bitrate=2225.3kbits/s speed=1.55x
video:3783kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.143547%
[libx264 @ 0x53c1b0] frame I:2 Avg QP:11.06 size: 31746
[libx264 @ 0x53c1b0] frame P:119 Avg QP: 8.85 size: 21305
[libx264 @ 0x53c1b0] frame B:299 Avg QP:13.53 size: 4262
[libx264 @ 0x53c1b0] consecutive B-frames: 1.0% 1.4% 32.9% 64.8%
[libx264 @ 0x53c1b0] mb I I16..4: 25.5% 60.4% 14.1%
[libx264 @ 0x53c1b0] mb P I16..4: 5.0% 4.7% 0.9% P16..4: 25.4% 13.2% 9.7% 0.0% 0.0% skip:41.1%
[libx264 @ 0x53c1b0] mb B I16..4: 0.4% 0.2% 0.0% B16..8: 31.9% 6.0% 1.6% direct: 6.2% skip:53.7% L0:39.5% L1:33.5% BI:27.0%
[libx264 @ 0x53c1b0] final ratefactor: 12.30
[libx264 @ 0x53c1b0] 8x8 transform intra:44.9% inter:54.5%
[libx264 @ 0x53c1b0] coded y,uvDC,uvAC intra: 42.5% 16.9% 15.8% inter: 19.7% 9.4% 3.9%
[libx264 @ 0x53c1b0] i16 v,h,dc,p: 69% 16% 15% 0%
[libx264 @ 0x53c1b0] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 15% 7% 71% 1% 1% 2% 1% 1% 1%
[libx264 @ 0x53c1b0] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 17% 10% 49% 3% 6% 6% 3% 3% 2%
[libx264 @ 0x53c1b0] i8c dc,h,v,p: 91% 3% 6% 1%
[libx264 @ 0x53c1b0] Weighted P-Frames: Y:33.6% UV:0.8%
[libx264 @ 0x53c1b0] ref P L0: 82.7% 3.4% 8.6% 3.9% 1.5%
[libx264 @ 0x53c1b0] ref B L0: 88.6% 10.4% 1.0%
[libx264 @ 0x53c1b0] ref B L1: 97.5% 2.5%
[libx264 @ 0x53c1b0] kb/s:2211.10

With h264_v4l2m2m i get a output file but it is showing no video:
ffmpeg -i testin.mpg -vcodec h264_v4l2m2m -b:v 2M -pix_fmt nv21 testout.mp4
ffmpeg version 3.4.2-2ubuntu4 Copyright (c) 2000-2018 the FFmpeg developers
built with gcc 7 (Ubuntu/Linaro 7.3.0-16ubuntu3)
configuration: --prefix=/usr --extra-version=2ubuntu4 --toolchain=hardened --libdir=/usr/lib/arm-linux-gnueabihf --incdir=/usr/include/arm-linux-gnueabihf --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-librsvg --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-v4l2_m2m --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
libavutil 55. 78.100 / 55. 78.100
libavcodec 57.107.100 / 57.107.100
libavformat 57. 83.100 / 57. 83.100
libavdevice 57. 10.100 / 57. 10.100
libavfilter 6.107.100 / 6.107.100
libavresample 3. 7. 0 / 3. 7. 0
libswscale 4. 8.100 / 4. 8.100
libswresample 2. 9.100 / 2. 9.100
libpostproc 54. 7.100 / 54. 7.100
[mpeg2_v4l2m2m @ 0x519600] driver 'exynos-gsc' on card 'exynos-gsc gscaler'
Last message repeated 1 times
[mpeg2_v4l2m2m @ 0x519600] driver 's5p-mfc' on card 's5p-mfc-enc'
[mpeg2_v4l2m2m @ 0x519600] driver 's5p-mfc' on card 's5p-mfc-dec'
[mpeg2_v4l2m2m @ 0x519600] Using device /dev/video10
[mpeg2_v4l2m2m @ 0x519600] driver 's5p-mfc' on card 's5p-mfc-dec'
Input #0, mpeg, from 'testin.mpg':
Duration: 00:00:14.01, start: 0.387500, bitrate: 6123 kb/s
Stream #0:0[0x1e0]: Video: mpeg2video, nv21(bottom first), 720x480, 6000 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc
[mpeg2_v4l2m2m @ 0x530510] driver 'exynos-gsc' on card 'exynos-gsc gscaler'
Last message repeated 1 times
[mpeg2_v4l2m2m @ 0x530510] driver 's5p-mfc' on card 's5p-mfc-enc'
[mpeg2_v4l2m2m @ 0x530510] driver 's5p-mfc' on card 's5p-mfc-dec'
[mpeg2_v4l2m2m @ 0x530510] Using device /dev/video10
[mpeg2_v4l2m2m @ 0x530510] driver 's5p-mfc' on card 's5p-mfc-dec'
Stream mapping:
Stream #0:0 -> #0:0 (mpeg2video (mpeg2_v4l2m2m) -> h264 (h264_v4l2m2m))
Press [q] to stop, [?] for help
[mpeg2_v4l2m2m @ 0x530510] capture: driver decode error
[h264_v4l2m2m @ 0x51f100] driver 'exynos-gsc' on card 'exynos-gsc gscaler'
Last message repeated 1 times
[h264_v4l2m2m @ 0x51f100] driver 's5p-mfc' on card 's5p-mfc-enc'
[h264_v4l2m2m @ 0x51f100] Using device /dev/video11
[h264_v4l2m2m @ 0x51f100] driver 's5p-mfc' on card 's5p-mfc-enc'
[h264_v4l2m2m @ 0x51f100] h264_v4l2m2m encoder: enabling bit rate control: 2000000
[h264_v4l2m2m @ 0x51f100] h264 profile not found
[h264_v4l2m2m @ 0x51f100] Encoder adjusted: qmin (0), qmax (51)
Output #0, mp4, to 'testout.mp4':
Metadata:
encoder : Lavf57.83.100
Stream #0:0: Video: h264 (h264_v4l2m2m) (avc1 / 0x31637661), nv21, 720x480, q=2-31, 2000 kb/s, 29.97 fps, 30k tbn, 29.97 tbc
Metadata:
encoder : Lavc57.107.100 h264_v4l2m2m
[mpeg2_v4l2m2m @ 0x530510] capture: driver decode error
Last message repeated 15 times
frame= 420 fps=164 q=-0.0 Lsize= 3407kB time=00:00:13.98 bitrate=1996.1kbits/s speed=5.45x
video:3404kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.075766%

2. Problems with tvheadend:
2018-08-19 18:02:35.726 subscription: 000A: "HTTP" subscribing on channel "kabel 1 Doku Austria", weight: 100, adapter: "Silicon Labs Si2168 #0 : DVB-C #0", network: "DVB-C Network", mux: "602MHz", provider: "Salzburg AG", service: "kabel 1 Doku Austria", profile="plex", hostname="192.168.0.101", username="Plex", client="Lavf/57.83.100"
2018-08-19 18:02:35.733 transcode: 0002: 02:MPEG2VIDEO: ==> Using profile webtv-h264
2018-08-19 18:02:35.734 transcode: 0002: 03:MPEG2AUDIO: ==> Using profile webtv-aac
2018-08-19 18:02:37.304 libav: AVCodecContext: driver 'exynos-gsc' on card 'exynos-gsc gscaler'
2018-08-19 18:02:37.304 libav: AVCodecContext: driver 'exynos-gsc' on card 'exynos-gsc gscaler'
2018-08-19 18:02:37.305 libav: AVCodecContext: driver 's5p-mfc' on card 's5p-mfc-enc'
2018-08-19 18:02:37.307 libav: AVCodecContext: driver 's5p-mfc' on card 's5p-mfc-dec'
2018-08-19 18:02:37.313 libav: AVCodecContext: Using device /dev/video10
2018-08-19 18:02:37.314 libav: AVCodecContext: driver 's5p-mfc' on card 's5p-mfc-dec'
2018-08-19 18:02:37.327 libav: AVCodecContext: capture: driver decode error
2018-08-19 18:02:37.327 libav: AVCodecContext: Invalid cropping information set by a decoder: 0/0/0/0 (frame size 0x0). This is a bug, please report it
2018-08-19 18:02:37.342 libav: AVCodecContext: using cpu capabilities: ARMv6 NEON
2018-08-19 18:02:37.349 libav: AVCodecContext: profile Main, level 3.1
2018-08-19 18:02:37.350 libav: buffer: Unable to parse option value "0x0" as image size
2018-08-19 18:02:37.351 libav: buffer: Unable to parse option value "0x0" as image size
2018-08-19 18:02:37.351 libav: buffer: Error setting option video_size to value 0x0.
2018-08-19 18:02:37.351 libav: AVFilter: Error applying options to the filter.
2018-08-19 18:02:37.351 transcode: 0002: 02:H264: [mpeg2_v4l2m2m => libx264]: filters: failed to create 'in' filter
sil
 
Posts: 8
Joined: Wed Apr 27, 2016 5:25 am
languages_spoken: english, deutsch
ODROIDs: XU4

Re: XU4 Hardware En/Decoding Firmware

Unread postby OverSun » Mon Aug 20, 2018 3:24 am

And what's in dmesg during all that actions? Not on boot, but during decoding?
User avatar
OverSun
 
Posts: 1386
Joined: Mon Apr 29, 2013 5:12 pm
languages_spoken: english

Re: XU4 Hardware En/Decoding Firmware

Unread postby sil » Mon Aug 20, 2018 3:51 am

For the ffmpeg part:
[81458.338506] vidioc_try_fmt:401: Unsupported format for destination.
[81458.443369] vidioc_try_fmt:1070: failed to try output format
[81458.447592] vidioc_try_fmt:1070: failed to try output format

For tvheadend:
[81862.510416] vidioc_try_fmt:401: Unsupported format for destination.
[81869.319070] s5p_mfc_handle_error:471: Interrupt Error: 00000066
[81869.324180] vidioc_dqbuf:645: Call on DQBUF after unrecoverable error
[81869.330467] vidioc_dqbuf:645: Call on DQBUF after unrecoverable error
[81869.336507] vidioc_qbuf:625: Call on QBUF after unrecoverable error
sil
 
Posts: 8
Joined: Wed Apr 27, 2016 5:25 am
languages_spoken: english, deutsch
ODROIDs: XU4

Re: XU4 Hardware En/Decoding Firmware

Unread postby OverSun » Mon Aug 20, 2018 3:55 am

So guess what's your problem is?

As for the firmware, most probably it's being tried to be loaded during boot when initrd is mounted. So the real filesystem is not there during loading s5p-mfc module.
Solution for that would be:
a) compile kernel with firmware included in (there is an option for that in the config)
b) google how to add files to initrd and add /lib/firmware/s5p-mfc-v8.fw to it
c) google how to exclude modules from initrd, so the module is not going to be loaded during early boot with fake filesystem, but at the point when it's going to be available together with the full system
User avatar
OverSun
 
Posts: 1386
Joined: Mon Apr 29, 2013 5:12 pm
languages_spoken: english

Re: XU4 Hardware En/Decoding Firmware

Unread postby memeka » Mon Aug 20, 2018 5:43 pm

That error is indeed because firmware is not accessible at boot. But when you access MFC firmware will load fine. In current mainline I think this msg was just removed. You can ignore it, it doesn’t affect functionality.
User avatar
memeka
 
Posts: 4055
Joined: Mon May 20, 2013 10:22 am
languages_spoken: english
ODROIDs: XU rev2 + eMMC + UART
U3 + eMMC + IO Shield + UART

Re: XU4 Hardware En/Decoding Firmware

Unread postby sil » Tue Aug 21, 2018 1:45 am

Due to the fact that it is not working so far, how should I continue to solve the problem. Is there a possibilty to check that the firmware was loaded successfully ?
sil
 
Posts: 8
Joined: Wed Apr 27, 2016 5:25 am
languages_spoken: english, deutsch
ODROIDs: XU4

Re: XU4 Hardware En/Decoding Firmware

Unread postby MastaG » Wed Aug 22, 2018 10:29 pm

For me using Fedora 29, I had to make sure the firmware is added to the initramfs (which is converted to uInitrd).

cat /etc/dracut.conf.d/s5p-mfc.conf
install_optional_items+=" /lib/firmware/s5p-mfc.fw /lib/firmware/s5p-mfc-v6.fw /lib/firmware/s5p-mfc-v6-v2.fw /lib/firmware/s5p-mfc-v7.fw /lib/firmware/s5p-mfc-v8.fw "
MastaG
 
Posts: 215
Joined: Mon Aug 26, 2013 6:05 pm
languages_spoken: english

Re: XU4 Hardware En/Decoding Firmware

Unread postby bbolin » Sun Sep 02, 2018 8:31 pm

Think I'm seeing a similar problem on my hc2 (xu4). I've got tvheadend running and having no problems with it. Using HDHomeRun tuners.

The problem I'm seeing is with Shinobi security cam software. Using ffmpeg to probe camera.
Streaming Media v2017.10.28 comment : LIVE555 Streaming Media v2017.10.28 Duration: N/A, start: 1.091322, bitrate: N/A Stream #0:0: Video: h264 (Constrained Baseline), yuv420p(progressive), 640x480, 15 fps, 25 tbr, 90k tbn, 30 tbc [h264_v4l2m2m @ 0x51af30] driver 'exynos-gsc' on card 'exynos-gsc gscaler' Last message repeated 1 times [h264_v4l2m2m @ 0x51af30] driver 's5p-jpeg' on card 's5p-jpeg decoder' [h264_v4l2m2m @ 0x51af30] driver 's5p-jpeg' on card 's5p-jpeg encoder' [h264_v4l2m2m @ 0x51af30] driver 's5p-jpeg' on card 's5p-jpeg decoder' [h264_v4l2m2m @ 0x51af30] driver 's5p-jpeg' on card 's5p-jpeg encoder' [h264_v4l2m2m @ 0x51af30] Could not find a valid device [h264_v4l2m2m @ 0x51af30] can't configure decoder Could not open codec for input stream 0
END

dmesg output snippet
[ 3.465447] (NULL device *): Direct firmware load for s5p-mfc-v8.fw failed with error -2
[ 3.473420] s5p_mfc_load_firmware:73: Firmware is not present in the /lib/firmware directory nor compiled in kernel
[ 3.483990] s5p-mfc 11000000.codec: decoder registered as /dev/video10
[ 3.490464] s5p-mfc 11000000.codec: encoder registered as /dev/video11

and some other errors in dmesg
[ 43.521398] vidioc_try_fmt:401: Unsupported format for destination.
[ 43.526566] vidioc_try_fmt:401: Unsupported format for destination.
[ 43.544738] s5p_mfc_handle_error:471: Interrupt Error: 00000066
[ 43.549238] s5p_mfc_queue_setup:923: State seems invalid. State = 109, vq->type = 9
[ 43.557157] reqbufs_capture:564: Failed allocating buffers for CAPTURE queue
[ 44.542134] mmcblk1: error -110 transferring data, sector 17567016, nr 848, cmd response 0x900, card status 0x0
[ 44.585285] mmc_host mmc1: Bus speed (slot 0) = 50000000Hz (slot req 400000Hz, actual 396825HZ div = 63)
[ 44.681320] mmc_host mmc1: Bus speed (slot 0) = 50000000Hz (slot req 50000000Hz, actual 50000000HZ div = 0)
[ 45.525390] vidioc_try_fmt:401: Unsupported format for destination.
[ 45.530249] vidioc_try_fmt:401: Unsupported format for destination.
[ 45.545184] s5p_mfc_handle_error:471: Interrupt Error: 00000066
[ 45.549841] s5p_mfc_queue_setup:923: State seems invalid. State = 109, vq->type = 9
[ 45.557356] reqbufs_capture:564: Failed allocating buffers for CAPTURE queue
[ 46.867986] vidioc_try_fmt:401: Unsupported format for destination.
[ 46.884821] s5p_mfc_handle_error:471: Interrupt Error: 00000066
[ 46.889339] s5p_mfc_queue_setup:923: State seems invalid. State = 109, vq->type = 9
[ 46.896958] reqbufs_capture:564: Failed allocating buffers for CAPTURE queue
[ 51.825428] vidioc_try_fmt:401: Unsupported format for destination.
[ 51.842561] s5p_mfc_handle_error:471: Interrupt Error: 00000066
[ 51.847084] s5p_mfc_queue_setup:923: State seems invalid. State = 109, vq->type = 9
[ 51.854697] reqbufs_capture:564: Failed allocating buffers for CAPTURE queue

Not sure exactly how this all works. The hc2 version of the XU4 doesn't even have an hdmi port. But apparently it has Mali-628 GPU
bbolin
 
Posts: 18
Joined: Sun Nov 06, 2016 8:59 am
languages_spoken: english
ODROIDs: ODROID-C2, ODROID-HC2

Re: XU4 Hardware En/Decoding Firmware

Unread postby memeka » Tue Sep 04, 2018 9:20 am

the only errors seem to be:
Code: Select all
[ 51.842561] s5p_mfc_handle_error:471: Interrupt Error: 00000066
[ 51.847084] s5p_mfc_queue_setup:923: State seems invalid. State = 109, vq->type = 9
[ 51.854697] reqbufs_capture:564: Failed allocating buffers for CAPTURE queue

which i believe are because the stream is incompatible with the decoder.
assuming you have the correct firmware installed (99% probable you do), it means MFC can't decode it, dunno why - interlacing issues, keyframes issues, bitrate issues, something else....
User avatar
memeka
 
Posts: 4055
Joined: Mon May 20, 2013 10:22 am
languages_spoken: english
ODROIDs: XU rev2 + eMMC + UART
U3 + eMMC + IO Shield + UART


Return to Linux Kernel 4.14 Debugging Party

Who is online

Users browsing this forum: No registered users and 1 guest