Hello all, I have never compiled FFmpeg and have zero knowledge nor experience with the process; I use 32bit FFmpeg version 4.1.6 on a 32bit raspberry pi, I wanted to use h264_v4l2m2m for hardware-accelerated encoding using 64 bit FFmpeg v4.3 instead of the 32bit h264_omx, my steps were as follow:
I updated the PI to 64bit, now running: Linux Dev 5.4.79-v8+ #1373 SMP PREEMPT Mon Nov 23 13:32:41 GMT 2020 aarch64 GNU/Linux I then cloned the FFmpeg: git clone --depth 1 --branch release/4.3 https://github.com/FFmpeg/FFmpeg.git and lastly, I have configured and ran the script with the following parameters: sudo ./configure --prefix="$HOME/ffmpeg_build" --pkg-config-flags="--static" --extra-cflags="-I$HOME/ffmpeg_build/include" --extra-ldflags="-L$HOME/ffmpeg_build/lib" --extra-libs="-lpthread -lm" --bindir="$HOME/bin" --enable-gpl --enable-gnutls --enable-libaom --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-nonfree --arch=aarch64 --enable-libxml2 --enable-libwebp --enable-libdrm install prefix /home/pi/ffmpeg_build source path . C compiler gcc C library glibc ARCH aarch64 (generic) big-endian no runtime cpu detection yes NEON enabled no VFP enabled no debug symbols yes strip symbols yes optimize for size no optimizations yes static yes shared no postprocessing support yes network support yes threading support pthreads safe bitstream reader yes texi2html enabled no perl enabled yes pod2man enabled yes makeinfo enabled yes makeinfo supports HTML yes External libraries: alsa libdrm libvorbis libxcb lzma gnutls libfdk_aac libvpx libxcb_shape sdl2 iconv libfreetype libwebp libxcb_shm sndio libaom libmp3lame libx264 libxcb_xfixes xlib libass libopus libx265 libxml2 zlib External libraries providing hardware acceleration: v4l2_m2m vaapi vdpau Libraries: avcodec avfilter avutil swresample avdevice avformat postproc swscale Programs: ffmpeg ffplay ffprobe Enabled decoders: aac atrac9 flic mp3 pgm truemotion2 aac_fixed aura flv mp3adu pgmyuv truemotion2rt aac_latm aura2 fmvc mp3adufloat pgssub truespeech aasc avrn fourxm mp3float pictor tscc ac3 avrp fraps mp3on4 pixlet tscc2 ac3_fixed avs frwu mp3on4float pjs tta acelp_kelvin avui g2m mpc7 png twinvq adpcm_4xm ayuv g723_1 mpc8 ppm txd adpcm_adx bethsoftvid g729 mpeg1_v4l2m2m prores ulti adpcm_afc bfi gdv mpeg1video prosumer utvideo adpcm_agm bink gif mpeg2_v4l2m2m psd v210 adpcm_aica binkaudio_dct gremlin_dpcm mpeg2video ptx v210x adpcm_argo binkaudio_rdft gsm mpeg4 qcelp v308 adpcm_ct bintext gsm_ms mpeg4_v4l2m2m qdm2 v408 adpcm_dtk bitpacked h261 mpegvideo qdmc v410 adpcm_ea bmp h263 mpl2 qdraw vb adpcm_ea_maxis_xa bmv_audio h263_v4l2m2m msa1 qpeg vble adpcm_ea_r1 bmv_video h263i mscc qtrle vc1 adpcm_ea_r2 brender_pix h263p msmpeg4v1 r10k vc1_v4l2m2m adpcm_ea_r3 c93 h264 msmpeg4v2 r210 vc1image adpcm_ea_xas cavs h264_v4l2m2m msmpeg4v3 ra_144 vcr1 adpcm_g722 ccaption hap msrle ra_288 vmdaudio adpcm_g726 cdgraphics hca mss1 ralf vmdvideo adpcm_g726le cdtoons hcom mss2 rasc vmnc adpcm_ima_alp cdxl hevc msvideo1 rawvideo vorbis adpcm_ima_amv cfhd hevc_v4l2m2m mszh realtext vp3 adpcm_ima_apc cinepak hnm4_video mts2 rl2 vp4 adpcm_ima_apm clearvideo hq_hqa mv30 roq vp5 adpcm_ima_cunning cljr hqx mvc1 roq_dpcm vp6 adpcm_ima_dat4 cllc huffyuv mvc2 rpza vp6a adpcm_ima_dk3 comfortnoise hymt mvdv rscc vp6f adpcm_ima_dk4 cook iac mvha rv10 vp7 adpcm_ima_ea_eacs cpia idcin mwsc rv20 vp8 adpcm_ima_ea_sead cscd idf mxpeg rv30 vp8_v4l2m2m adpcm_ima_iss cyuv iff_ilbm nellymoser rv40 vp9 adpcm_ima_mtf dca ilbc notchlc s302m vp9_v4l2m2m adpcm_ima_oki dds imc nuv sami vplayer adpcm_ima_qt derf_dpcm imm4 on2avc sanm vqa adpcm_ima_rad dfa imm5 opus sbc wavpack adpcm_ima_smjpeg dirac indeo2 paf_audio scpr wcmv adpcm_ima_ssi dnxhd indeo3 paf_video screenpresso webp adpcm_ima_wav dolby_e indeo4 pam sdx2_dpcm webvtt adpcm_ima_ws dpx indeo5 pbm sgi wmalossless adpcm_ms dsd_lsbf interplay_acm pcm_alaw sgirle wmapro adpcm_mtaf dsd_lsbf_planar interplay_dpcm pcm_bluray sheervideo wmav1 adpcm_psx dsd_msbf interplay_video pcm_dvd shorten wmav2 adpcm_sbpro_2 dsd_msbf_planar jacosub pcm_f16le sipr wmavoice adpcm_sbpro_3 dsicinaudio jpeg2000 pcm_f24le siren wmv1 adpcm_sbpro_4 dsicinvideo jpegls pcm_f32be smackaud wmv2 adpcm_swf dss_sp jv pcm_f32le smacker wmv3 adpcm_thp dst kgv1 pcm_f64be smc wmv3image adpcm_thp_le dvaudio kmvc pcm_f64le smvjpeg wnv1 adpcm_vima dvbsub lagarith pcm_lxf snow wrapped_avframe adpcm_xa dvdsub libaom_av1 pcm_mulaw sol_dpcm ws_snd1 adpcm_yamaha dvvideo libfdk_aac pcm_s16be sonic xan_dpcm adpcm_zork dxa libopus pcm_s16be_planar sp5x xan_wc3 agm dxtory libvorbis pcm_s16le speedhq xan_wc4 aic dxv libvpx_vp8 pcm_s16le_planar srgc xbin alac eac3 libvpx_vp9 pcm_s24be srt xbm alias_pix eacmv loco pcm_s24daud ssa xface als eamad lscr pcm_s24le stl xl amrnb eatgq m101 pcm_s24le_planar subrip xma1 amrwb eatgv mace3 pcm_s32be subviewer xma2 amv eatqi mace6 pcm_s32le subviewer1 xpm anm eightbps magicyuv pcm_s32le_planar sunrast xsub ansi eightsvx_exp mdec pcm_s64be svq1 xwd ape eightsvx_fib metasound pcm_s64le svq3 y41p apng escape124 microdvd pcm_s8 tak ylc aptx escape130 mimic pcm_s8_planar targa yop aptx_hd evrc mjpeg pcm_u16be targa_y216 yuv4 arbc exr mjpegb pcm_u16le tdsc zero12v ass ffv1 mlp pcm_u24be text zerocodec asv1 ffvhuff mmvideo pcm_u24le theora zlib asv2 ffwavesynth motionpixels pcm_u32be thp zmbv atrac1 fic movtext pcm_u32le tiertexseqvideo atrac3 fits mp1 pcm_u8 tiff atrac3al flac mp1float pcm_vidc tmv atrac3p flashsv mp2 pcx truehd atrac3pal flashsv2 mp2float pfm truemotion1 Enabled encoders: a64multi comfortnoise libmp3lame pcm_alaw pcx tiff a64multi5 dca libopus pcm_dvd pgm truehd aac dnxhd libvorbis pcm_f32be pgmyuv tta ac3 dpx libvpx_vp8 pcm_f32le png utvideo ac3_fixed dvbsub libvpx_vp9 pcm_f64be ppm v210 adpcm_adx dvdsub libwebp pcm_f64le prores v308 adpcm_g722 dvvideo libwebp_anim pcm_mulaw prores_aw v408 adpcm_g726 eac3 libx264 pcm_s16be prores_ks v410 adpcm_g726le ffv1 libx264rgb pcm_s16be_planar qtrle vc2 adpcm_ima_qt ffvhuff libx265 pcm_s16le r10k vorbis adpcm_ima_ssi fits ljpeg pcm_s16le_planar r210 vp8_v4l2m2m adpcm_ima_wav flac magicyuv pcm_s24be ra_144 vp8_vaapi adpcm_ms flashsv mjpeg pcm_s24daud rawvideo vp9_vaapi adpcm_swf flashsv2 mjpeg_vaapi pcm_s24le roq wavpack adpcm_yamaha flv mlp pcm_s24le_planar roq_dpcm webvtt alac g723_1 movtext pcm_s32be rv10 wmav1 alias_pix gif mp2 pcm_s32le rv20 wmav2 amv h261 mp2fixed pcm_s32le_planar s302m wmv1 apng h263 mpeg1video pcm_s64be sbc wmv2 aptx h263_v4l2m2m mpeg2_vaapi pcm_s64le sgi wrapped_avframe aptx_hd h263p mpeg2video pcm_s8 snow xbm ass h264_v4l2m2m mpeg4 pcm_s8_planar sonic xface asv1 h264_vaapi mpeg4_v4l2m2m pcm_u16be sonic_ls xsub asv2 hevc_v4l2m2m msmpeg4v2 pcm_u16le srt xwd avrp hevc_vaapi msmpeg4v3 pcm_u24be ssa y41p avui huffyuv msvideo1 pcm_u24le subrip yuv4 ayuv jpeg2000 nellymoser pcm_u32be sunrast zlib bmp jpegls opus pcm_u32le svq1 zmbv cinepak libaom_av1 pam pcm_u8 targa cljr libfdk_aac pbm pcm_vidc text Enabled hwaccels: h263_vaapi hevc_vaapi mpeg1_vdpau mpeg4_vaapi vc1_vdpau wmv3_vaapi h264_vaapi hevc_vdpau mpeg2_vaapi mpeg4_vdpau vp8_vaapi wmv3_vdpau h264_vdpau mjpeg_vaapi mpeg2_vdpau vc1_vaapi vp9_vaapi Enabled parsers: aac cook dvdsub h264 opus vc1 aac_latm dca flac hevc png vorbis ac3 dirac g723_1 jpeg2000 pnm vp3 adx dnxhd g729 mjpeg rv30 vp8 av1 dpx gif mlp rv40 vp9 avs2 dvaudio gsm mpeg4video sbc webp bmp dvbsub h261 mpegaudio sipr xma cavsvideo dvd_nav h263 mpegvideo tak Enabled demuxers: aa codec2 hls lrc pcm_s24le srt aac codec2raw hnm lvf pcm_s32be stl ac3 concat ico lxf pcm_s32le str acm dash idcin m4v pcm_s8 subviewer act data idf matroska pcm_u16be subviewer1 adf daud iff mgsts pcm_u16le sup adp dcstr ifv microdvd pcm_u24be svag ads derf ilbc mjpeg pcm_u24le swf adx dfa image2 mjpeg_2000 pcm_u32be tak aea dhav image2_alias_pix mlp pcm_u32le tedcaptions afc dirac image2_brender_pix mlv pcm_u8 thp aiff dnxhd image2pipe mm pcm_vidc threedostr aix dsf image_bmp_pipe mmf pjs tiertexseq alp dsicin image_dds_pipe mov pmp tmv amr dss image_dpx_pipe mp3 pp_bnk truehd amrnb dts image_exr_pipe mpc pva tta amrwb dtshd image_gif_pipe mpc8 pvf tty anm dv image_j2k_pipe mpegps qcp txd apc dvbsub image_jpeg_pipe mpegts r3d ty ape dvbtxt image_jpegls_pipe mpegtsraw rawvideo v210 apm dxa image_pam_pipe mpegvideo realtext v210x apng ea image_pbm_pipe mpjpeg redspark vag aptx ea_cdata image_pcx_pipe mpl2 rl2 vc1 aptx_hd eac3 image_pgm_pipe mpsub rm vc1t aqtitle epaf image_pgmyuv_pipe msf roq vividas argo_asf ffmetadata image_pictor_pipe msnwc_tcp rpl vivo asf filmstrip image_png_pipe mtaf rsd vmd asf_o fits image_ppm_pipe mtv rso vobsub ass flac image_psd_pipe musx rtp voc ast flic image_qdraw_pipe mv rtsp vpk au flv image_sgi_pipe mvi s337m vplayer av1 fourxm image_sunrast_pipe mxf sami vqf avi frm image_svg_pipe mxg sap w64 avr fsb image_tiff_pipe nc sbc wav avs fwse image_webp_pipe nistsphere sbg wc3 avs2 g722 image_xpm_pipe nsp scc webm_dash_manifest bethsoftvid g723_1 image_xwd_pipe nsv sdp webvtt bfi g726 ingenient nut sdr2 wsaud bfstm g726le ipmovie nuv sds wsd bink g729 ircam ogg sdx wsvqa bintext gdv iss oma segafilm wtv bit genh iv8 paf ser wv bmv gif ivf pcm_alaw shorten wve boa gsm ivr pcm_f32be siff xa brstm gxf jacosub pcm_f32le sln xbin c93 h261 jv pcm_f64be smacker xmv caf h263 kux pcm_f64le smjpeg xvag cavsvideo h264 kvag pcm_mulaw smush xwma cdg hca live_flv pcm_s16be sol yop cdxl hcom lmlm4 pcm_s16le sox yuv4mpegpipe cine hevc loas pcm_s24be spdif Enabled muxers: a64 dts ico mpeg2dvd pcm_s8 srt ac3 dv ilbc mpeg2svcd pcm_u16be stream_segment adts eac3 image2 mpeg2video pcm_u16le streamhash adx f4v image2pipe mpeg2vob pcm_u24be sup aiff ffmetadata ipod mpegts pcm_u24le swf amr fifo ircam mpjpeg pcm_u32be tee apng fifo_test ismv mxf pcm_u32le tg2 aptx filmstrip ivf mxf_d10 pcm_u8 tgp aptx_hd fits jacosub mxf_opatom pcm_vidc truehd asf flac kvag null psp tta asf_stream flv latm nut rawvideo uncodedframecrc ass framecrc lrc oga rm vc1 ast framehash m4v ogg roq vc1t au framemd5 matroska ogv rso voc avi g722 matroska_audio oma rtp w64 avm2 g723_1 md5 opus rtp_mpegts wav avs2 g726 microdvd pcm_alaw rtsp webm bit g726le mjpeg pcm_f32be sap webm_chunk caf gif mkvtimestamp_v2 pcm_f32le sbc webm_dash_manifest cavsvideo gsm mlp pcm_f64be scc webp codec2 gxf mmf pcm_f64le segafilm webvtt codec2raw h261 mov pcm_mulaw segment wtv crc h263 mp2 pcm_s16be singlejpeg wv dash h264 mp3 pcm_s16le smjpeg yuv4mpegpipe data hash mp4 pcm_s24be smoothstreaming daud hds mpeg1system pcm_s24le sox dirac hevc mpeg1vcd pcm_s32be spdif dnxhd hls mpeg1video pcm_s32le spx Enabled protocols: async file https prompeg srtp udplite cache ftp icecast rtmp subfile unix concat gopher md5 rtmps tcp crypto hls mmsh rtmpt tee data http mmst rtmpts tls ffrtmphttp httpproxy pipe rtp udp Enabled filters: abench asidedata deflate hqdn3d perspective smartblur abitscope asoftclip deflicker hqx phase smptebars acompressor asplit deinterlace_vaapi hstack photosensitivity smptehdbars acontrast ass dejudder hue pixdesctest sobel acopy astats delogo hwdownload pixscope spectrumsynth acrossfade astreamselect denoise_vaapi hwmap pp split acrossover asubboost derain hwupload pp7 spp acrusher atadenoise deshake hysteresis premultiply sr acue atempo despill idet prewitt ssim addroi atrim detelecine il procamp_vaapi stereo3d adeclick avectorscope dilation inflate pseudocolor stereotools adeclip avgblur displace interlace psnr stereowiden adelay axcorrelate dnn_processing interleave pullup streamselect aderivative bandpass doubleweave join qp subtitles adrawgraph bandreject drawbox kerndeint random super2xsai aecho bass drawgraph lagfun readeia608 superequalizer aemphasis bbox drawgrid lenscorrection readvitc surround aeval bench drawtext life realtime swaprect aevalsrc bilateral drmeter limiter remap swapuv afade biquad dynaudnorm loop removegrain tblend afftdn bitplanenoise earwax loudnorm removelogo telecine afftfilt blackdetect ebur128 lowpass repeatfields testsrc afifo blackframe edgedetect lowshelf replaygain testsrc2 afir blend elbg lumakey reverse thistogram afirsrc bm3d entropy lut rgbashift threshold aformat boxblur eq lut1d rgbtestsrc thumbnail agate bwdif equalizer lut2 roberts tile agraphmonitor cas erosion lut3d rotate tinterlace ahistogram cellauto extractplanes lutrgb sab tlut2 aiir channelmap extrastereo lutyuv scale tmedian aintegral channelsplit fade mandelbrot scale2ref tmix ainterleave chorus fftdnoiz maskedclamp scale_vaapi tonemap alimiter chromahold fftfilt maskedmax scdet tonemap_vaapi allpass chromakey field maskedmerge scroll tpad allrgb chromashift fieldhint maskedmin select transpose allyuv ciescope fieldmatch maskedthreshold selectivecolor transpose_vaapi aloop codecview fieldorder maskfun sendcmd treble alphaextract color fifo mcdeint separatefields tremolo alphamerge colorbalance fillborders mcompand setdar trim amerge colorchannelmixer find_rect median setfield unpremultiply ametadata colorhold firequalizer mergeplanes setparams unsharp amix colorkey flanger mestimate setpts untile amovie colorlevels floodfill metadata setrange uspp amplify colormatrix format midequalizer setsar v360 amultiply colorspace fps minterpolate settb vaguedenoiser anequalizer compand framepack mix sharpness_vaapi vectorscope anlmdn compensationdelay framerate movie showcqt vflip anlms concat framestep mpdecimate showfreqs vfrdet anoisesrc convolution freezedetect mptestsrc showinfo vibrance anull convolve freezeframes negate showpalette vibrato anullsink copy fspp nlmeans showspatial vignette anullsrc cover_rect gblur nnedi showspectrum vmafmotion apad crop geq noformat showspectrumpic volume aperms cropdetect gradfun noise showvolume volumedetect aphasemeter crossfeed gradients normalize showwaves vstack aphaser crystalizer graphmonitor null showwavespic w3fdif apulsator cue greyedge nullsink shuffleframes waveform arealtime curves haas nullsrc shuffleplanes weave aresample datascope haldclut oscilloscope sidechaincompress xbr areverse dblur haldclutsrc overlay sidechaingate xfade arnndn dcshift hdcd owdenoise sidedata xmedian aselect dctdnoiz headphone pad sierpinski xstack asendcmd deband hflip pal100bars signalstats yadif asetnsamples deblock highpass pal75bars signature yaepblur asetpts decimate highshelf palettegen silencedetect yuvtestsrc asetrate deconvolve hilbert paletteuse silenceremove zoompan asettb dedot histeq pan sinc ashowinfo deesser histogram perms sine Enabled bsfs: aac_adtstoasc dump_extradata h264_redundant_pps mjpega_dump_header null trace_headers av1_frame_merge eac3_core hapqa_extract mov2textsub opus_metadata truehd_core av1_frame_split extract_extradata hevc_metadata mp3_header_decompress pcm_rechunk vp9_metadata av1_metadata filter_units hevc_mp4toannexb mpeg2_metadata prores_metadata vp9_raw_reorder chomp h264_metadata imx_dump_header mpeg4_unpack_bframes remove_extradata vp9_superframe dca_core h264_mp4toannexb mjpeg2jpeg noise text2movsub vp9_superframe_split Enabled indevs: alsa kmsgrab oss v4l2 fbdev lavfi sndio xcbgrab Enabled outdevs: alsa oss sndio xv fbdev sdl2 v4l2 License: nonfree and unredistributable config.h is unchanged libavutil/avconfig.h is unchanged libavfilter/filter_list.c is unchanged libavcodec/codec_list.c is unchanged libavcodec/parser_list.c is unchanged libavcodec/bsf_list.c is unchanged libavformat/demuxer_list.c is unchanged libavformat/muxer_list.c is unchanged libavdevice/indev_list.c is unchanged libavdevice/outdev_list.c is unchanged libavformat/protocol_list.c is unchanged ffbuild/config.sh is unchanged ///////////////////////////// END OF OUTPUT ///////////////////////////// The next part was trying to run the make command but here I have encountered the following errors: pi@Dev:~/FFmpeg $ sudo make -j4 CC libavfilter/vf_curves.o CC libavfilter/vf_edgedetect.o CC libavfilter/vf_elbg.o CC libavfilter/vf_entropy.o CC libavfilter/vf_eq.o CC libavfilter/vf_extractplanes.o In file included from ./libavutil/bswap.h:38, from ./libavutil/intreadwrite.h:25, from libavfilter/vf_curves.c:25: libavfilter/vf_curves.c: In function ‘parse_psfile’: ./libavutil/aarch64/bswap.h:31:5: error: invalid 'asm': invalid operand for code 'w' __asm__("rev16 %w0, %w0" : "+r"(x)); ^~~~~~~ ./libavutil/aarch64/bswap.h:31:5: error: invalid 'asm': invalid operand for code 'w' ./libavutil/aarch64/bswap.h:31:5: error: invalid 'asm': invalid operand for code 'w' __asm__("rev16 %w0, %w0" : "+r"(x)); ^~~~~~~ ./libavutil/aarch64/bswap.h:31:5: error: invalid 'asm': invalid operand for code 'w' ./libavutil/aarch64/bswap.h:31:5: error: invalid 'asm': invalid operand for code 'w' __asm__("rev16 %w0, %w0" : "+r"(x)); ^~~~~~~ ./libavutil/aarch64/bswap.h:31:5: error: invalid 'asm': invalid operand for code 'w' ./libavutil/aarch64/bswap.h:31:5: error: invalid 'asm': invalid operand for code 'w' __asm__("rev16 %w0, %w0" : "+r"(x)); ^~~~~~~ ./libavutil/aarch64/bswap.h:31:5: error: invalid 'asm': invalid operand for code 'w' CC libavfilter/vf_fade.o CC libavfilter/vf_fftdnoiz.o CC libavfilter/vf_fftfilt.o make: *** [ffbuild/common.mak:59: libavfilter/vf_curves.o] Error 1 make: *** Waiting for unfinished jobs.... ///////////////////////////// END OF OUTPUT ///////////////////////////// What is it that I miss in the process that prevents the make from running without those errors? Thank you all in advance! Cheers, Ram _______________________________________________ ffmpeg-user mailing list [email protected] https://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email [email protected] with subject "unsubscribe".
