Script to help with cross compiling

Announcements made by users.
hydra3333
Posts: 111
Joined: Sun Apr 28, 2013 1:03 pm
Contact:

Re: Script to help with cross compiling

Post by hydra3333 » Tue Nov 03, 2015 9:49 am

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.
Last edited by hydra3333 on Sat Nov 28, 2015 4:52 am, edited 1 time in total.

hydra3333
Posts: 111
Joined: Sun Apr 28, 2013 1:03 pm
Contact:

Re: Script to help with cross compiling

Post by hydra3333 » Sun Nov 08, 2015 7:14 am

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.

hydra3333
Posts: 111
Joined: Sun Apr 28, 2013 1:03 pm
Contact:

Re: Script to help with cross compiling

Post by hydra3333 » Fri Dec 04, 2015 12:44 pm

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

rogerdpack
Posts: 1872
Joined: Fri Aug 05, 2011 9:56 pm

Re: Script to help with cross compiling

Post by rogerdpack » Tue Dec 08, 2015 2:51 pm

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

hydra3333
Posts: 111
Joined: Sun Apr 28, 2013 1:03 pm
Contact:

Re: Script to help with cross compiling

Post by hydra3333 » Thu Dec 10, 2015 12:05 pm

Thank you.
It built.

hydra3333
Posts: 111
Joined: Sun Apr 28, 2013 1:03 pm
Contact:

Re: Script to help with cross compiling

Post by hydra3333 » Tue Jan 05, 2016 9:41 am

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

qyot27
Posts: 79
Joined: Wed Jan 23, 2013 4:10 pm
Contact:

Re: Script to help with cross compiling

Post by qyot27 » Tue Jan 05, 2016 6:11 pm

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.

hydra3333
Posts: 111
Joined: Sun Apr 28, 2013 1:03 pm
Contact:

Re: Script to help with cross compiling

Post by hydra3333 » Wed Jan 06, 2016 12:13 am

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

hydra3333
Posts: 111
Joined: Sun Apr 28, 2013 1:03 pm
Contact:

Re: Script to help with cross compiling

Post by hydra3333 » Thu Jan 14, 2016 11:41 pm

No luck, unfortunately. I can't seem to find out how to compile fmpeg with lavf.

hydra3333
Posts: 111
Joined: Sun Apr 28, 2013 1:03 pm
Contact:

Re: Script to help with cross compiling

Post by hydra3333 » Sun Jan 31, 2016 12:30 am

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.

Post Reply