Hello,
When running an application on Ubuntu on J7 EVM which is using ffmpeg and openh264, I get a runtime error that the encoder cannot be found:
[h264_v4l2m2m @ 0x328a69a0] driver 'vxd-dec' on card 'vxd-dec'[h264_v4l2m2m @ 0x328a69a0] Could not find a valid device[h264_v4l2m2m @ 0x328a69a0] can't configure encoder
I did a check on ffmpeg, which is supplied with TI SDK, and the h264_v4l2m2m is listed as supported encoder. But I can also note that the --enable-libopenh264 flag is missing in the configure report:
$ffmpeg -encoders | grep 264
ffmpeg version 4.2.2 Copyright (c) 2000-2019 the FFmpeg developers
built with gcc 9.2.1 (GNU Toolchain for the A-profile Architecture 9.2-2019.12 (arm-9.10)
configuration: --disable-stripping --enable-pic --enable-shared --enable-pthreads --cross-prefix=aarch64-none-linux-gnu- --ld='aarch64-none-linux-gnu-gcc --sysroot=/recipe-sysroot' --cc='aarch64-none-li
nux-gnu-gcc --sysroot=/recipe-sysroot' --cxx='aarch64-none-linux-gnu-g++ --sysroot=/recipe-sysroot' --arch=aarch64 --target-os=linux --enable-cross-compile --extra-cflags=' -O2 -pipe -g -feliminate-unused
-debug-types -fmacro-prefix-map==/usr/src/debug/ffmpeg/4.2.2-r0.arago0 -fdebug-prefix-map==/usr/src/debug/ffmpeg/4.2.2-r0.arago0 -fdebug-prefix-map=/recipe-sysroot= -fdebug-prefix-map=/recipe-sysroot-nati
ve= --sysroot=/recipe-sysroot' --extra-ldflags='-Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed' --sysroot=/recipe-sysroot --libdir=/usr/lib --shlibdir=/usr/lib --datadir=/usr/share/ffmpeg --disable-mipsdsp
--disable-mipsdspr2 --cpu=generic --pkg-config=pkg-config --enable-alsa --enable-avcodec --enable-avdevice --enable-avfilter --enable-avformat --enable-avresample --enable-bzlib --disable-libfdk-aac --ena
ble-gpl --disable-libgsm --disable-indev=jack --disable-libvorbis --enable-lzma --disable-libmfx --disable-libmp3lame --disable-openssl --enable-postproc --disable-sdl2 --disable-libspeex --enable-swresam
ple --enable-swscale --enable-libtheora --disable-vaapi --disable-vdpau --disable-libvpx --disable-libx264 --disable-libx265 --disable-libxcb --disable-outdev=xv --enable-zlib
libavutil 56. 31.100 / 56. 31.100
libavcodec 58. 54.100 / 58. 54.100
libavformat 58. 29.100 / 58. 29.100
libavdevice 58. 8.100 / 58. 8.100
libavfilter 7. 57.100 / 7. 57.100
libavresample 4. 0. 0 / 4. 0. 0
libswscale 5. 5.100 / 5. 5.100
libswresample 3. 5.100 / 3. 5.100
libpostproc 55. 5.100 / 55. 5.100
V..... h264_v4l2m2m V4L2 mem2mem H.264 encoder wrapper (codec h264)
Prerequisites:
- J7 EVM + SDK version 08.00.00.08
- The program runs successfully on a native Ubuntu 18.4, no special configuration
I have the following questions:
- Is the error message relevant to the ffmpeg and openh264 libraries?
- Does the ffmpeg coming with the SDK is configured to support the listed h.264 encoding?
- If not, how to re-configure the existing libraries?
Regards,
Borislav