diff --git a/ports/ffmpeg/0001-create-lib-libraries.patch b/ports/ffmpeg/0001-create-lib-libraries.patch index 9c2345b09d1c12..493e24c1bb02f0 100644 --- a/ports/ffmpeg/0001-create-lib-libraries.patch +++ b/ports/ffmpeg/0001-create-lib-libraries.patch @@ -1,8 +1,8 @@ diff --git a/configure b/configure -index 89af70d..405680e 100755 +index 34c2adb..1c8008a 100755 --- a/configure +++ b/configure -@@ -5480,15 +5480,17 @@ case $target_os in +@@ -5352,15 +5352,17 @@ case $target_os in ;; win32|win64) disable symver diff --git a/ports/ffmpeg/0003-fix-windowsinclude.patch b/ports/ffmpeg/0003-fix-windowsinclude.patch index b12ec027f9d70a..8ac04c8656bf0c 100644 --- a/ports/ffmpeg/0003-fix-windowsinclude.patch +++ b/ports/ffmpeg/0003-fix-windowsinclude.patch @@ -1,8 +1,8 @@ diff --git a/fftools/cmdutils.c b/fftools/cmdutils.c -index fe424b6..2df70df 100644 +index 9cfbc45..e3447e6 100644 --- a/fftools/cmdutils.c +++ b/fftools/cmdutils.c -@@ -60,6 +60,8 @@ +@@ -63,6 +63,8 @@ #include #endif #ifdef _WIN32 diff --git a/ports/ffmpeg/0004-fix-debug-build.patch b/ports/ffmpeg/0004-fix-debug-build.patch index e49688f057f400..b85d7bbe759144 100644 --- a/ports/ffmpeg/0004-fix-debug-build.patch +++ b/ports/ffmpeg/0004-fix-debug-build.patch @@ -1,8 +1,8 @@ diff --git a/configure b/configure -index 405680e..cc5bf29 100755 +index bd2de34..fba948a 100755 --- a/configure +++ b/configure -@@ -4111,6 +4111,9 @@ for opt do +@@ -3993,6 +3993,9 @@ for opt do --libfuzzer=*) libfuzzer_path="$optval" ;; @@ -12,7 +12,7 @@ index 405680e..cc5bf29 100755 *) optname="${opt%%=*}" optname="${optname#--}" -@@ -6316,7 +6319,11 @@ fi +@@ -6464,8 +6464,12 @@ enabled zlib && { check_pkg_config zlib zlib "zlib.h" zlibVersion || check_lib zlib zlib.h zlibVersion -lz; } @@ -24,8 +24,9 @@ index 405680e..cc5bf29 100755 +fi enabled lzma && check_lib lzma lzma.h lzma_version_number -llzma - # On some systems dynamic loading requires no extra linker flags -@@ -6434,7 +6441,11 @@ enabled librubberband && require_pkg_config librubberband "rubberband >= 1.8 + enabled zlib && test_exec $zlib_extralibs < +@@ -6350,7 +6350,11 @@ enabled librubberband && require_pkg_config librubberband "rubberband >= 1.8 enabled libshine && require_pkg_config libshine shine shine/layer3.h shine_encode_buffer enabled libsmbclient && { check_pkg_config libsmbclient smbclient libsmbclient.h smbc_init || require libsmbclient libsmbclient.h smbc_init -lsmbclient; } diff --git a/ports/ffmpeg/0006-fix-StaticFeatures.patch b/ports/ffmpeg/0006-fix-StaticFeatures.patch index 005cacdf4b6df4..dc7f818435112d 100644 --- a/ports/ffmpeg/0006-fix-StaticFeatures.patch +++ b/ports/ffmpeg/0006-fix-StaticFeatures.patch @@ -1,8 +1,8 @@ diff --git a/configure b/configure -index cc5bf29..ee26559 100755 +index 3bdcfc6..00b2f13 100644 --- a/configure +++ b/configure -@@ -6406,7 +6406,8 @@ if enabled libmfx; then +@@ -6351,7 +6351,8 @@ if enabled libmfx; then fi enabled libmodplug && require_pkg_config libmodplug libmodplug libmodplug/modplug.h ModPlug_Load @@ -11,8 +11,8 @@ index cc5bf29..ee26559 100755 + require libmp3lame lame/lame.h lame_set_VBR_quality -llibmp3lame-static -llibmpghip-static $libm_extralibs; } enabled libmysofa && { check_pkg_config libmysofa libmysofa mysofa.h mysofa_neighborhood_init_withstepdefine || require libmysofa mysofa.h mysofa_neighborhood_init_withstepdefine -lmysofa $zlib_extralibs; } - enabled libnpp && { check_lib libnpp npp.h nppGetLibVersion -lnppig -lnppicc -lnppc -lnppidei || -@@ -6446,7 +6447,7 @@ if enabled debug_configure; then + enabled libnpp && { check_lib libnpp npp.h nppGetLibVersion -lnppig -lnppicc -lnppc -lnppidei -lnppif || +@@ -6392,7 +6393,7 @@ if enabled debug_configure; then else enabled libsnappy && require libsnappy snappy-c.h snappy_compress -lsnappy -lstdc++ fi @@ -21,7 +21,7 @@ index cc5bf29..ee26559 100755 enabled libssh && require_pkg_config libssh libssh libssh/sftp.h sftp_init enabled libspeex && require_pkg_config libspeex speex speex/speex.h speex_decoder_init enabled libsrt && require_pkg_config libsrt "srt >= 1.3.0" srt/srt.h srt_socket -@@ -6527,6 +6528,8 @@ enabled openal && { { for al_extralibs in "${OPENAL_LIBS}" "-lopenal" +@@ -6460,6 +6461,8 @@ enabled openal && { { for al_extralibs in "${OPENAL_LIBS}" "-lopenal" enabled opencl && { check_pkg_config opencl OpenCL CL/cl.h clEnqueueNDRangeKernel || check_lib opencl OpenCL/cl.h clEnqueueNDRangeKernel -Wl,-framework,OpenCL || check_lib opencl CL/cl.h clEnqueueNDRangeKernel -lOpenCL || @@ -30,7 +30,7 @@ index cc5bf29..ee26559 100755 die "ERROR: opencl not found"; } && { test_cpp_condition "OpenCL/cl.h" "defined(CL_VERSION_1_2)" || test_cpp_condition "CL/cl.h" "defined(CL_VERSION_1_2)" || -@@ -6550,6 +6553,7 @@ enabled openssl && { check_pkg_config openssl openssl openssl/ssl.h OP +@@ -6479,6 +6482,7 @@ enabled openssl && { check_pkg_config openssl openssl openssl/ssl.h OP check_lib openssl openssl/ssl.h SSL_library_init -lssl -lcrypto || check_lib openssl openssl/ssl.h SSL_library_init -lssl32 -leay32 || check_lib openssl openssl/ssl.h SSL_library_init -lssl -lcrypto -lws2_32 -lgdi32 || @@ -38,7 +38,7 @@ index cc5bf29..ee26559 100755 die "ERROR: openssl not found"; } enabled pocketsphinx && require_pkg_config pocketsphinx pocketsphinx pocketsphinx/pocketsphinx.h ps_init enabled rkmpp && { require_pkg_config rkmpp rockchip_mpp rockchip/rk_mpi.h mpp_create && -@@ -6811,7 +6815,7 @@ enabled amf && +@@ -6707,7 +6711,7 @@ enabled amf && if enabled libc_iconv; then check_func_headers iconv.h iconv elif enabled iconv; then diff --git a/ports/ffmpeg/0007-fix-lib-naming.patch b/ports/ffmpeg/0007-fix-lib-naming.patch index f2fd7d738c5e5e..ef9d74614e1ec1 100644 --- a/ports/ffmpeg/0007-fix-lib-naming.patch +++ b/ports/ffmpeg/0007-fix-lib-naming.patch @@ -1,14 +1,15 @@ diff --git a/configure b/configure -index ee26559..f2c83b7 100755 +index d6c4388..75b96c3 100644 --- a/configure +++ b/configure -@@ -4496,6 +4496,10 @@ msvc_common_flags(){ +@@ -4378,6 +4378,11 @@ msvc_common_flags(){ -march=*) ;; -lz) echo zlib.lib ;; -lx264) echo libx264.lib ;; + -lx265) echo libx265.lib ;; + -lmp3lame) echo libmp3lame.lib ;; + -liconv) echo iconv.lib ;; ++ -llibcharset) echo charset.lib ;; + -lm) ;; -lstdc++) ;; -l*) echo ${flag#-l}.lib ;; diff --git a/ports/ffmpeg/0009-Fix-fdk-detection.patch b/ports/ffmpeg/0009-Fix-fdk-detection.patch index 3169c6928d80c2..3d280fd2b33aa5 100644 --- a/ports/ffmpeg/0009-Fix-fdk-detection.patch +++ b/ports/ffmpeg/0009-Fix-fdk-detection.patch @@ -1,8 +1,8 @@ diff --git a/configure b/configure -index f2c83b7..5e42b12 100755 +index b137669dd3..34c92230f4 100755 --- a/configure +++ b/configure -@@ -6379,7 +6379,7 @@ enabled libdavs2 && require_pkg_config libdavs2 "davs2 >= 1.6.0" davs2. +@@ -6331,7 +6331,7 @@ enabled libdavs2 && require_pkg_config libdavs2 "davs2 >= 1.6.0" davs2. enabled libdc1394 && require_pkg_config libdc1394 libdc1394-2 dc1394/dc1394.h dc1394_new enabled libdrm && require_pkg_config libdrm libdrm xf86drm.h drmGetVersion enabled libfdk_aac && { check_pkg_config libfdk_aac fdk-aac "fdk-aac/aacenc_lib.h" aacEncOpen || @@ -11,3 +11,4 @@ index f2c83b7..5e42b12 100755 warn "using libfdk without pkg-config"; } } flite_extralibs="-lflite_cmu_time_awb -lflite_cmu_us_awb -lflite_cmu_us_kal -lflite_cmu_us_kal16 -lflite_cmu_us_rms -lflite_cmu_us_slt -lflite_usenglish -lflite_cmulex -lflite" enabled libflite && require libflite "flite/flite.h" flite_init $flite_extralibs + diff --git a/ports/ffmpeg/0010-Fix-x264-detection.patch b/ports/ffmpeg/0010-Fix-x264-detection.patch deleted file mode 100644 index 6b76b7fbb62453..00000000000000 --- a/ports/ffmpeg/0010-Fix-x264-detection.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/configure b/configure -index 5e42b12..d8f059f 100755 ---- a/configure -+++ b/configure -@@ -6497,7 +6497,7 @@ enabled libwebp && { - enabled libwebp_encoder && require_pkg_config libwebp "libwebp >= 0.2.0" webp/encode.h WebPGetEncoderVersion - enabled libwebp_anim_encoder && check_pkg_config libwebp_anim_encoder "libwebpmux >= 0.4.0" webp/mux.h WebPAnimEncoderOptionsInit; } - enabled libx264 && { check_pkg_config libx264 x264 "stdint.h x264.h" x264_encoder_encode || -- { require libx264 "stdint.h x264.h" x264_encoder_encode "-lx264 $pthreads_extralibs $libm_extralibs" && -+ { require libx264 "stdint.h x264.h" x264_encoder_encode "-lx264 $pthreads_extralibs $libm_extralibs -ldl" && - warn "using libx264 without pkg-config"; } } && - require_cpp_condition libx264 x264.h "X264_BUILD >= 118" && - check_cpp_condition libx262 x264.h "X264_MPEG2" diff --git a/ports/ffmpeg/0011-Fix-x265-detection.patch b/ports/ffmpeg/0011-Fix-x265-detection.patch index 697ece8086efbd..69c6380a1f8379 100644 --- a/ports/ffmpeg/0011-Fix-x265-detection.patch +++ b/ports/ffmpeg/0011-Fix-x265-detection.patch @@ -1,8 +1,8 @@ diff --git a/configure b/configure -index d8f059f..f3688ad 100755 +index 34a2e644c4..0ea64bd306 100755 --- a/configure +++ b/configure -@@ -6501,7 +6501,10 @@ 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" @@ -14,3 +14,4 @@ index d8f059f..f3688ad 100755 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" enabled libxavs2 && require_pkg_config libxavs2 "xavs2 >= 1.3.0" "stdint.h xavs2.h" xavs2_api_get + diff --git a/ports/ffmpeg/0012-Fix-ssl-110-detection.patch b/ports/ffmpeg/0012-Fix-ssl-110-detection.patch index 6f424607fa098d..b2e5501a13a355 100644 --- a/ports/ffmpeg/0012-Fix-ssl-110-detection.patch +++ b/ports/ffmpeg/0012-Fix-ssl-110-detection.patch @@ -1,12 +1,14 @@ diff --git a/configure b/configure -index f3688ad..26e512e 100755 +index 2be953f7e7..e075949ffc 100755 --- a/configure +++ b/configure -@@ -6556,6 +6556,7 @@ enabled omx_rpi && { test_code cc OMX_Core.h OMX_IndexConfigBrcmVideoR - enabled omx && require_headers OMX_Core.h - enabled openssl && { check_pkg_config openssl openssl openssl/ssl.h OPENSSL_init_ssl || +@@ -6497,6 +6497,7 @@ enabled openssl && { { check_pkg_config openssl "openssl >= 3.0.0 + { enabled gplv3 || ! enabled gpl || enabled nonfree || die "ERROR: OpenSSL >=3.0.0 requires --enable-version3"; }; } || + { enabled gpl && ! enabled nonfree && die "ERROR: OpenSSL <3.0.0 is incompatible with the gpl"; } || + check_pkg_config openssl openssl openssl/ssl.h OPENSSL_init_ssl || check_pkg_config openssl openssl openssl/ssl.h SSL_library_init || + check_lib openssl openssl/ssl.h OPENSSL_init_ssl -lssl -lcrypto $pthreads_extralibs -ldl || check_lib openssl openssl/ssl.h OPENSSL_init_ssl -lssl -lcrypto || check_lib openssl openssl/ssl.h SSL_library_init -lssl -lcrypto || check_lib openssl openssl/ssl.h SSL_library_init -lssl32 -leay32 || + diff --git a/ports/ffmpeg/0013-define-WINVER.patch b/ports/ffmpeg/0013-define-WINVER.patch index 395df56e95ceaa..295a738e74f7e7 100644 --- a/ports/ffmpeg/0013-define-WINVER.patch +++ b/ports/ffmpeg/0013-define-WINVER.patch @@ -1,7 +1,6 @@ -diff --git a/libavcodec/mf_utils.c b/libavcodec/mf_utils.c -index eeabd0c..ea3a03b 100644 ---- a/libavcodec/mf_utils.c -+++ b/libavcodec/mf_utils.c +diff --color -Naur src_old/libavcodec/mf_utils.c src/libavcodec/mf_utils.c +--- src_old/libavcodec/mf_utils.c 2020-07-11 05:26:17.000000000 +0700 ++++ src/libavcodec/mf_utils.c 2020-11-13 12:55:57.226976400 +0700 @@ -22,6 +22,11 @@ #define _WIN32_WINNT 0x0602 #endif diff --git a/ports/ffmpeg/0014-avfilter-dependency-fix.patch b/ports/ffmpeg/0014-avfilter-dependency-fix.patch deleted file mode 100644 index 6e1921bb878c1d..00000000000000 --- a/ports/ffmpeg/0014-avfilter-dependency-fix.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff --git a/configure b/configure -index 26e512e..c0377b6 100755 ---- a/configure -+++ b/configure -@@ -3674,6 +3674,18 @@ vpp_qsv_filter_select="qsvvpp" - xfade_opencl_filter_deps="opencl" - yadif_cuda_filter_deps="ffnvcodec" - yadif_cuda_filter_deps_any="cuda_nvcc cuda_llvm" -+ametadata_filter_deps="avformat" -+metadata_filter_deps="avformat" -+headphone_filter_deps="avcodec" -+headphone_filter_select="fft" -+showspatial_filter_deps="avcodec" -+showspatial_filter_select="fft" -+superequalizer_filter_deps="avcodec" -+superequalizer_filter_select="rdft" -+surround_filter_deps="avcodec" -+surround_filter_select="rdft" -+sinc_filter_deps="avcodec" -+sinc_filter_select="rdft" - - # examples - avio_list_dir_deps="avformat avutil" diff --git a/ports/ffmpeg/0015-Fix-xml2-detection.patch b/ports/ffmpeg/0015-Fix-xml2-detection.patch index 7c5010534256f2..7d2f148b09ea7e 100644 --- a/ports/ffmpeg/0015-Fix-xml2-detection.patch +++ b/ports/ffmpeg/0015-Fix-xml2-detection.patch @@ -1,8 +1,11 @@ + configure | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + diff --git a/configure b/configure -index c0377b6..62753ef 100755 +index 900505756b..8d1388a347 100755 --- a/configure +++ b/configure -@@ -6526,7 +6526,7 @@ enabled libzmq && require_pkg_config libzmq "libzmq >= 4.2.1" zmq.h z +@@ -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."; } @@ -11,3 +14,4 @@ index c0377b6..62753ef 100755 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 || + diff --git a/ports/ffmpeg/0017-Patch-for-ticket-9019-CUDA-Compile-Broken-Using-MSVC.patch b/ports/ffmpeg/0017-Patch-for-ticket-9019-CUDA-Compile-Broken-Using-MSVC.patch deleted file mode 100644 index 718b436d488030..00000000000000 --- a/ports/ffmpeg/0017-Patch-for-ticket-9019-CUDA-Compile-Broken-Using-MSVC.patch +++ /dev/null @@ -1,30 +0,0 @@ -diff --git a/compat/cuda/ptx2c.sh b/compat/cuda/ptx2c.sh -index 48452379c2..1c486dc30e 100755 ---- a/compat/cuda/ptx2c.sh -+++ b/compat/cuda/ptx2c.sh -@@ -26,9 +26,10 @@ OUT="$1" - IN="$2" - NAME="$(basename "$IN" | sed 's/\..*//')" - --printf "const char %s_ptx[] = \\" "$NAME" > "$OUT" -+printf "const char %s_ptx[] = {\\" "$NAME" > "$OUT" - echo >> "$OUT" --sed -e "$(printf 's/\r//g')" -e 's/["\\]/\\&/g' -e "$(printf 's/^/\t"/')" -e 's/$/\\n"/' < "$IN" >> "$OUT" --echo ";" >> "$OUT" -+xxd -i < "$IN" >> "$OUT" -+echo " ,0x00" >> "$OUT" -+echo "};" >> "$OUT" - - exit 0 -diff --git a/configure b/configure -index 6190d06b0b..48fb73738e 100755 ---- a/configure -+++ b/configure -@@ -1046,6 +1046,7 @@ test_nvcc(){ - tmpo_=$TMPO - [ -x "$(command -v cygpath)" ] && tmpcu_=$(cygpath -m $tmpcu_) && tmpo_=$(cygpath -m $tmpo_) - test_cmd $nvcc $nvccflags "$@" $NVCC_C $(nvcc_o $tmpo_) $tmpcu_ -+ test_cmd xxd - } - - check_nvcc() { diff --git a/ports/ffmpeg/0018-libaom-Dont-use-aom_codec_av1_dx_algo.patch b/ports/ffmpeg/0018-libaom-Dont-use-aom_codec_av1_dx_algo.patch deleted file mode 100644 index 80af5abab7ee4c..00000000000000 --- a/ports/ffmpeg/0018-libaom-Dont-use-aom_codec_av1_dx_algo.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/libavcodec/libaomdec.c b/libavcodec/libaomdec.c -index 1fc0a00..06b2ff0 100644 ---- a/libavcodec/libaomdec.c -+++ b/libavcodec/libaomdec.c -@@ -224,7 +224,7 @@ static av_cold int aom_free(AVCodecContext *avctx) - - static av_cold int av1_init(AVCodecContext *avctx) - { -- return aom_init(avctx, &aom_codec_av1_dx_algo); -+ return aom_init(avctx, aom_codec_av1_dx()); - } - - AVCodec ff_libaom_av1_decoder = { diff --git a/ports/ffmpeg/0019-libx264-Do-not-explicitly-set-X264_API_IMPORTS.patch b/ports/ffmpeg/0019-libx264-Do-not-explicitly-set-X264_API_IMPORTS.patch index 5fa6693779cd78..07b304837b282d 100644 --- a/ports/ffmpeg/0019-libx264-Do-not-explicitly-set-X264_API_IMPORTS.patch +++ b/ports/ffmpeg/0019-libx264-Do-not-explicitly-set-X264_API_IMPORTS.patch @@ -1,13 +1,23 @@ +From d5fca748d76602a912590b64022560283db6fae6 Mon Sep 17 00:00:00 2001 +From: Matt Oliver +Date: Sat, 30 Oct 2021 14:09:29 +1100 +Subject: [PATCH] libx264: Do not explicitly set X264_API_IMPORTS + +--- + configure | 8 +++----- + libavcodec/libx264.c | 4 ---- + 2 files changed, 3 insertions(+), 9 deletions(-) + diff --git a/configure b/configure -index 62753ef..018764e 100755 +index ede8f9777b..b35728aace 100755 --- a/configure +++ b/configure -@@ -6508,11 +6508,8 @@ enabled libvpx && { +@@ -6535,11 +6535,8 @@ enabled libvpx && { enabled libwebp && { enabled libwebp_encoder && require_pkg_config libwebp "libwebp >= 0.2.0" webp/encode.h WebPGetEncoderVersion enabled libwebp_anim_encoder && check_pkg_config libwebp_anim_encoder "libwebpmux >= 0.4.0" webp/mux.h WebPAnimEncoderOptionsInit; } -enabled libx264 && { check_pkg_config libx264 x264 "stdint.h x264.h" x264_encoder_encode || -- { require libx264 "stdint.h x264.h" x264_encoder_encode "-lx264 $pthreads_extralibs $libm_extralibs -ldl" && +- { require libx264 "stdint.h x264.h" x264_encoder_encode "-lx264 $pthreads_extralibs $libm_extralibs" && - warn "using libx264 without pkg-config"; } } && - require_cpp_condition libx264 x264.h "X264_BUILD >= 118" && - check_cpp_condition libx262 x264.h "X264_MPEG2" @@ -17,12 +27,12 @@ index 62753ef..018764e 100755 { { 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++"; } && diff --git a/libavcodec/libx264.c b/libavcodec/libx264.c -index 4ddc497..0152d30 100644 +index 21f434d06d..efbc9608c7 100644 --- a/libavcodec/libx264.c +++ b/libavcodec/libx264.c -@@ -32,10 +32,6 @@ - #include "packet_internal.h" +@@ -34,10 +34,6 @@ #include "atsc_a53.h" + #include "sei.h" -#if defined(_MSC_VER) -#define X264_API_IMPORTS 1 @@ -31,3 +41,6 @@ index 4ddc497..0152d30 100644 #include #include #include +-- +2.33.1.windows.1 + diff --git a/ports/ffmpeg/0020-fix-aarch64-libswscale.patch b/ports/ffmpeg/0020-fix-aarch64-libswscale.patch index 553b3638ed80a6..6019b06645544c 100644 --- a/ports/ffmpeg/0020-fix-aarch64-libswscale.patch +++ b/ports/ffmpeg/0020-fix-aarch64-libswscale.patch @@ -1,6 +1,6 @@ diff --git a/libswscale/aarch64/yuv2rgb_neon.S b/libswscale/aarch64/yuv2rgb_neon.S -index f4b220f..af677af 100644 ---- a/libswscale/aarch64/yuv2rgb_neon.S +index af677afe6..f4b220fb6 100644 +--- a/libswscale/aarch64/yuv2rgb_neon.S +++ b/libswscale/aarch64/yuv2rgb_neon.S @@ -169,19 +169,19 @@ function ff_\ifmt\()_to_\ofmt\()_neon, export=1 sqdmulh v26.8H, v26.8H, v0.8H // ((Y1*(1<<3) - y_offset) * y_coeff) >> 15 diff --git a/ports/ffmpeg/0021-fix-sdl2-version-check.patch b/ports/ffmpeg/0021-fix-sdl2-version-check.patch new file mode 100644 index 00000000000000..c26a155c62dce2 --- /dev/null +++ b/ports/ffmpeg/0021-fix-sdl2-version-check.patch @@ -0,0 +1,13 @@ +diff --git a/configure b/configure +index 2829d79..697a504 100755 +--- a/configure ++++ b/configure +@@ -6589,7 +6589,7 @@ fi + + if enabled sdl2; then + SDL2_CONFIG="${cross_prefix}sdl2-config" +- test_pkg_config sdl2 "sdl2 >= 2.0.1 sdl2 < 2.1.0" SDL_events.h SDL_PollEvent ++ test_pkg_config sdl2 "sdl2 >= 2.0.1 sdl2 < 3.0.0" SDL_events.h SDL_PollEvent + if disabled sdl2 && "${SDL2_CONFIG}" --version > /dev/null 2>&1; then + sdl2_cflags=$("${SDL2_CONFIG}" --cflags) + sdl2_extralibs=$("${SDL2_CONFIG}" --libs) diff --git a/ports/ffmpeg/0022-fix-iconv.patch b/ports/ffmpeg/0022-fix-iconv.patch new file mode 100644 index 00000000000000..3fc6cf272b2225 --- /dev/null +++ b/ports/ffmpeg/0022-fix-iconv.patch @@ -0,0 +1,14 @@ +diff --git a/configure b/configure +index 2829d79..697a504 100755 +--- a/configure ++++ b/configure +@@ -4221,9 +4221,6 @@ + if disabled autodetect; then + +- # Unless iconv is explicitely disabled by the user, we still want to probe +- # for the iconv from the libc. +- disabled iconv || enable libc_iconv + + disable_weak $EXTERNAL_AUTODETECT_LIBRARY_LIST + disable_weak $HWACCEL_AUTODETECT_LIBRARY_LIST + fi diff --git a/ports/ffmpeg/0022-fix-m1-hardware-decode-nal-bits.patch b/ports/ffmpeg/0022-fix-m1-hardware-decode-nal-bits.patch deleted file mode 100644 index 6b6905e69c6161..00000000000000 --- a/ports/ffmpeg/0022-fix-m1-hardware-decode-nal-bits.patch +++ /dev/null @@ -1,43 +0,0 @@ -From c534d9f72a89542ed639071b1ae15893aadf1f18 Mon Sep 17 00:00:00 2001 -From: rcombs -Date: Sat, 16 Apr 2022 03:41:29 -0500 -Subject: [PATCH] lavc/h264_ps: always include the stop bit in [s|p]ps->data - -The VideoToolbox hwaccel needs the entire NAL (including the stop bit), -but ff_h2645_packet_split may remove it. Detect this case by looking for -bit counts divisible by 8 and insert a stop-bit-only 0x80 byte. - -Signed-off-by: rcombs ---- - libavcodec/h264_ps.c | 8 ++++++++ - 1 file changed, 8 insertions(+) - -diff --git a/libavcodec/h264_ps.c b/libavcodec/h264_ps.c -index 051f06692c..e16da68dec 100644 ---- a/libavcodec/h264_ps.c -+++ b/libavcodec/h264_ps.c -@@ -351,6 +351,10 @@ int ff_h264_decode_seq_parameter_set(GetBitContext *gb, AVCodecContext *avctx, - } - memcpy(sps->data, gb->buffer, sps->data_size); - -+ // Re-add the removed stop bit (may be used by hwaccels). -+ if (!(gb->size_in_bits & 7) && sps->data_size < sizeof(sps->data)) -+ sps->data[sps->data_size++] = 0x80; -+ - profile_idc = get_bits(gb, 8); - constraint_set_flags |= get_bits1(gb) << 0; // constraint_set0_flag - constraint_set_flags |= get_bits1(gb) << 1; // constraint_set1_flag -@@ -775,6 +779,10 @@ int ff_h264_decode_picture_parameter_set(GetBitContext *gb, AVCodecContext *avct - } - memcpy(pps->data, gb->buffer, pps->data_size); - -+ // Re-add the removed stop bit (may be used by hwaccels). -+ if (!(bit_length & 7) && pps->data_size < sizeof(pps->data)) -+ pps->data[pps->data_size++] = 0x80; -+ - pps->sps_id = get_ue_golomb_31(gb); - if ((unsigned)pps->sps_id >= MAX_SPS_COUNT || - !ps->sps_list[pps->sps_id]) { --- -2.20.1 - diff --git a/ports/ffmpeg/FindFFMPEG.cmake.in b/ports/ffmpeg/FindFFMPEG.cmake.in index 0c98b655884f97..7e1268d086ab53 100644 --- a/ports/ffmpeg/FindFFMPEG.cmake.in +++ b/ports/ffmpeg/FindFFMPEG.cmake.in @@ -104,9 +104,6 @@ endif() if(@ENABLE_AVCODEC@) FFMPEG_FIND(libavcodec avcodec avcodec.h) endif() -if(@ENABLE_AVRESAMPLE@) - FFMPEG_FIND(libavresample avresample avresample.h) -endif() if(@ENABLE_POSTPROC@) FFMPEG_FIND(libpostproc postproc postprocess.h) endif() @@ -135,9 +132,6 @@ if (FFMPEG_libavutil_FOUND) if(FFMPEG_libavformat_FOUND) set(FFMPEG_libavformat_VERSION "@LIBAVFORMAT_VERSION@" CACHE STRING "") endif() - if(FFMPEG_libavresample_FOUND) - set(FFMPEG_libavresample_VERSION "@LIBAVRESAMPLE_VERSION@" CACHE STRING "") - endif() if(FFMPEG_libswresample_FOUND) set(FFMPEG_libswresample_VERSION "@LIBSWRESAMPLE_VERSION@" CACHE STRING "") endif() diff --git a/ports/ffmpeg/portfile.cmake b/ports/ffmpeg/portfile.cmake index a0c1f4153d5b68..2d7228ea23476a 100644 --- a/ports/ffmpeg/portfile.cmake +++ b/ports/ffmpeg/portfile.cmake @@ -1,11 +1,8 @@ -if(VCPKG_TARGET_IS_WINDOWS) - set(PATCHES 0017-Patch-for-ticket-9019-CUDA-Compile-Broken-Using-MSVC.patch) # https://trac.ffmpeg.org/ticket/9019 -endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ffmpeg/ffmpeg - REF n4.4.3 - SHA512 46bb03d690bdf0d1ce55bfe0582edf1f50b938efcdd5708a6e5ba04154fa50ac8cff4a9e44544cfa50e7f52392c88cde9455aacd6b6e51d4944f123bdcc9297a + REF n5.0 + SHA512 4b9f0b207031fb53fe8b03dfa7ad62a58ec60f68911d7200238249152937ba4393f28ada24361217ee6324900b92bf9abefc754cccbd673bd6780482bf62eba6 HEAD_REF master PATCHES 0001-create-lib-libraries.patch @@ -14,18 +11,14 @@ vcpkg_from_github( 0006-fix-StaticFeatures.patch 0007-fix-lib-naming.patch 0009-Fix-fdk-detection.patch - 0010-Fix-x264-detection.patch 0011-Fix-x265-detection.patch 0012-Fix-ssl-110-detection.patch 0013-define-WINVER.patch - 0014-avfilter-dependency-fix.patch # https://ffmpeg.org/pipermail/ffmpeg-devel/2021-February/275819.html 0015-Fix-xml2-detection.patch - ${PATCHES} - 0018-libaom-Dont-use-aom_codec_av1_dx_algo.patch 0019-libx264-Do-not-explicitly-set-X264_API_IMPORTS.patch 0020-fix-aarch64-libswscale.patch - 0022-fix-m1-hardware-decode-nal-bits.patch # remove in next version - 0023-fix-qsv-init.patch # remove in next version (5.x) + 0021-fix-sdl2-version-check.patch + 0022-fix-iconv.patch ) if (SOURCE_PATH MATCHES " ") @@ -53,7 +46,7 @@ else() set(LIB_PATH_VAR "LIBRARY_PATH") endif() -set(OPTIONS "--enable-pic --disable-doc --enable-debug --enable-runtime-cpudetect") +set(OPTIONS "--enable-pic --disable-doc --enable-debug --enable-runtime-cpudetect --disable-autodetect") if(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm") set(OPTIONS "${OPTIONS} --disable-asm --disable-x86asm") @@ -79,9 +72,11 @@ if(VCPKG_TARGET_IS_MINGW) string(APPEND OPTIONS " --target-os=mingw64") endif() elseif(VCPKG_TARGET_IS_LINUX) - string(APPEND OPTIONS " --target-os=linux") + string(APPEND OPTIONS " --target-os=linux --enable-pthreads") +elseif(VCPKG_TARGET_IS_UWP) + string(APPEND OPTIONS " --target-os=win32 --enable-w32threads --enable-d3d11va --enable-mediafoundation") elseif(VCPKG_TARGET_IS_WINDOWS) - string(APPEND OPTIONS " --target-os=win32") + string(APPEND OPTIONS " --target-os=win32 --enable-w32threads --enable-d3d11va --enable-dxva2 --enable-mediafoundation") elseif(VCPKG_TARGET_IS_OSX) string(APPEND OPTIONS " --target-os=darwin") elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Android") @@ -122,12 +117,6 @@ if("version3" IN_LIST FEATURES) set(OPTIONS "${OPTIONS} --enable-version3") endif() -if("amf" IN_LIST FEATURES) - # Do nothing -else() - set(OPTIONS "${OPTIONS} --disable-amf") -endif() - if("ffmpeg" IN_LIST FEATURES) set(OPTIONS "${OPTIONS} --enable-ffmpeg") else() @@ -146,10 +135,6 @@ else() set(OPTIONS "${OPTIONS} --disable-ffprobe") endif() -if (NOT "alsa" IN_LIST FEATURES) - set(OPTIONS "${OPTIONS} --disable-alsa") -endif() - if("avcodec" IN_LIST FEATURES) set(OPTIONS "${OPTIONS} --enable-avcodec") set(ENABLE_AVCODEC ON) @@ -213,18 +198,23 @@ else() set(ENABLE_SWSCALE OFF) endif() -set(ENABLE_AVRESAMPLE OFF) -if("avresample" IN_LIST FEATURES) - set(OPTIONS "${OPTIONS} --enable-avresample") - set(ENABLE_AVRESAMPLE ON) - list(APPEND FFMPEG_PKGCONFIG_MODULES libavresample) -endif() - set(STATIC_LINKAGE OFF) if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") set(STATIC_LINKAGE ON) endif() +if ("alsa" IN_LIST FEATURES) + set(OPTIONS "${OPTIONS} --enable-alsa") +else() + set(OPTIONS "${OPTIONS} --disable-alsa") +endif() + +if("amf" IN_LIST FEATURES) + set(OPTIONS "${OPTIONS} --enable-amf") +else() + set(OPTIONS "${OPTIONS} --disable-amf") +endif() + if("aom" IN_LIST FEATURES) set(OPTIONS "${OPTIONS} --enable-libaom") else() @@ -350,6 +340,11 @@ if("openssl" IN_LIST FEATURES) set(OPTIONS "${OPTIONS} --enable-openssl") else() set(OPTIONS "${OPTIONS} --disable-openssl") + if(VCPKG_TARGET_IS_WINDOWS) + string(APPEND OPTIONS " --enable-schannel") + elseif(VCPKG_TARGET_IS_OSX) + string(APPEND OPTIONS " --enable-securetransport") + endif() endif() if("opus" IN_LIST FEATURES) @@ -456,14 +451,8 @@ endif() if ("qsv" IN_LIST FEATURES) set(OPTIONS "${OPTIONS} --enable-libmfx --enable-encoder=h264_qsv --enable-decoder=h264_qsv") -endif() - -if (VCPKG_TARGET_IS_OSX) - set(OPTIONS "${OPTIONS} --disable-vdpau") # disable vdpau in OSX -endif() - -if(VCPKG_TARGET_IS_IOS) - set(OPTIONS "${OPTIONS} --disable-audiotoolbox") # disable AudioToolbox on iOS +else() + set(OPTIONS "${OPTIONS} --disable-libmfx") endif() set(OPTIONS_CROSS " --enable-cross-compile") @@ -715,7 +704,6 @@ function(append_dependencies_from_libs out) list(TRANSFORM contents REPLACE "^-Wl,-framework," "-l") list(FILTER contents EXCLUDE REGEX "^-Wl,.+") list(TRANSFORM contents REPLACE "^-l" "") - list(FILTER contents EXCLUDE REGEX "^avresample$") list(FILTER contents EXCLUDE REGEX "^avutil$") list(FILTER contents EXCLUDE REGEX "^avcodec$") list(FILTER contents EXCLUDE REGEX "^avdevice$") @@ -724,7 +712,6 @@ function(append_dependencies_from_libs out) list(FILTER contents EXCLUDE REGEX "^postproc$") list(FILTER contents EXCLUDE REGEX "^swresample$") list(FILTER contents EXCLUDE REGEX "^swscale$") - list(FILTER contents EXCLUDE REGEX "^atomic$") if(VCPKG_TARGET_IS_WINDOWS) list(TRANSFORM contents TOLOWER) endif() @@ -797,8 +784,6 @@ extract_version_from_component(LIBAVFILTER_VERSION COMPONENT libavfilter) extract_version_from_component( LIBAVFORMAT_VERSION COMPONENT libavformat) -extract_version_from_component(LIBAVRESAMPLE_VERSION - COMPONENT libavresample) extract_version_from_component(LIBSWRESAMPLE_VERSION COMPONENT libswresample) extract_version_from_component(LIBSWSCALE_VERSION diff --git a/ports/ffmpeg/vcpkg.json b/ports/ffmpeg/vcpkg.json index 529258fda8cfde..49f981e71f973c 100644 --- a/ports/ffmpeg/vcpkg.json +++ b/ports/ffmpeg/vcpkg.json @@ -1,7 +1,6 @@ { "name": "ffmpeg", - "version": "4.4.3", - "port-version": 3, + "version": "5.0.0", "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." @@ -38,7 +37,6 @@ "avdevice", "avfilter", "avformat", - "avresample", "bzip2", "freetype", "iconv", diff --git a/versions/baseline.json b/versions/baseline.json index 9e830334ebb8b9..f419895e348b3d 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -2325,8 +2325,8 @@ "port-version": 5 }, "ffmpeg": { - "baseline": "4.4.3", - "port-version": 3 + "baseline": "5.0.0", + "port-version": 0 }, "ffnvcodec": { "baseline": "11.1.5.0", diff --git a/versions/f-/ffmpeg.json b/versions/f-/ffmpeg.json index 16e98a29ef9a55..d91e336a5934d0 100644 --- a/versions/f-/ffmpeg.json +++ b/versions/f-/ffmpeg.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "f9ec761c4698e9009ab1b2fcf9f8a59ce5995bde", + "version": "5.0.0", + "port-version": 0 + }, { "git-tree": "19a5928f7d1d0fd72837a29a54413b9fa53eb7da", "version": "4.4.3",