Page 3 of 6

Re: Script to help with cross compiling

Posted: Tue Nov 03, 2015 9:49 am
by hydra3333
OK. Thank you Zeranoe.

As an end-user, some may find rogerdpack's script at https://github.com/rdp/ffmpeg-windows-build-helpers to be enlightening. It seems possible it is based in part on zeranoe's toolchain. Ubuntu in a VM (ensure wine is not installed) could be useful. There may be some prior dependencies eg after enabling partner sources universe etc

Code: Select all

sudo apt-get install -y ubuntu-restricted-extras
sudo apt-get install libdvdread4
sudo /usr/share/doc/libdvdread4/install-css.sh
sudo apt-get install -y texinfo pax cvs yasm git flex m4 bison subversion libtool 
sudo apt-get install -y automake autoconf cmake
sudo apt-get install -y curl g++ git make pkg-config zlib1g-dev mercurial unzip


It seems cflags "may" make some things a bit faster if you have a modern cpu, eg in the case of 2 PCs with different chips, --cflags="-march=sandybridge" has less instructions than --cflags="-march=haswell" and may to be "common" to both, so you could use something like this to bake nvidia's nvenc into ffmpeg ... for nvenc to use nvidia's GPU hardware for h.264 encoding

Code: Select all

sudo ./cross_compile_ffmpeg.sh --gcc-cpu-count=2 --build-ffmpeg-shared=n --build-ffmpeg-static=y --disable-nonfree=n --build-libmxf=n --build-mp4box=n --build-mplayer=n --build-vlc=n --git-get-latest=y --prefer-stable=n --high-bitdepth=n --compiler-flavors=win32 --cflags="-march=sandybridge" 
https://wiki.gentoo.org/wiki/GCC_optimization http://gcc.gnu.org/onlinedocs/gcc/x86-Options.html

Given nvenc has no CRF settings, you'd probably need to fiddle with bitrate settings (this example is interlaced, no audio)

Code: Select all

".\ffmpeg.exe" -i "inp.mpg" -an -c:v nvenc -preset hq -b:v 1200k -minrate 500k -maxrate 5000k -flags +ildct+ilme -ildctcmp satd -top 1 -profile:v high -level 4.1 -coder 0  -bf 3 -g 50 -movflags +faststart -y "out.nvenc.mp4"
A sample 8x ncenc speed advantage over x264 had been reported.

Re: Script to help with cross compiling

Posted: Sun Nov 08, 2015 7:14 am
by hydra3333
It seems there's a bit of a problem with ffmpeg's implementation of nvenc, in regard to treatment of interlaced material (it's effectively broken).
Posts around this one http://forum.videohelp.com/threads/3749 ... ost2417878 allude to the issues. Apparently NVEncC's implementation works but ffmpeg's doesn't.
Oh well.

Re: Script to help with cross compiling

Posted: Fri Dec 04, 2015 12:44 pm
by hydra3333
hmm. a build get so this point

Code: Select all

configuring ffmpeg_git_with_aac (/home/u/Desktop/ffmpeg-windows-build-helpers-2015.11.28/sandbox/win32/ffmpeg_git_with_aac) as $ PATH=/home/u/Desktop/ffmpeg-windows-build-helpers-2015.11.28/sandbox/mingw-w64-i686/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin ./configure --arch=x86 --target-os=mingw32 --cross-prefix=/home/u/Desktop/ffmpeg-windows-build-helpers-2015.11.28/sandbox/mingw-w64-i686/bin/i686-w64-mingw32- --pkg-config=pkg-config --disable-w32threads --enable-gpl --enable-libsoxr --enable-fontconfig --enable-libass --enable-libutvideo --enable-libbluray --enable-iconv --enable-libtwolame --extra-cflags=-DLIBTWOLAME_STATIC --enable-libzvbi --enable-libcaca --enable-libmodplug --extra-libs=-lstdc++ --extra-libs=-lpng --enable-libvidstab --enable-libx265 --enable-decklink --extra-libs=-loleaut32 --enable-libx264 --enable-libxvid --enable-libmp3lame --enable-version3 --enable-zlib --enable-librtmp --enable-libvorbis --enable-libtheora --enable-libspeex --enable-libopenjpeg --enable-gnutls --enable-libgsm --enable-libfreetype --enable-libopus --enable-frei0r --enable-filter=frei0r --enable-libvo-aacenc --enable-bzlib --enable-libxavs --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libvo-amrwbenc --enable-libschroedinger --enable-libvpx --enable-libilbc --enable-libwavpack --enable-libwebp --enable-libgme --enable-dxva2 --enable-libdcadec --enable-avisynth --enable-gray --enable-libopenh264 --extra-libs=-lpsapi --extra-cflags=-march=sandybridge --enable-static --disable-shared  --prefix=/home/u/Desktop/ffmpeg-windows-build-helpers-2015.11.28/sandbox/mingw-w64-i686/i686-w64-mingw32 --enable-nonfree --enable-libfdk-aac --disable-libfaac --enable-nvenc  --enable-runtime-cpudetect
then aborts with this

Code: Select all

ERROR: x265 not found using pkg-config

Re: Script to help with cross compiling

Posted: Tue Dec 08, 2015 2:51 pm
by rogerdpack
hydra3333 wrote:hmm. a build get so this point

Code: Select all

configuring ffmpeg_git_with_aac (/home/u/Desktop/ffmpeg-windows-build-helpers-2015.11.28/sandbox/win32/ffmpeg_git_with_aac) as $ PATH=/home/u/Desktop/ffmpeg-windows-build-helpers-2015.11.28/sandbox/mingw-w64-i686/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin ./configure --arch=x86 --target-os=mingw32 --cross-prefix=/home/u/Desktop/ffmpeg-windows-build-helpers-2015.11.28/sandbox/mingw-w64-i686/bin/i686-w64-mingw32- --pkg-config=pkg-config --disable-w32threads --enable-gpl --enable-libsoxr --enable-fontconfig --enable-libass --enable-libutvideo --enable-libbluray --enable-iconv --enable-libtwolame --extra-cflags=-DLIBTWOLAME_STATIC --enable-libzvbi --enable-libcaca --enable-libmodplug --extra-libs=-lstdc++ --extra-libs=-lpng --enable-libvidstab --enable-libx265 --enable-decklink --extra-libs=-loleaut32 --enable-libx264 --enable-libxvid --enable-libmp3lame --enable-version3 --enable-zlib --enable-librtmp --enable-libvorbis --enable-libtheora --enable-libspeex --enable-libopenjpeg --enable-gnutls --enable-libgsm --enable-libfreetype --enable-libopus --enable-frei0r --enable-filter=frei0r --enable-libvo-aacenc --enable-bzlib --enable-libxavs --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libvo-amrwbenc --enable-libschroedinger --enable-libvpx --enable-libilbc --enable-libwavpack --enable-libwebp --enable-libgme --enable-dxva2 --enable-libdcadec --enable-avisynth --enable-gray --enable-libopenh264 --extra-libs=-lpsapi --extra-cflags=-march=sandybridge --enable-static --disable-shared  --prefix=/home/u/Desktop/ffmpeg-windows-build-helpers-2015.11.28/sandbox/mingw-w64-i686/i686-w64-mingw32 --enable-nonfree --enable-libfdk-aac --disable-libfaac --enable-nvenc  --enable-runtime-cpudetect
then aborts with this

Code: Select all

ERROR: x265 not found using pkg-config
Appears it was (?) a portability bug in x265 that they just fixed; https://bitbucket.org/multicoreware/x26 ... pkg-config

Re: Script to help with cross compiling

Posted: Thu Dec 10, 2015 12:05 pm
by hydra3333
Thank you.
It built.

Re: Script to help with cross compiling

Posted: Tue Jan 05, 2016 9:41 am
by hydra3333
I wonder, re building x264.exe in addition to ffmpeg as a part of the process ; the resulting x264.exe does not accept either .mpg or .mp4 as input ... is there any chance of changing the compilation (32bit and 64bit) of x264.exe to do that ?

?? eg I gather that may be:
for input file: lavf support
for output file: GPAC support

Re: Script to help with cross compiling

Posted: Tue Jan 05, 2016 6:11 pm
by qyot27
hydra3333 wrote:I wonder, re building x264.exe in addition to ffmpeg as a part of the process ; the resulting x264.exe does not accept either .mpg or .mp4 as input ... is there any chance of changing the compilation (32bit and 64bit) of x264.exe to do that ?

?? eg I gather that may be:
for input file: lavf support
for output file: GPAC support
The optimal way is to build a minimal version of FFmpeg that has its encoders and muxers (among other things) disabled, build FFMS2 against it, and link x264 against the minimal FFmpeg and FFMS2. Linking against a full FFmpeg brings in way too many libraries that don't do anything and simply inflate the filesize/time to compile.

And L-SMASH is the recommended MP4 output muxer, not GPAC. Especially since GPAC is a royal PITA to compile and L-SMASH is simple as pie to build.

Re: Script to help with cross compiling

Posted: Wed Jan 06, 2016 12:13 am
by hydra3333
Thank you.
I'll see what I can do with rogerdpack script with a few simple mods, just to see if it can get going easily.
I saw a post somewhere external which said a rebuild of x264 after ffmpeg was built would do the trick. Hmm.

However, a rebuild of libx264 within the script with

Code: Select all

  local configure_flags="--host=$host_target --enable-static --cross-prefix=$cross_prefix --prefix=$mingw_w64_x86_64_prefix --enable-strip" #  --disable-lavf 
gave a zillion errors :-

Code: Select all

/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/cross_compilers/mingw-w64-i686/bin/i686-w64-mingw32-gcc -o x264.exe   x264res.o x264.o input/input.o input/timecode.o input/raw.o input/y4m.o output/raw.o output/matroska.o output/matroska_ebml.o output/flv.o output/flv_bytestream.o filters/filters.o filters/video/video.o filters/video/source.o filters/video/internal.o filters/video/resize.o filters/video/cache.o filters/video/fix_vfr_pts.o filters/video/select_every.o filters/video/crop.o filters/video/depth.o input/avs.o input/thread.o input/lavf.o libx264.a -L. -lavformat -lpostproc -lavcodec -lswscale -lavutil -lm -lz -lbz2 -lpthread -lavifil32 -lws2_32 -lswscale -lavutil  -lshell32 -m32   -Wl,--large-address-aware -Wl,--dynamicbase,--nxcompat,--tsaware -lpthread -s 
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/cross_compilers/mingw-w64-i686/lib/gcc/i686-w64-mingw32/5.3.0/../../../../i686-w64-mingw32/lib/../lib/libavformat.a(bluray.o): In function `bluray_close':
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/win32/ffmpeg_git_with_fdk_aac/libavformat/bluray.c:108: undefined reference to `bd_close'
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/cross_compilers/mingw-w64-i686/lib/gcc/i686-w64-mingw32/5.3.0/../../../../i686-w64-mingw32/lib/../lib/libavformat.a(bluray.o): In function `bluray_open':
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/win32/ffmpeg_git_with_fdk_aac/libavformat/bluray.c:122: undefined reference to `bd_open'
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/cross_compilers/mingw-w64-i686/lib/gcc/i686-w64-mingw32/5.3.0/../../../../i686-w64-mingw32/lib/../lib/libavformat.a(bluray.o): In function `check_disc_info':
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/win32/ffmpeg_git_with_fdk_aac/libavformat/bluray.c:66: undefined reference to `bd_get_disc_info'
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/cross_compilers/mingw-w64-i686/lib/gcc/i686-w64-mingw32/5.3.0/../../../../i686-w64-mingw32/lib/../lib/libavformat.a(bluray.o): In function `bluray_open':
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/win32/ffmpeg_git_with_fdk_aac/libavformat/bluray.c:142: undefined reference to `bd_get_titles'
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/win32/ffmpeg_git_with_fdk_aac/libavformat/bluray.c:172: undefined reference to `bd_select_playlist'
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/win32/ffmpeg_git_with_fdk_aac/libavformat/bluray.c:179: undefined reference to `bd_select_angle'
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/win32/ffmpeg_git_with_fdk_aac/libavformat/bluray.c:184: undefined reference to `bd_seek_chapter'
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/win32/ffmpeg_git_with_fdk_aac/libavformat/bluray.c:153: undefined reference to `bd_get_title_info'
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/win32/ffmpeg_git_with_fdk_aac/libavformat/bluray.c:166: undefined reference to `bd_free_title_info'
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/cross_compilers/mingw-w64-i686/lib/gcc/i686-w64-mingw32/5.3.0/../../../../i686-w64-mingw32/lib/../lib/libavformat.a(bluray.o): In function `bluray_read':
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/win32/ffmpeg_git_with_fdk_aac/libavformat/bluray.c:199: undefined reference to `bd_read'
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/cross_compilers/mingw-w64-i686/lib/gcc/i686-w64-mingw32/5.3.0/../../../../i686-w64-mingw32/lib/../lib/libavformat.a(bluray.o): In function `bluray_seek':
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/win32/ffmpeg_git_with_fdk_aac/libavformat/bluray.c:219: undefined reference to `bd_get_title_size'
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/win32/ffmpeg_git_with_fdk_aac/libavformat/bluray.c:216: undefined reference to `bd_seek'
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/cross_compilers/mingw-w64-i686/lib/gcc/i686-w64-mingw32/5.3.0/../../../../i686-w64-mingw32/lib/../lib/libavformat.a(libgme.o): In function `read_seek_gme':
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/win32/ffmpeg_git_with_fdk_aac/libavformat/libgme.c:167: undefined reference to `gme_seek'
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/cross_compilers/mingw-w64-i686/lib/gcc/i686-w64-mingw32/5.3.0/../../../../i686-w64-mingw32/lib/../lib/libavformat.a(libgme.o): In function `read_close_gme':
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/win32/ffmpeg_git_with_fdk_aac/libavformat/libgme.c:159: undefined reference to `gme_free_info'
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/win32/ffmpeg_git_with_fdk_aac/libavformat/libgme.c:160: undefined reference to `gme_delete'
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/cross_compilers/mingw-w64-i686/lib/gcc/i686-w64-mingw32/5.3.0/../../../../i686-w64-mingw32/lib/../lib/libavformat.a(libgme.o): In function `read_packet_gme':
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/win32/ffmpeg_git_with_fdk_aac/libavformat/libgme.c:143: undefined reference to `gme_track_ended'
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/win32/ffmpeg_git_with_fdk_aac/libavformat/libgme.c:149: undefined reference to `gme_play'
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/cross_compilers/mingw-w64-i686/lib/gcc/i686-w64-mingw32/5.3.0/../../../../i686-w64-mingw32/lib/../lib/libavformat.a(libgme.o): In function `probe_gme':
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/win32/ffmpeg_git_with_fdk_aac/libavformat/libgme.c:175: undefined reference to `gme_identify_header'
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/cross_compilers/mingw-w64-i686/lib/gcc/i686-w64-mingw32/5.3.0/../../../../i686-w64-mingw32/lib/../lib/libavformat.a(libgme.o): In function `read_header_gme':
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/win32/ffmpeg_git_with_fdk_aac/libavformat/libgme.c:109: undefined reference to `gme_open_data'
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/win32/ffmpeg_git_with_fdk_aac/libavformat/libgme.c:115: undefined reference to `gme_track_info'
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/win32/ffmpeg_git_with_fdk_aac/libavformat/libgme.c:118: undefined reference to `gme_start_track'
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/cross_compilers/mingw-w64-i686/lib/gcc/i686-w64-mingw32/5.3.0/../../../../i686-w64-mingw32/lib/../lib/libavformat.a(libgme.o): In function `load_metadata':
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/win32/ffmpeg_git_with_fdk_aac/libavformat/libgme.c:72: undefined reference to `gme_track_count'
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/cross_compilers/mingw-w64-i686/lib/gcc/i686-w64-mingw32/5.3.0/../../../../i686-w64-mingw32/lib/../lib/libavformat.a(libmodplug.o): In function `modplug_read_seek':

... <lots snipped>

/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/cross_compilers/mingw-w64-i686/lib/gcc/i686-w64-mingw32/5.3.0/../../../../i686-w64-mingw32/lib/../lib/libavcodec.a(libx265.o): In function `libx265_encode_init':
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/win32/ffmpeg_git_with_fdk_aac/libavcodec/libx265.c:81: undefined reference to `x265_api_get_79'
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/win32/ffmpeg_git_with_fdk_aac/libavcodec/libx265.c:83: undefined reference to `x265_api_get_79'
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/cross_compilers/mingw-w64-i686/lib/gcc/i686-w64-mingw32/5.3.0/../../../../i686-w64-mingw32/lib/../lib/libavcodec.a(libx265.o): In function `libx265_encode_init_csp':
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/win32/ffmpeg_git_with_fdk_aac/libavcodec/libx265.c:341: undefined reference to `x265_api_get_79'
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/win32/ffmpeg_git_with_fdk_aac/libavcodec/libx265.c:343: undefined reference to `x265_api_get_79'
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/cross_compilers/mingw-w64-i686/lib/gcc/i686-w64-mingw32/5.3.0/../../../../i686-w64-mingw32/lib/../lib/libavcodec.a(libxavs.o): In function `XAVS_frame':
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/win32/ffmpeg_git_with_fdk_aac/libavcodec/libxavs.c:137: undefined reference to `xavs_encoder_encode'
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/cross_compilers/mingw-w64-i686/lib/gcc/i686-w64-mingw32/5.3.0/../../../../i686-w64-mingw32/lib/../lib/libavcodec.a(libxavs.o): In function `encode_nals':
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/win32/ffmpeg_git_with_fdk_aac/libavcodec/libxavs.c:104: undefined reference to `xavs_nal_encode'
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/cross_compilers/mingw-w64-i686/lib/gcc/i686-w64-mingw32/5.3.0/../../../../i686-w64-mingw32/lib/../lib/libavcodec.a(libxavs.o): In function `XAVS_close':
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/win32/ffmpeg_git_with_fdk_aac/libavcodec/libxavs.c:231: undefined reference to `xavs_encoder_close'
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/cross_compilers/mingw-w64-i686/lib/gcc/i686-w64-mingw32/5.3.0/../../../../i686-w64-mingw32/lib/../lib/libavcodec.a(libxavs.o): In function `XAVS_init':
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/win32/ffmpeg_git_with_fdk_aac/libavcodec/libxavs.c:241: undefined reference to `xavs_param_default'
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/win32/ffmpeg_git_with_fdk_aac/libavcodec/libxavs.c:382: undefined reference to `xavs_encoder_open'
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/cross_compilers/mingw-w64-i686/lib/gcc/i686-w64-mingw32/5.3.0/../../../../i686-w64-mingw32/lib/../lib/libavcodec.a(libxvid.o): In function `xvid_encode_frame':
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/win32/ffmpeg_git_with_fdk_aac/libavcodec/libxvid.c:784: undefined reference to `xvid_encore'
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/cross_compilers/mingw-w64-i686/lib/gcc/i686-w64-mingw32/5.3.0/../../../../i686-w64-mingw32/lib/../lib/libavcodec.a(libxvid.o): In function `xvid_encode_close':
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/win32/ffmpeg_git_with_fdk_aac/libavcodec/libxvid.c:859: undefined reference to `xvid_encore'
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/cross_compilers/mingw-w64-i686/lib/gcc/i686-w64-mingw32/5.3.0/../../../../i686-w64-mingw32/lib/../lib/libavcodec.a(libxvid.o): In function `xvid_encode_init':
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/win32/ffmpeg_git_with_fdk_aac/libavcodec/libxvid.c:483: undefined reference to `xvid_global'
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/win32/ffmpeg_git_with_fdk_aac/libavcodec/libxvid.c:567: undefined reference to `xvid_plugin_2pass2'
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/win32/ffmpeg_git_with_fdk_aac/libavcodec/libxvid.c:575: undefined reference to `xvid_plugin_single'
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/win32/ffmpeg_git_with_fdk_aac/libavcodec/libxvid.c:586: undefined reference to `xvid_plugin_lumimasking'
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/win32/ffmpeg_git_with_fdk_aac/libavcodec/libxvid.c:598: undefined reference to `xvid_plugin_lumimasking'
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/win32/ffmpeg_git_with_fdk_aac/libavcodec/libxvid.c:610: undefined reference to `xvid_plugin_ssim'
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/win32/ffmpeg_git_with_fdk_aac/libavcodec/libxvid.c:702: undefined reference to `xvid_encore'
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/cross_compilers/mingw-w64-i686/lib/gcc/i686-w64-mingw32/5.3.0/../../../../i686-w64-mingw32/lib/../lib/libavcodec.a(libzvbi-teletextdec.o): In function `slice_to_vbi_lines':
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/win32/ffmpeg_git_with_fdk_aac/libavcodec/libzvbi-teletextdec.c:386: undefined reference to `_vbi_bit_reverse'
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/cross_compilers/mingw-w64-i686/lib/gcc/i686-w64-mingw32/5.3.0/../../../../i686-w64-mingw32/lib/../lib/libavcodec.a(libzvbi-teletextdec.o): In function `teletext_decode_frame':
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/win32/ffmpeg_git_with_fdk_aac/libavcodec/libzvbi-teletextdec.c:406: undefined reference to `vbi_decoder_new'
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/win32/ffmpeg_git_with_fdk_aac/libavcodec/libzvbi-teletextdec.c:408: undefined reference to `vbi_event_handler_add'
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/win32/ffmpeg_git_with_fdk_aac/libavcodec/libzvbi-teletextdec.c:409: undefined reference to `vbi_decoder_delete'
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/win32/ffmpeg_git_with_fdk_aac/libavcodec/libzvbi-teletextdec.c:441: undefined reference to `vbi_decode'
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/cross_compilers/mingw-w64-i686/lib/gcc/i686-w64-mingw32/5.3.0/../../../../i686-w64-mingw32/lib/../lib/libavcodec.a(libzvbi-teletextdec.o): In function `teletext_init_decoder':
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/win32/ffmpeg_git_with_fdk_aac/libavcodec/libzvbi-teletextdec.c:501: undefined reference to `vbi_version'
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/cross_compilers/mingw-w64-i686/lib/gcc/i686-w64-mingw32/5.3.0/../../../../i686-w64-mingw32/lib/../lib/libavcodec.a(libzvbi-teletextdec.o): In function `handler':
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/win32/ffmpeg_git_with_fdk_aac/libavcodec/libzvbi-teletextdec.c:305: undefined reference to `vbi_fetch_vt_page'
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/win32/ffmpeg_git_with_fdk_aac/libavcodec/libzvbi-teletextdec.c:322: undefined reference to `vbi_classify_page'
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/cross_compilers/mingw-w64-i686/lib/gcc/i686-w64-mingw32/5.3.0/../../../../i686-w64-mingw32/lib/../lib/libavcodec.a(libzvbi-teletextdec.o): In function `gen_sub_bitmap':
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/win32/ffmpeg_git_with_fdk_aac/libavcodec/libzvbi-teletextdec.c:253: undefined reference to `vbi_draw_vt_page_region'
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/cross_compilers/mingw-w64-i686/lib/gcc/i686-w64-mingw32/5.3.0/../../../../i686-w64-mingw32/lib/../lib/libavcodec.a(libzvbi-teletextdec.o): In function `handler':
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/win32/ffmpeg_git_with_fdk_aac/libavcodec/libzvbi-teletextdec.c:359: undefined reference to `vbi_unref_page'
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/cross_compilers/mingw-w64-i686/lib/gcc/i686-w64-mingw32/5.3.0/../../../../i686-w64-mingw32/lib/../lib/libavcodec.a(libzvbi-teletextdec.o): In function `gen_sub_text':
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/win32/ffmpeg_git_with_fdk_aac/libavcodec/libzvbi-teletextdec.c:139: undefined reference to `vbi_print_page_region'
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/cross_compilers/mingw-w64-i686/lib/gcc/i686-w64-mingw32/5.3.0/../../../../i686-w64-mingw32/lib/../lib/libavcodec.a(libzvbi-teletextdec.o): In function `teletext_close_decoder':
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/win32/ffmpeg_git_with_fdk_aac/libavcodec/libzvbi-teletextdec.c:534: undefined reference to `vbi_decoder_delete'
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/win32/ffmpeg_git_with_fdk_aac/libavcodec/libzvbi-teletextdec.c:534: undefined reference to `vbi_decoder_delete'
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/cross_compilers/mingw-w64-i686/lib/gcc/i686-w64-mingw32/5.3.0/../../../../i686-w64-mingw32/lib/../lib/libavcodec.a(opusdec.o): In function `opus_decode_subpacket':
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/win32/ffmpeg_git_with_fdk_aac/libavcodec/opusdec.c:379: undefined reference to `swr_is_initialized'
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/cross_compilers/mingw-w64-i686/lib/gcc/i686-w64-mingw32/5.3.0/../../../../i686-w64-mingw32/lib/../lib/libavcodec.a(opusdec.o): In function `opus_decode_frame':
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/win32/ffmpeg_git_with_fdk_aac/libavcodec/opusdec.c:220: undefined reference to `swr_is_initialized'
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/cross_compilers/mingw-w64-i686/lib/gcc/i686-w64-mingw32/5.3.0/../../../../i686-w64-mingw32/lib/../lib/libavcodec.a(opusdec.o): In function `opus_init_resample':
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/win32/ffmpeg_git_with_fdk_aac/libavcodec/opusdec.c:161: undefined reference to `swr_init'
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/win32/ffmpeg_git_with_fdk_aac/libavcodec/opusdec.c:167: undefined reference to `swr_convert'
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/cross_compilers/mingw-w64-i686/lib/gcc/i686-w64-mingw32/5.3.0/../../../../i686-w64-mingw32/lib/../lib/libavcodec.a(opusdec.o): In function `opus_decode_frame':
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/win32/ffmpeg_git_with_fdk_aac/libavcodec/opusdec.c:234: undefined reference to `swr_convert'
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/cross_compilers/mingw-w64-i686/lib/gcc/i686-w64-mingw32/5.3.0/../../../../i686-w64-mingw32/lib/../lib/libavcodec.a(opusdec.o): In function `opus_flush_resample':
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/win32/ffmpeg_git_with_fdk_aac/libavcodec/opusdec.c:115: undefined reference to `swr_convert'
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/cross_compilers/mingw-w64-i686/lib/gcc/i686-w64-mingw32/5.3.0/../../../../i686-w64-mingw32/lib/../lib/libavcodec.a(opusdec.o): In function `opus_decode_subpacket':
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/win32/ffmpeg_git_with_fdk_aac/libavcodec/opusdec.c:411: undefined reference to `swr_close'
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/cross_compilers/mingw-w64-i686/lib/gcc/i686-w64-mingw32/5.3.0/../../../../i686-w64-mingw32/lib/../lib/libavcodec.a(opusdec.o): In function `opus_decode_flush':
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/win32/ffmpeg_git_with_fdk_aac/libavcodec/opusdec.c:614: undefined reference to `swr_close'
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/cross_compilers/mingw-w64-i686/lib/gcc/i686-w64-mingw32/5.3.0/../../../../i686-w64-mingw32/lib/../lib/libavcodec.a(opusdec.o): In function `opus_decode_close':
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/win32/ffmpeg_git_with_fdk_aac/libavcodec/opusdec.c:638: undefined reference to `swr_free'
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/cross_compilers/mingw-w64-i686/lib/gcc/i686-w64-mingw32/5.3.0/../../../../i686-w64-mingw32/lib/../lib/libavcodec.a(opusdec.o): In function `opus_decode_init':
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/win32/ffmpeg_git_with_fdk_aac/libavcodec/opusdec.c:708: undefined reference to `swr_alloc'
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/cross_compilers/mingw-w64-i686/lib/gcc/i686-w64-mingw32/5.3.0/../../../../i686-w64-mingw32/lib/../lib/libavcodec.a(utils.o): In function `recode_subtitle':
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/win32/ffmpeg_git_with_fdk_aac/libavcodec/utils.c:2333: undefined reference to `libiconv_open'
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/win32/ffmpeg_git_with_fdk_aac/libavcodec/utils.c:2368: undefined reference to `libiconv_close'
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/win32/ffmpeg_git_with_fdk_aac/libavcodec/utils.c:2354: undefined reference to `libiconv'
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/win32/ffmpeg_git_with_fdk_aac/libavcodec/utils.c:2355: undefined reference to `libiconv'
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/win32/ffmpeg_git_with_fdk_aac/libavcodec/utils.c:2368: undefined reference to `libiconv_close'
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/win32/ffmpeg_git_with_fdk_aac/libavcodec/utils.c:2368: undefined reference to `libiconv_close'
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/win32/ffmpeg_git_with_fdk_aac/libavcodec/utils.c:2368: undefined reference to `libiconv_close'
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/cross_compilers/mingw-w64-i686/lib/gcc/i686-w64-mingw32/5.3.0/../../../../i686-w64-mingw32/lib/../lib/libavcodec.a(utils.o): In function `avcodec_open2':
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/win32/ffmpeg_git_with_fdk_aac/libavcodec/utils.c:1538: undefined reference to `libiconv_open'
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/win32/ffmpeg_git_with_fdk_aac/libavcodec/utils.c:1545: undefined reference to `libiconv_close'
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/cross_compilers/mingw-w64-i686/lib/gcc/i686-w64-mingw32/5.3.0/../../../../i686-w64-mingw32/lib/../lib/libavcodec.a(libschroedinger.o): In function `ff_create_schro_frame':
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/win32/ffmpeg_git_with_fdk_aac/libavcodec/libschroedinger.c:198: undefined reference to `schro_frame_new'
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/win32/ffmpeg_git_with_fdk_aac/libavcodec/libschroedinger.c:202: undefined reference to `schro_frame_set_free_callback'
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/cross_compilers/mingw-w64-i686/lib/gcc/i686-w64-mingw32/5.3.0/../../../../i686-w64-mingw32/lib/../lib/libavcodec.a(libvpx.o): In function `ff_vp9_init_static':
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/win32/ffmpeg_git_with_fdk_aac/libavcodec/libvpx.c:63: undefined reference to `vpx_codec_version'
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/win32/ffmpeg_git_with_fdk_aac/libavcodec/libvpx.c:64: undefined reference to `vpx_codec_version'
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/win32/ffmpeg_git_with_fdk_aac/libavcodec/libvpx.c:64: undefined reference to `vpx_codec_version'
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/win32/ffmpeg_git_with_fdk_aac/libavcodec/libvpx.c:68: undefined reference to `vpx_codec_version'
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/win32/ffmpeg_git_with_fdk_aac/libavcodec/libvpx.c:71: undefined reference to `vpx_codec_vp9_cx'
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/win32/ffmpeg_git_with_fdk_aac/libavcodec/libvpx.c:71: undefined reference to `vpx_codec_get_caps'
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/win32/ffmpeg_git_with_fdk_aac/libavcodec/libvpx.c:69: undefined reference to `vpx_codec_version'
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/win32/ffmpeg_git_with_fdk_aac/libavcodec/libvpx.c:69: undefined reference to `vpx_codec_version'
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/cross_compilers/mingw-w64-i686/lib/gcc/i686-w64-mingw32/5.3.0/../../../../i686-w64-mingw32/lib/../lib/libavcodec.a(libxvid_rc.o): In function `ff_xvid_rate_estimate_qscale':
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/win32/ffmpeg_git_with_fdk_aac/libavcodec/libxvid_rc.c:138: undefined reference to `xvid_plugin_2pass2'
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/win32/ffmpeg_git_with_fdk_aac/libavcodec/libxvid_rc.c:128: undefined reference to `xvid_plugin_2pass2'
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/cross_compilers/mingw-w64-i686/lib/gcc/i686-w64-mingw32/5.3.0/../../../../i686-w64-mingw32/lib/../lib/libavcodec.a(libxvid_rc.o): In function `ff_xvid_rate_control_init':
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/win32/ffmpeg_git_with_fdk_aac/libavcodec/libxvid_rc.c:93: undefined reference to `xvid_plugin_2pass2'
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/cross_compilers/mingw-w64-i686/lib/gcc/i686-w64-mingw32/5.3.0/../../../../i686-w64-mingw32/lib/../lib/libavcodec.a(libxvid_rc.o): In function `ff_xvid_rate_control_uninit':
/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/win32/ffmpeg_git_with_fdk_aac/libavcodec/libxvid_rc.c:162: undefined reference to `xvid_plugin_2pass2'
collect2: error: ld returned 1 exit status
Makefile:200: recipe for target 'x264.exe' failed
make: *** [x264.exe] Error 1

Re: Script to help with cross compiling

Posted: Thu Jan 14, 2016 11:41 pm
by hydra3333
No luck, unfortunately. I can't seem to find out how to compile fmpeg with lavf.

Re: Script to help with cross compiling

Posted: Sun Jan 31, 2016 12:30 am
by hydra3333

Code: Select all

sudo ./cross_compile_ffmpeg.sh --gcc-cpu-count=2 --sandbox-ok=y --build-ffmpeg-shared=n --build-ffmpeg-static=y --disable-nonfree=n --build-libmxf=n --build-mp4box=y --build-mplayer=n --build-vlc=y --build-dvbtee=y --git-get-latest=y --prefer-stable=n --high-bitdepth=n --compiler-flavors=multi --cflags=-march=sandybridge
Receiving loads of errors when it attempts to build VPx -
making /home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/win32/libvpx_git as $ PATH=/home/u/Desktop/ffmpeg-windows-build-helpers-master/sandbox/cross_compilers/mingw-w64-i686/bin:$PATH make -j 2

[CC] vp8/vp8_cx_iface.c.o
[CC] vp8/encoder/bitstream.c.o
In file included from ./vpx_util/vpx_thread.h:151:0,
from ./vp8/common/threading.h:184,
from vp8/encoder/onyx_int.h:25,
from vp8/encoder/encodemv.h:15,
from vp8/encoder/bitstream.c:13:
./vp8/common/threading.h:30:19: error: two or more data types in declaration specifiers
I'll try --prefer-stable=n and see what happens.