Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ffmpeg] Add support for dav1d,fontconfig,freetype,fribidi,ilbc,modplug,opengl,openjpeg,libssh,tensorflow,tesseract,webp,libxml2 dependencies. #15787

Merged
merged 86 commits into from
Apr 7, 2021
Merged
Show file tree
Hide file tree
Changes from 61 commits
Commits
Show all changes
86 commits
Select commit Hold shift + click to select a range
32de405
[tesseract] Use vcpkg_fixup_pkgconfig.
Sibras Jan 20, 2021
eba8ae5
[libxml2] Correct pkgconfig lib name.
Sibras Jan 20, 2021
38c00ad
[libwebp] Use vcpkg_fixup_pkgconfig.
Sibras Jan 20, 2021
2b9f575
[libssh] Export pkgconfig on windows.
Sibras Jan 20, 2021
bd37381
[modplug] Export pkgconfig on windows.
Sibras Jan 20, 2021
88e4988
[ffmpeg] Add support for fontconfig,freetype,fribidi,modplug,openjpeg…
Sibras Jan 20, 2021
2473f69
[openjpeg] Correct required static link libs in pkgconfig.
Sibras Jan 20, 2021
1105fb8
[modplug] Combine vcpkg_from_github using variable.
Sibras Jan 25, 2021
6411ca2
Merge branch 'master' into master
JackBoosY Jan 25, 2021
256d87a
Update ports/libssh/CONTROL
JackBoosY Jan 25, 2021
0fd3f85
Improve portfile.cmake
Jan 25, 2021
16d7667
update version records.
Jan 25, 2021
de7b01a
[openjpeg] Update libs in pkgcfg.
Sibras Jan 25, 2021
85cd8cb
update version records
Jan 26, 2021
09c8727
Merge branch 'master' into master
Sibras Jan 30, 2021
0471d9a
[libssh] Add pthread to pkgconfig when using mbedtls.
Sibras Jan 30, 2021
9520e13
[libssh] Correct pthread naming on windows.
Sibras Jan 30, 2021
3cd51e4
[fontconfig] Add libintl to pkgconfig on windows.
Sibras Jan 30, 2021
83330b1
update version records
Sibras Jan 31, 2021
8fd5f05
[ffmpeg] Fixup FindFFmpeg.
Sibras Feb 1, 2021
5137060
[ffmpeg] speex now supports non-windows.
Sibras Feb 1, 2021
d71a976
[ffmpeg] Add feature libass.
Sibras Feb 1, 2021
d0c2288
[ffmpeg] Add dav1d feature.
Sibras Feb 1, 2021
a7d47fc
[ffmpeg] Add feature ilbc.
Sibras Feb 1, 2021
48b6ae1
[ffmpeg] Add tensorflow feature.
Sibras Feb 1, 2021
37bb8b7
[ffmpeg] update version record.
Sibras Feb 1, 2021
d716fd2
[ffmpeg] Add CI feature test.
Sibras Feb 3, 2021
acc7142
[ffmpeg] Limit features based on CI failures.
Sibras Feb 3, 2021
d36f2bb
[ffmpeg] Update version record.
Sibras Feb 3, 2021
f050ee7
[ffmpeg] limit features based on ci.baseline.
Sibras Feb 4, 2021
7cd5138
[various ports] Update supports field.
Sibras Feb 4, 2021
2835bb9
[ffmpeg] Limit features more based on CI.
Sibras Feb 4, 2021
9255627
update version records.
Sibras Feb 4, 2021
84b8ad6
[ffmpeg] Add detection of additional non target deps..
Sibras Feb 4, 2021
0dc062c
[aubio] Silence warning about FindFFMPEG.
Sibras Feb 4, 2021
09e1169
[pangolin] Use vcpkg supplied FindFFMPEG.
Sibras Feb 4, 2021
3e7636c
update version files.
Sibras Feb 4, 2021
0555d74
[ffnvcodec] Set as not supporting uwp.
Sibras Feb 5, 2021
eaab9d7
Merge branch 'master' into master
Sibras Feb 12, 2021
946c566
Merge branch 'master' of https://github.com/Sibras/vcpkg
Sibras Feb 12, 2021
571d8e6
[ffmpeg] Update feature all.
Sibras Feb 12, 2021
426e01b
update version records
Sibras Feb 12, 2021
61f5c2d
[tesseract] Wrap debug pkgcfg update.
Sibras Feb 12, 2021
2601d40
[libssh,libxml2,openjpeg,fontconfig] Fix pkg-config for release only …
Sibras Feb 12, 2021
5b499b6
[libssh] Correct port version after merge.
Sibras Feb 12, 2021
53138e4
[ffmpeg] Fixup after merge.
Sibras Feb 12, 2021
0ecb354
Update version files.
Sibras Feb 12, 2021
272032f
[ffmpeg] Add opengl support.
Sibras Feb 12, 2021
3492b65
[ffmpeg] Update package version.
Sibras Feb 12, 2021
f5f1b25
[ffmpeg] Fix ffnvcodec support.
Sibras Feb 12, 2021
df56138
[ffmpeg] Fix x265 detection on osx.
Sibras Feb 13, 2021
0029ce9
[libvpx] Enable arm-uwp build.
Sibras Feb 13, 2021
73822d2
[ffmpeg] Fixup x265 patch.
Sibras Feb 14, 2021
94065bf
trigger sdl rebuild
Sibras Feb 16, 2021
518f0db
[ffmpeg] Disable opengl on osx.
Sibras Feb 16, 2021
36dd61c
Revert "trigger sdl rebuild"
Sibras Feb 17, 2021
e124b1d
[ffmpeg] Disable failing features on osx.
Sibras Feb 17, 2021
8cea7ff
Update ports/ffmpeg/FindFFMPEG.cmake.in
Sibras Feb 17, 2021
fbf6435
[ffmpeg] Add ass dependencies to FindFFmpeg.
Sibras Feb 18, 2021
925e2c9
Update ports/ffmpeg/FindFFMPEG.cmake.in
Sibras Feb 20, 2021
956a14d
update version
Sibras Feb 20, 2021
c6cc525
[fontconfig] disable pthread/json as they are not needed for lib builds.
Sibras Mar 13, 2021
a139cca
[ffmpeg] Enable fontconfig on static+windows.
Sibras Mar 13, 2021
012084f
Merge remote-tracking branch 'upstream/master'
Sibras Mar 13, 2021
fbd4d6b
update versions
Sibras Mar 13, 2021
6a0c31e
update versions.
Sibras Mar 13, 2021
b9638a5
Fix incorrectly included commits
Sibras Mar 14, 2021
f59bc5a
revert pangolin commit
Sibras Mar 15, 2021
e8ff15c
Merge remote-tracking branch 'upstream/master'
Sibras Mar 16, 2021
781655f
update versions
Sibras Mar 16, 2021
a6f4882
Merge remote-tracking branch 'upstream/master'
Sibras Mar 23, 2021
ca8870a
Correct port version after merge.
Sibras Mar 23, 2021
e4b7ce5
Merge remote-tracking branch 'upstream/master'
Sibras Mar 26, 2021
3e70101
Merge branch 'master' into master
Sibras Mar 30, 2021
7878d85
update versions.
Sibras Mar 30, 2021
50be3bf
[ffmpeg] Fix cmake dependency detection on non-windows.
Sibras Mar 30, 2021
c3f44c8
Revert "revert pangolin commit"
Sibras Mar 30, 2021
a446bea
[ffmpeg] Fix dependency loading that does not define separate debug/r…
Sibras Mar 30, 2021
a37f7e8
update versions.
Sibras Mar 30, 2021
1774174
[ffmpeg] set CMP0072 policy.
Sibras Mar 30, 2021
d4851ac
[wavpack] Fix cmake config export.
Sibras Mar 30, 2021
e0969d8
[ffmpeg] Add optional system dependent libraries.
Sibras Mar 31, 2021
abee2a2
Merge branch 'master' into master
Sibras Apr 1, 2021
67dba3b
update versions after merge.
Sibras Apr 1, 2021
fe42dec
Merge remote-tracking branch 'upstream/master'
Sibras Apr 2, 2021
b497ac4
update versions.
Sibras Apr 2, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion ports/aubio/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ set(CMAKE_DEBUG_POSTFIX d)
option(BUILD_TOOLS "Build and install tools" ON)
set(TOOLS_INSTALLDIR "bin" CACHE STRING "Target directory for installed tools")

find_package(FFmpeg COMPONENTS avcodec avutil avdevice avfilter avformat swresample REQUIRED)
find_package(FFMPEG COMPONENTS avcodec avutil avdevice avfilter avformat swresample REQUIRED)
find_package(BZip2 REQUIRED)
find_package(LibLZMA REQUIRED)
find_package(SndFile REQUIRED)
Expand Down
2 changes: 1 addition & 1 deletion ports/aubio/CONTROL
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Source: aubio
Version: 0.4.9
Port-Version: 3
Port-Version: 4
Homepage: https://github.com/aubio/aubio
Description: Aubio is a tool designed for the extraction of annotations from audio signals. Its features include segmenting a sound file before each of its attacks, performing pitch detection, tapping the beat and producing midi streams from live audio.
Build-Depends: ffmpeg, libsndfile, libogg, libflac, libvorbis, bzip2, liblzma
Expand Down
1 change: 1 addition & 0 deletions ports/fdk-aac/CONTROL
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,4 @@ Source: fdk-aac
Version: 2018-07-08-2
Homepage: https://github.com/mstorsjo/fdk-aac
Description: A standalone library of the Fraunhofer FDK AAC code
Supports: !(uwp | arm)
5 changes: 3 additions & 2 deletions ports/ffmpeg/0011-Fix-x265-detection.patch
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,14 @@ diff --git a/configure b/configure
index 34a2e644c4..0ea64bd306 100755
--- a/configure
+++ b/configure
@@ -6447,7 +6447,9 @@ enabled libx264 && { check_pkg_config libx264 x264 "stdint.h x264.h" x
@@ -6447,7 +6447,10 @@ enabled libx264 && { check_pkg_config libx264 x264 "stdint.h x264.h" x
warn "using libx264 without pkg-config"; } } &&
require_cpp_condition libx264 x264.h "X264_BUILD >= 118" &&
check_cpp_condition libx262 x264.h "X264_MPEG2"
-enabled libx265 && require_pkg_config libx265 x265 x265.h x265_api_get &&
+enabled libx265 && { check_pkg_config libx265 x265 x265.h x265_api_get ||
+ { require libx265 x265.h x265_api_get "-lx265 $pthreads_extralibs $libm_extralibs -ldl -lstdc++ -lgcc_s -lgcc -lrt -lnuma" &&
+ { { check_lib libx265 x265.h x265_api_get "-lx265 $pthreads_extralibs $libm_extralibs -ldl -lstdc++ -lgcc_s -lgcc -lrt -lnuma" ||
+ require libx265 x265.h x265_api_get "-lx265 $pthreads_extralibs $libm_extralibs -ldl -lstdc++"; } &&
+ warn "using libx265 without pkg-config"; } } &&
require_cpp_condition libx265 x265.h "X265_BUILD >= 70"
enabled libxavs && require libxavs "stdint.h xavs.h" xavs_encoder_encode "-lxavs $pthreads_extralibs $libm_extralibs"
Expand Down
17 changes: 17 additions & 0 deletions ports/ffmpeg/0015-Fix-xml2-detection.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
configure | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/configure b/configure
index 900505756b..8d1388a347 100755
--- a/configure
+++ b/configure
@@ -6476,7 +6476,7 @@ enabled libzmq && require_pkg_config libzmq "libzmq >= 4.2.1" zmq.h z
enabled libzvbi && require_pkg_config libzvbi zvbi-0.2 libzvbi.h vbi_decoder_new &&
{ test_cpp_condition libzvbi.h "VBI_VERSION_MAJOR > 0 || VBI_VERSION_MINOR > 2 || VBI_VERSION_MINOR == 2 && VBI_VERSION_MICRO >= 28" ||
enabled gpl || die "ERROR: libzvbi requires version 0.2.28 or --enable-gpl."; }
-enabled libxml2 && require_pkg_config libxml2 libxml-2.0 libxml2/libxml/xmlversion.h xmlCheckVersion
+enabled libxml2 && require_pkg_config libxml2 libxml-2.0 libxml/xmlversion.h xmlCheckVersion
enabled mbedtls && { check_pkg_config mbedtls mbedtls mbedtls/x509_crt.h mbedtls_x509_crt_init ||
check_pkg_config mbedtls mbedtls mbedtls/ssl.h mbedtls_ssl_init ||
check_lib mbedtls mbedtls/ssl.h mbedtls_ssl_init -lmbedtls -lmbedx509 -lmbedcrypto ||

140 changes: 104 additions & 36 deletions ports/ffmpeg/CONTROL
Original file line number Diff line number Diff line change
@@ -1,139 +1,207 @@
Source: ffmpeg
Version: 4.3.1
Port-Version: 11
Port-Version: 12
Homepage: https://ffmpeg.org
Description: a library to decode, encode, transcode, mux, demux, stream, filter and play pretty much anything that humans and machines have created.
FFmpeg is the leading multimedia framework, able to decode, encode, transcode, mux, demux, stream, filter and play pretty much anything that humans and machines have created. It supports the most obscure ancient formats up to the cutting edge. No matter if they were designed by some standards committee, the community or a corporation. It is also highly portable: FFmpeg compiles, runs, and passes our testing infrastructure FATE across Linux, Mac OS X, Microsoft Windows, the BSDs, Solaris, etc. under a wide variety of build environments, machine architectures, and configurations.
Default-Features: avresample, avcodec, avformat, avdevice, avfilter, postproc, swresample, swscale

Feature: ffmpeg
Build-Depends: ffmpeg[core,avcodec,avfilter,avformat]
Description: build the ffmpeg.exe application
Description: Build the ffmpeg application

Feature: ffplay
Build-Depends: ffmpeg[core,avcodec,avfilter,avformat,swscale,swresample,sdl2]
Description: ffplay application support in ffmpeg
Description: Build the ffplay application

Feature: ffprobe
Build-Depends: ffmpeg[core,avcodec,avformat]
Description: ffprobe application support in ffmpeg
Description: Build the ffprobe application

Feature: avcodec
Description: Codec support in ffmpeg
Description: Build the avcodec library

Feature: avformat
Build-Depends: ffmpeg[core,avcodec]
Description: Format support in ffmpeg
Description: Build the avformat library

Feature: avdevice
Build-Depends: ffmpeg[core,avcodec,avformat]
Description: Device support in ffmpeg
Description: Build the avdevice library

Feature: avfilter
Description: Filter support in ffmpeg
Description: Build the avfilter library

Feature: postproc
Build-Depends: ffmpeg[core,gpl]
Description: Postproc support in ffmpeg
Description: Build the postproc library

Feature: swresample
Description: Swresample support in ffmpeg
Description: Build the swresample library

Feature: swscale
Description: Swscale support in ffmpeg
Description: Build the swscale library

Feature: avresample
Description: Libav audio resampling library support in ffmpeg
Description: Build the avresample library

Feature: nonfree
Description: allow nonfree and unredistributable libraries
Description: Allow use of nonfree code, the resulting libs and binaries will be unredistributable

Feature: gpl
Description: allow GPL licensed libraries
Description: Allow use of GPL code, the resulting libs and binaries will be under GPL

Feature: version3
Description: upgrade (L)GPL to version 3
Description: Upgrade (L)GPL to version 3

Feature: all
Build-Depends: ffmpeg[bzip2,iconv,freetype,lzma,mp3lame,openjpeg,opus,snappy,soxr,speex,theora,vorbis,vpx,webp,zlib], ffmpeg[ass] (!(uwp | arm)), ffmpeg[dav1d] (!(uwp | arm | x86 | osx)), ffmpeg[fontconfig] (!(windows & static) & !(uwp | arm)), ffmpeg[fribidi] (!(uwp | arm)), ffmpeg[ilbc] (!(arm & uwp)), ffmpeg[modplug] (!(windows & static) & !uwp), ffmpeg[nvcodec] ((windows | linux) & !uwp & !arm), ffmpeg[opencl] (!uwp), ffmpeg[ssh] (!(uwp | arm) & !static), ffmpeg[opengl] (!uwp & !(windows & arm) & !osx), ffmpeg[sdl2] (!osx), ffmpeg[tensorflow] (!(x86 | arm | uwp) & !static), ffmpeg[tesseract] (!uwp & !(windows & arm) & !static), ffmpeg[wavpack] (!arm), ffmpeg[xml2] (!static)
Description: Build with all allowed dependencies selected that are compatible with the lgpl license

Feature: all-gpl
Build-Depends: ffmpeg[gpl,all], ffmpeg[avisynthplus] (windows & !arm & !uwp & !static), ffmpeg[x264] (!arm), ffmpeg[x265] (!arm & !uwp)
Description: Build with all allowed dependencies selected that are compatible with the gpl license

Feature: all-nonfree
Build-Depends: ffmpeg[nonfree,all-gpl,openssl], ffmpeg[fdk-aac] (!arm & !uwp)
Description: Build with all allowed dependencies selected with a non-redistributable license

Feature: ass
Build-Depends: libass
Description: Libass subtitles rendering, needed for subtitles and ass filter support in ffmpeg

Feature: avisynthplus
Build-Depends: avisynthplus, ffmpeg[core,gpl]
Description: avisynthplus support in ffmpeg
Description: Reading of AviSynth script files

Feature: bzip2
Build-Depends: bzip2
Description: bzip2 support in ffmpeg
Description: Bzip2 support

Feature: dav1d
Build-Depends: dav1d
Description: AV1 decoding via libdav1d

Feature: iconv
Build-Depends: libiconv
Description: iconv support in ffmpeg
Description: Iconv support

Feature: ilbc
Build-Depends: libilbc
Description: iLBC de/encoding via libilbc

Feature: fdk-aac
Build-Depends: fdk-aac, ffmpeg[core,nonfree]
Description: AAC de/encoding via libfdk-aac support in ffmpeg
Description: AAC de/encoding via libfdk-aac

Feature: fontconfig
Build-Depends: fontconfig
Description: Useful for drawtext filter

Feature: freetype
Build-Depends: freetype
Description: Needed for drawtext filter

Feature: fribidi
Build-Depends: fribidi
Description: Improves drawtext filter

Feature: lzma
Build-Depends: liblzma
Description: lzma support in ffmpeg
Description: lzma support

Feature: modplug
Build-Depends: libmodplug
Description: ModPlug via libmodplug

Feature: mp3lame
Build-Depends: mp3lame
Description: MP3 encoding via libmp3lame support in ffmpeg
Description: MP3 encoding via libmp3lame

Feature: nvcodec
Build-Depends: ffnvcodec
Description: Hardware accelerated codecs
Description: Nvidia video decoding/encoding acceleration

Feature: opencl
Build-Depends: opencl
Description: OpenCL processing support in ffmpeg
Description: OpenCL processing

Feature: opengl
Build-Depends: opengl, opengl-registry
Description: OpenGL rendering

Feature: openjpeg
Build-Depends: openjpeg
Description: JPEG 2000 de/encoding via OpenJPEG

Feature: openssl
Build-Depends: openssl, ffmpeg[core,nonfree]
Description: openssl support in ffmpeg
Description: Needed for https support if gnutls, libtls or mbedtls is not used

Feature: opus
Build-Depends: opus
Description: Opus de/encoding via libopus support in ffmpeg
Description: Opus de/encoding via libopus

Feature: sdl2
Build-Depends: sdl2
Description: sdl2 support in ffmpeg
Description: Sdl2 support

Feature: snappy
Build-Depends: snappy
Description: Snappy compression, needed for hap encoding support in ffmpeg
Description: Snappy compression, needed for hap encoding

Feature: soxr
Build-Depends: soxr
Description: libsoxr resampling support in ffmpeg
Description: Include libsoxr resampling

Feature: speex
Build-Depends: speex
Description: Speex de/encoding via libspeex support in ffmpeg
Description: Speex de/encoding via libspeex

Feature: ssh
Build-Depends: libssh
Description: SFTP protocol via libssh

Feature: tensorflow
Build-Depends: tensorflow
Description: TensorFlow as a DNN module backend for DNN based filters like sr

Feature: tesseract
Build-Depends: tesseract
Description: Tesseract, needed for ocr filter

Feature: theora
Build-Depends: libtheora
Description: Theora encoding via libtheora support in ffmpeg
Description: Theora encoding via libtheora

Feature: vorbis
Build-Depends: libvorbis
Description: Vorbis en/decoding via libvorbis support in ffmpeg
Description: Vorbis en/decoding via libvorbis, native implementation exists

Feature: vpx
Build-Depends: libvpx
Description: VP8 and VP9 de/encoding via libvpx support in ffmpeg
Description: VP8 and VP9 de/encoding via libvpx

Feature: wavpack
Build-Depends: wavpack
Description: wavpack encoding via libwavpack support in ffmpeg
Description: Wavpack encoding via libwavpack

Feature: webp
Build-Depends: libwebp
Description: WebP encoding via libwebp

Feature: x264
Build-Depends: x264, ffmpeg[core,gpl]
Description: H.264 encoding via x264 support in ffmpeg
Description: H.264 encoding via x264

Feature: x265
Build-Depends: x265, ffmpeg[core,gpl]
Description: HEVC encoding via x265 support in ffmpeg
Description: HEVC encoding via x265

Feature: xml2
Build-Depends: libxml2
Description: XML parsing using the C library libxml2, needed for dash demuxing support

Feature: zlib
Build-Depends: zlib
Description: zlib support in ffmpeg
Description: zlib support
Loading