### This is a fresh git clone of ffmpeg from its official git repo @ https://github.com/ffmpeg/ffmpeg ### snapshot is from 17.04.2026 ### Building on QNX 8.0 ### Make sure you move away the bundled ffmpeg libs from /usr/lib/ first !!! libavcodec libavdevice libavfilter libavformat libavutil libswresample libswscale ### Make sure you copy from the cross-environment (earlier QNX 8.0 build environment) the ALSA includes /usr/include/alsa since the QNX 8.0 Development Desktop is missing them for some reason and I cannot upload these here due to licensing issues ### Add this new alsa.pc to /usr/lib/pkgconfig prefix=/usr exec_prefix=${prefix} libdir=${exec_prefix}/lib includedir=${prefix}/include Name: ALSA Description: Advanced Linux Sound Architecture (QNX port) Version: 1.2.0 Libs: -L${libdir} -lasound Cflags: -I${includedir} Requires.private: ### Then proceed to build ffmpeg wget https://astr0baby.online/QNX/8.0-DEVELOPER_DESKTOP/RPi4_aarch64/MPV/FFMPEG/ffmpeg.tar.gz tar -zxvf ffmpeg.tar.gz cd ffmpeg ./configure \ --prefix=/usr/local \ --cc=clang \ --arch=aarch64 \ --cpu=generic \ --enable-shared \ --disable-static \ --disable-doc \ --disable-avdevice \ --disable-indevs \ --disable-outdevs \ --disable-network \ --disable-iconv \ --disable-xlib \ --disable-vulkan \ --enable-sdl2 \ --enable-decoder=h264 \ --enable-decoder=hevc \ --enable-decoder=vp9 \ --enable-decoder=vp8 \ --enable-decoder=mpeg4 \ --enable-decoder=mpeg2video \ --enable-decoder=aac \ --enable-decoder=ac3 \ --enable-decoder=mp3 \ --enable-decoder=opus \ --enable-decoder=vorbis \ --enable-decoder=flac \ --enable-decoder=pcm_s16le \ --enable-decoder=pcm_s24le \ --enable-parser=h264 \ --enable-parser=hevc \ --enable-parser=aac \ --enable-parser=opus \ --enable-demuxer=mov,mp4,matroska,avi,flv,webm,ogg \ --enable-demuxer=wav \ --enable-alsa \ --enable-protocol=file \ --extra-cflags="-D_QNX_SOURCE -D__QNXNTO__ -D__aarch64__" \ --extra-libs="-lsocket -lasound" \ --extra-ldflags="-Wl,-rpath,/usr/local/lib" make -j2 AR="ar -rcs" RANLIB="ranlib" V=1 cp libavutil/libavutil.so.60 libavutil/libavutil.so make -j2 AR="ar -rcs" RANLIB=ranlib LDFLAGS="-Llibavutil -Llibswresample -Llibavcodec -Llibavformat -lsocket" V=1 cp libswresample/libswresample.so.6 libswresample/libswresample.so make -j2 AR="ar -rcs" RANLIB=ranlib LDFLAGS="-Llibavutil -Llibswresample -Llibavcodec -Llibavformat -lsocket" V=1 cp libavcodec/libavcodec.so.62 libavcodec/libavcodec.so make -j2 AR="ar -rcs" RANLIB=ranlib LDFLAGS="-Llibavutil -Llibswresample -Llibavcodec -Llibavformat -lsocket" V=1 cp libavformat/libavformat.so.62 libavformat/libavformat.so make -j2 AR="ar -rcs" RANLIB=ranlib LDFLAGS="-Llibavutil -Llibswresample -Llibavcodec -Llibavformat -lsocket" V=1 cp libswscale/libswscale.so.9 libswscale/libswscale.so make -j2 AR="ar -rcs" RANLIB="ranlib" V=1 cp libavfilter/libavfilter.so.11 libavfilter/libavfilter.so make -j2 AR="ar -rcs" RANLIB="ranlib" V=1 #### Now please note the hacks in the .so copy procedures , on QNX there are issues with autogenerating sonames and appropropriate symlinks #### during builds like ffmpeg (this is at least my observation) so when ffmpeg build process hits the linking stage towards libavutil.so do the #### hack above with copyting the compiled library in the full soname format to its simplified one line libavutil.so.60 -> libavutil.so and so on ... make install