Skip to content

Commit

Permalink
Upgrade FFmpeg to version 3.3.3
Browse files Browse the repository at this point in the history
Build customized to be LGPL compliant. Code modified to account for the upgrade. GPL CMake options have been removed.
  • Loading branch information
martensm committed Aug 19, 2017
1 parent fbcb1d7 commit ec92941
Show file tree
Hide file tree
Showing 235 changed files with 117,443 additions and 51,237 deletions.
10 changes: 3 additions & 7 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@ sudo: required

matrix:
include:
- env: CXX_COMPILER=clang++-3.6 CC_COMPILER=clang-3.6 BUILD_TYPE=Release WITH_FFMPEG=OFF
- env: CXX_COMPILER=clang++-3.6 CC_COMPILER=clang-3.6 BUILD_TYPE=Release WITH_FFMPEG=ON
WITH_FFMPEG_JOBS=1
compiler: clang
addons: &1
addons:
apt:
sources:
- ubuntu-toolchain-r-test
Expand All @@ -28,11 +28,7 @@ matrix:
- libxtst-dev
- libxrandr-dev
- libglew-dev
- env: CXX_COMPILER=clang++-3.6 CC_COMPILER=clang-3.6 BUILD_TYPE=Release WITH_FFMPEG=ON
WITH_FFMPEG_JOBS=1
compiler: clang
addons: *1
- env: CXX_COMPILER=g++-5 CC_COMPILER=gcc-5 BUILD_TYPE=Release WITH_FFMPEG=OFF WITH_FFMPEG_JOBS=1
- env: CXX_COMPILER=g++-5 CC_COMPILER=gcc-5 BUILD_TYPE=Release WITH_FFMPEG=ON WITH_FFMPEG_JOBS=1
compiler: gcc
addons:
apt:
Expand Down
3 changes: 0 additions & 3 deletions CMake/DefineOptions.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,6 @@ option(WITH_PORTABLE_TOMCRYPT "Build with assembly/free tomcrypt, making it port
# If WITH_PORTABLE_TOMCRYPT is ON, this will automatically have no effect.
option(WITH_NO_ROLC_TOMCRYPT "Build without the ROLC assembly instructions for tomcrypt. (Ignored by Apple builds)" OFF)

# Turn this option off to not use the GPL exclusive components.
option(WITH_GPL_LIBS "Build with GPL libraries." ON)

# Turn this option off to disable using WAV files with the game.
# Note that it is recommended to keep this on.
option(WITH_WAV "Build with WAV Support." ON)
Expand Down
17 changes: 5 additions & 12 deletions CMake/SetupFfmpeg.cmake
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
set(SM_FFMPEG_VERSION "2.1.3")
set(SM_FFMPEG_VERSION "3.3.3")
set(SM_FFMPEG_SRC_LIST "${SM_EXTERN_DIR}" "/ffmpeg-linux-" "${SM_FFMPEG_VERSION}")
sm_join("${SM_FFMPEG_SRC_LIST}" "" SM_FFMPEG_SRC_DIR)
set(SM_FFMPEG_CONFIGURE_EXE "${SM_FFMPEG_SRC_DIR}/configure")
Expand All @@ -12,14 +12,13 @@ if (MINGW)
endif()
list(APPEND FFMPEG_CONFIGURE
"${SM_FFMPEG_CONFIGURE_EXE}"
"--disable-muxers"
"--disable-encoders"
"--disable-programs"
"--disable-doc"
"--disable-avdevice"
"--disable-swresample"
"--disable-postproc"
"--disable-avfilter"
"--disable-shared"
"--enable-static"
"--disable-lzma"
)

if(CMAKE_POSITION_INDEPENDENT_CODE)
Expand All @@ -34,12 +33,6 @@ if(MACOSX)
)
endif()

if(WITH_GPL_LIBS)
list(APPEND FFMPEG_CONFIGURE
"--enable-gpl"
)
endif()

if (WITH_CRYSTALHD_DISABLED)
list(APPEND FFMPEG_CONFIGURE "--disable-crystalhd")
endif()
Expand Down Expand Up @@ -69,7 +62,7 @@ if (IS_DIRECTORY "${SM_FFMPEG_SRC_DIR}")
else()
# --shlibdir=$our_installdir/stepmania-$VERSION
externalproject_add("ffmpeg"
DOWNLOAD_COMMAND git clone "--branch" "n${SM_FFMPEG_VERSION}" "--depth" "1" "git://github.com/stepmania/ffmpeg.git" "${SM_FFMPEG_SRC_DIR}"
DOWNLOAD_COMMAND git clone "--depth" "1" "git://github.com/etternagame/FFmpeg.git" "${SM_FFMPEG_SRC_DIR}"
CONFIGURE_COMMAND "${FFMPEG_CONFIGURE}"
BUILD_COMMAND "${SM_FFMPEG_MAKE}"
UPDATE_COMMAND ""
Expand Down
Binary file removed Program/avcodec-55.dll
Binary file not shown.
Binary file added Program/avcodec-57.dll
Binary file not shown.
Binary file removed Program/avformat-55.dll
Binary file not shown.
Binary file added Program/avformat-57.dll
Binary file not shown.
Binary file removed Program/avutil-52.dll
Binary file not shown.
Binary file added Program/avutil-55.dll
Binary file not shown.
Binary file added Program/swresample-2.dll
Binary file not shown.
Binary file removed Program/swscale-2.dll
Binary file not shown.
Binary file added Program/swscale-4.dll
Binary file not shown.
5 changes: 0 additions & 5 deletions StepmaniaCore.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -184,11 +184,6 @@ endif()
# Dependencies go here.
include(ExternalProject)

if(NOT WITH_GPL_LIBS)
message("Disabling GPL exclusive libraries: no MP3 support.")
set(WITH_MP3 OFF)
endif()

if(WITH_WAV)
# TODO: Identify which headers to check for ensuring this will always work.
set(HAS_WAV TRUE)
Expand Down
99 changes: 8 additions & 91 deletions extern/ffmpeg/README.txt
Original file line number Diff line number Diff line change
@@ -1,100 +1,17 @@
This is a FFmpeg Win32 shared build by Kyle Schwarz.
This is a FFmpeg win32 shared build made for Stepmania.

Zeranoe's FFmpeg Builds Home Page: <http://ffmpeg.zeranoe.com/builds/>

This build was compiled on: , at: 18:58:33

FFmpeg version: 2.1.3
libavutil 52. 48.101 / 52. 48.101
libavcodec 55. 39.101 / 55. 39.101
libavformat 55. 19.104 / 55. 19.104
libavdevice 55. 5.100 / 55. 5.100
libavfilter 3. 90.100 / 3. 90.100
libswscale 2. 5.101 / 2. 5.101
libswresample 0. 17.104 / 0. 17.104
libpostproc 52. 3.100 / 52. 3.100
FFmpeg version: 3.3.3

This FFmpeg build was configured with:
--disable-static
--enable-shared
--enable-gpl
--enable-version3
--disable-w32threads
--enable-avisynth
--enable-bzlib
--enable-fontconfig
--enable-frei0r
--enable-gnutls
--enable-iconv
--enable-libass
--enable-libbluray
--enable-libcaca
--enable-libfreetype
--enable-libgsm
--enable-libilbc
--enable-libmodplug
--enable-libmp3lame
--enable-libopencore-amrnb
--enable-libopencore-amrwb
--enable-libopenjpeg
--enable-libopus
--enable-librtmp
--enable-libschroedinger
--enable-libsoxr
--enable-libspeex
--enable-libtheora
--enable-libtwolame
--enable-libvidstab
--enable-libvo-aacenc
--enable-libvo-amrwbenc
--enable-libvorbis
--enable-libvpx
--enable-libwavpack
--enable-libx264
--enable-libxavs
--enable-libxvid
--enable-zlib

This build was compiled with the following external libraries:
bzip2 1.0.6 <http://bzip.org/>
Fontconfig 2.10.95 <http://freedesktop.org/wiki/Software/fontconfig>
Frei0r 20130909-git-10d8360 <http://frei0r.dyne.org/>
GnuTLS 3.2.8.1 <http://gnutls.org/>
libiconv 1.14 <http://gnu.org/software/libiconv/>
libass 0.10.2 <http://code.google.com/p/libass/>
libbluray 0.5.0 <http://videolan.org/developers/libbluray.html>
libcaca 0.99.beta18 <http://caca.zoy.org/wiki/libcaca>
FreeType 2.5.2 <http://freetype.sourceforge.net/>
GSM 1.0.13-4 <http://packages.debian.org/source/squeeze/libgsm>
iLBC 20120913-git-b5f9b10 <https://github.com/dekkers/libilbc/>
Modplug-XMMS 0.8.8.4 <http://modplug-xmms.sourceforge.net/>
LAME 3.99.5 <http://lame.sourceforge.net/>
OpenCORE AMR 0.1.3 <http://sourceforge.net/projects/opencore-amr/>
OpenJPEG 1.5.1 <http://www.openjpeg.org/>
Opus 1.1 <http://opus-codec.org/>
RTMPDump 20131007-git-a9f353c <http://rtmpdump.mplayerhq.hu/>
Schroedinger 1.0.11 <http://diracvideo.org/>
libsoxr 0.1.1 <http://sourceforge.net/projects/soxr/>
Speex 1.2rc1 <http://speex.org/>
Theora 1.1.1 <http://theora.org/>
TwoLAME 0.3.13 <http://twolame.org/>
vid.stab 20130830-git-869f3bb <http://public.hronopik.de/vid.stab/>
VisualOn AAC 0.1.3 <https://github.com/mstorsjo/vo-aacenc>
VisualOn AMR-WB 0.1.2 <https://github.com/mstorsjo/vo-amrwbenc>
Vorbis 1.3.3 <http://vorbis.com/>
vpx 1.3.0 <http://webmproject.org/>
WavPack 4.70.0 <http://wavpack.com/>
x264 20131030-git-1ca7bb9 <http://videolan.org/developers/x264.html>
XAVS svn-r55 <http://xavs.sourceforge.net/>
Xvid 1.3.2 <http://xvid.org/>
zlib 1.2.8 <http://zlib.net/>

The source code for this FFmpeg build can be found at: <http://ffmpeg.zeranoe.com/builds/source/>
--disable-encoders
--disable-muxers

This build was compiled on Debian jessie/sid (64-bit): <http://www.debian.org/>
The source code for this FFmpeg build can be found at: <https://www.ffmpeg.org/download.html>

GCC 4.8.2 was used to compile this FFmpeg build: <http://gcc.gnu.org/>
This build was compiled on Debian 9.1 "Stretch": <https://www.debian.org/>

This build was compiled using the MinGW-w64 toolchain: <http://mingw-w64.sourceforge.net/>
GCC 7.1.0 was used to compile this FFmpeg build: <http://gcc.gnu.org/>

Licenses for each library can be found in the 'licenses' folder.
This build was compiled using the MinGW-w64 toolchain: <http://mingw-w64.sourceforge.net/>
Loading

0 comments on commit ec92941

Please sign in to comment.