From 9ae13a2a47682cb0e796cdca38022ef37dbe5a00 Mon Sep 17 00:00:00 2001 From: Dominik 'Rathann' Mierzejewski Date: Fri, 8 Apr 2022 08:10:39 +0200 Subject: [PATCH] Enable OpenCL acceleration - be explicit about enabled external features in configure - enable gcrypt - drop duplicate CFLAGS and use Fedora LDFLAGS Merges: https://src.fedoraproject.org/rpms/ffmpeg/pull-request/3 --- ffmpeg.spec | 31 ++++++++++++++++++++++--- ffmpeg_free_sources | 55 +++++++++++++++++++++++++++++++++++++++++++++ sources | 2 +- 3 files changed, 84 insertions(+), 4 deletions(-) diff --git a/ffmpeg.spec b/ffmpeg.spec index 6808754..4db87b4 100644 --- a/ffmpeg.spec +++ b/ffmpeg.spec @@ -69,7 +69,7 @@ Name: ffmpeg %global pkg_name %{name}%{?pkg_suffix} Version: 5.0 -Release: 10%{?dist} +Release: 11%{?dist} Summary: A complete solution to record, convert and stream audio and video License: GPLv3+ URL: https://ffmpeg.org/ @@ -128,6 +128,7 @@ BuildRequires: lame-devel %ifnarch s390 s390x BuildRequires: libcrystalhd-devel %endif +BuildRequires: libgcrypt-devel BuildRequires: libmysofa-devel BuildRequires: make BuildRequires: nasm @@ -145,6 +146,7 @@ BuildRequires: pkgconfig(fontconfig) BuildRequires: pkgconfig(freetype2) BuildRequires: pkgconfig(frei0r) BuildRequires: pkgconfig(fribidi) +BuildRequires: pkgconfig(gl) BuildRequires: pkgconfig(gnutls) BuildRequires: pkgconfig(ilbc) BuildRequires: pkgconfig(jack) @@ -173,6 +175,7 @@ BuildRequires: pkgconfig(lilv-0) BuildRequires: pkgconfig(netcdf) BuildRequires: pkgconfig(ogg) BuildRequires: pkgconfig(openal) +BuildRequires: pkgconfig(OpenCL) BuildRequires: pkgconfig(opencv4) BuildRequires: pkgconfig(opus) BuildRequires: pkgconfig(rav1e) @@ -538,8 +541,8 @@ cp -a doc/examples/{*.c,Makefile,README} _doc/examples/ --libdir=%{_libdir} \ --mandir=%{_mandir} \ --arch=%{_target_cpu} \ - --optflags="%{optflags}" \ - --extra-cflags="%{build_cflags}" \ + --optflags="%{build_cflags}" \ + --extra-ldflags="%{build_ldflags}" \ --disable-htmlpages \ --enable-pic \ --disable-stripping \ @@ -549,9 +552,14 @@ cp -a doc/examples/{*.c,Makefile,README} _doc/examples/ --enable-version3 \ --enable-libsmbclient \ --disable-openssl \ + --enable-bzlib \ + --enable-frei0r \ + --enable-chromaprint \ + --enable-gcrypt \ --enable-gnutls \ --enable-ladspa \ %if %{with vulkan} + --enable-libglslang \ --enable-vulkan \ %endif --disable-cuda-sdk \ @@ -570,7 +578,9 @@ cp -a doc/examples/{*.c,Makefile,README} _doc/examples/ --enable-libfreetype \ --enable-libfribidi \ --enable-libgsm \ + --enable-libilbc \ --enable-libjack \ + --enable-libmodplug \ --enable-libmp3lame \ --enable-libmysofa \ --enable-libopenh264-dlopen \ @@ -579,7 +589,9 @@ cp -a doc/examples/{*.c,Makefile,README} _doc/examples/ --enable-libopus \ --enable-libpulse \ --enable-librav1e \ + --enable-librsvg \ --enable-librubberband \ + --enable-libsnappy \ %if %{with svtav1} --enable-libsvtav1 \ %endif @@ -587,6 +599,7 @@ cp -a doc/examples/{*.c,Makefile,README} _doc/examples/ --enable-libspeex \ --enable-libssh \ --enable-libsrt \ + --enable-libtesseract \ --enable-libtheora \ --enable-libtwolame \ --enable-libvidstab \ @@ -599,6 +612,7 @@ cp -a doc/examples/{*.c,Makefile,README} _doc/examples/ --enable-libwebp \ --enable-libxml2 \ --enable-libzimg \ + --enable-libzmq \ --enable-libzvbi \ %if %{with lto} --enable-lto \ @@ -625,6 +639,11 @@ cp -a doc/examples/{*.c,Makefile,README} _doc/examples/ %if %{with xvid} --enable-libxvid \ %endif + --enable-openal \ + --enable-opencl \ + --enable-opengl \ + --enable-pthreads \ + --enable-vapoursynth \ %if %{without all_codecs} --enable-muxers \ --enable-demuxers \ @@ -818,6 +837,12 @@ rm -rf %{buildroot}%{_datadir}/%{name}/examples %{_mandir}/man3/libswscale.3* %changelog +* Tue Apr 05 2022 Dominik Mierzejewski - 5.0-11 +- Enable OpenCL acceleration +- be explicit about enabled external features in configure +- enable gcrypt +- drop duplicate CFLAGS and use Fedora LDFLAGS + * Thu Mar 10 2022 Sandro Mani - 5.0-10 - Rebuild for tesseract 5.1.0 diff --git a/ffmpeg_free_sources b/ffmpeg_free_sources index 76984b6..54d3d1f 100644 --- a/ffmpeg_free_sources +++ b/ffmpeg_free_sources @@ -1317,6 +1317,8 @@ libavdevice/lavfi.c libavdevice/libavdevice.v libavdevice/libcdio.c libavdevice/libdc1394.c +libavdevice/openal-dec.c +libavdevice/opengl_enc.c libavdevice/opengl_enc_shaders.h libavdevice/oss.c libavdevice/oss.h @@ -1536,6 +1538,7 @@ libavfilter/f_select.c libavfilter/f_sendcmd.c libavfilter/f_sidedata.c libavfilter/f_streamselect.c +libavfilter/f_zmq.c libavfilter/fifo.c libavfilter/filters.h libavfilter/formats.c @@ -1570,6 +1573,22 @@ libavfilter/median.h libavfilter/median_template.c libavfilter/motion_estimation.c libavfilter/motion_estimation.h +libavfilter/opencl.c +libavfilter/opencl.h +libavfilter/opencl/avgblur.cl +libavfilter/opencl/colorkey.cl +libavfilter/opencl/colorspace_common.cl +libavfilter/opencl/convolution.cl +libavfilter/opencl/deshake.cl +libavfilter/opencl/neighbor.cl +libavfilter/opencl/nlmeans.cl +libavfilter/opencl/overlay.cl +libavfilter/opencl/pad.cl +libavfilter/opencl/tonemap.cl +libavfilter/opencl/transpose.cl +libavfilter/opencl/unsharp.cl +libavfilter/opencl/xfade.cl +libavfilter/opencl_source.h libavfilter/phase_template.c libavfilter/preserve_color.h libavfilter/psnr.h @@ -1610,6 +1629,8 @@ libavfilter/vf_amplify.c libavfilter/vf_aspect.c libavfilter/vf_atadenoise.c libavfilter/vf_avgblur.c +libavfilter/vf_avgblur_opencl.c +libavfilter/vf_avgblur_vulkan.c libavfilter/vf_bbox.c libavfilter/vf_bilateral.c libavfilter/vf_bitplanenoise.c @@ -1620,6 +1641,7 @@ libavfilter/vf_bm3d.c libavfilter/vf_boxblur.c libavfilter/vf_bwdif.c libavfilter/vf_cas.c +libavfilter/vf_chromaber_vulkan.c libavfilter/vf_chromakey.c libavfilter/vf_chromanr.c libavfilter/vf_chromashift.c @@ -1632,11 +1654,13 @@ libavfilter/vf_colorcontrast.c libavfilter/vf_colorcorrect.c libavfilter/vf_colorize.c libavfilter/vf_colorkey.c +libavfilter/vf_colorkey_opencl.c libavfilter/vf_colorlevels.c libavfilter/vf_colormatrix.c libavfilter/vf_colorspace.c libavfilter/vf_colortemperature.c libavfilter/vf_convolution.c +libavfilter/vf_convolution_opencl.c libavfilter/vf_convolve.c libavfilter/vf_copy.c libavfilter/vf_cover_rect.c @@ -1657,6 +1681,7 @@ libavfilter/vf_dejudder.c libavfilter/vf_delogo.c libavfilter/vf_derain.c libavfilter/vf_deshake.c +libavfilter/vf_deshake_opencl.c libavfilter/vf_despill.c libavfilter/vf_detelecine.c libavfilter/vf_displace.c @@ -1683,6 +1708,7 @@ libavfilter/vf_fieldmatch.c libavfilter/vf_fieldorder.c libavfilter/vf_fillborders.c libavfilter/vf_find_rect.c +libavfilter/vf_flip_vulkan.c libavfilter/vf_floodfill.c libavfilter/vf_format.c libavfilter/vf_fps.c @@ -1691,9 +1717,11 @@ libavfilter/vf_framerate.c libavfilter/vf_framestep.c libavfilter/vf_freezedetect.c libavfilter/vf_freezeframes.c +libavfilter/vf_frei0r.c libavfilter/vf_fspp.c libavfilter/vf_fspp.h libavfilter/vf_gblur.c +libavfilter/vf_gblur_vulkan.c libavfilter/vf_geq.c libavfilter/vf_gradfun.c libavfilter/vf_grayworld.c @@ -1743,18 +1771,24 @@ libavfilter/vf_morpho.c libavfilter/vf_mpdecimate.c libavfilter/vf_negate.c libavfilter/vf_neighbor.c +libavfilter/vf_neighbor_opencl.c libavfilter/vf_nlmeans.c libavfilter/vf_nlmeans.h +libavfilter/vf_nlmeans_opencl.c libavfilter/vf_nnedi.c libavfilter/vf_noise.c libavfilter/vf_noise.h libavfilter/vf_normalize.c libavfilter/vf_null.c +libavfilter/vf_ocr.c libavfilter/vf_overlay.c libavfilter/vf_overlay.h +libavfilter/vf_overlay_opencl.c libavfilter/vf_overlay_qsv.c +libavfilter/vf_overlay_vulkan.c libavfilter/vf_owdenoise.c libavfilter/vf_pad.c +libavfilter/vf_pad_opencl.c libavfilter/vf_palettegen.c libavfilter/vf_paletteuse.c libavfilter/vf_perspective.c @@ -1766,6 +1800,7 @@ libavfilter/vf_pp7.c libavfilter/vf_pp7.h libavfilter/vf_premultiply.c libavfilter/vf_procamp_vaapi.c +libavfilter/vf_program_opencl.c libavfilter/vf_pseudocolor.c libavfilter/vf_psnr.c libavfilter/vf_pullup.c @@ -1784,6 +1819,7 @@ libavfilter/vf_scale.c libavfilter/vf_scale_cuda.h libavfilter/vf_scale_qsv.c libavfilter/vf_scale_vaapi.c +libavfilter/vf_scale_vulkan.c libavfilter/vf_scdet.c libavfilter/vf_scroll.c libavfilter/vf_selectivecolor.c @@ -1815,11 +1851,15 @@ libavfilter/vf_tile.c libavfilter/vf_tinterlace.c libavfilter/vf_tmidequalizer.c libavfilter/vf_tonemap.c +libavfilter/vf_tonemap_opencl.c libavfilter/vf_tonemap_vaapi.c libavfilter/vf_tpad.c libavfilter/vf_transpose.c +libavfilter/vf_transpose_opencl.c libavfilter/vf_transpose_vaapi.c +libavfilter/vf_transpose_vulkan.c libavfilter/vf_unsharp.c +libavfilter/vf_unsharp_opencl.c libavfilter/vf_untile.c libavfilter/vf_v360.c libavfilter/vf_vaguedenoiser.c @@ -1839,6 +1879,7 @@ libavfilter/vf_waveform.c libavfilter/vf_weave.c libavfilter/vf_xbr.c libavfilter/vf_xfade.c +libavfilter/vf_xfade_opencl.c libavfilter/vf_xmedian.c libavfilter/vf_yadif.c libavfilter/vf_yaepblur.c @@ -1857,7 +1898,9 @@ libavfilter/vsrc_mandelbrot.c libavfilter/vsrc_mptestsrc.c libavfilter/vsrc_sierpinski.c libavfilter/vsrc_testsrc.c +libavfilter/vulkan.c libavfilter/vulkan.h +libavfilter/vulkan_filter.c libavfilter/vulkan_filter.h libavfilter/w3fdif.h libavfilter/window_func.h @@ -2034,6 +2077,7 @@ libavformat/cafenc.c libavformat/cavsvideodec.c libavformat/cdg.c libavformat/cdxl.c +libavformat/chromaprint.c libavformat/cinedec.c libavformat/codec2.c libavformat/concat.c @@ -2183,10 +2227,12 @@ libavformat/jvdec.c libavformat/kvag.c libavformat/latmenc.c libavformat/libavformat.v +libavformat/libmodplug.c libavformat/libopenmpt.c libavformat/libsmbclient.c libavformat/libsrt.c libavformat/libssh.c +libavformat/libzmq.c libavformat/lmlm4.c libavformat/loasdec.c libavformat/log2_tab.c @@ -2344,7 +2390,10 @@ libavformat/rso.h libavformat/rsodec.c libavformat/rsoenc.c libavformat/rtmp.h +libavformat/rtmpcrypt.c libavformat/rtmpcrypt.h +libavformat/rtmpdh.c +libavformat/rtmpdh.h libavformat/rtmpdigest.c libavformat/rtmphttp.c libavformat/rtmppkt.c @@ -2496,6 +2545,7 @@ libavformat/urldecode.h libavformat/utils.c libavformat/v210.c libavformat/vag.c +libavformat/vapoursynth.c libavformat/vc1dec.c libavformat/vc1test.c libavformat/vc1testenc.c @@ -2659,6 +2709,7 @@ libavutil/hwcontext_drm.h libavutil/hwcontext_dxva2.h libavutil/hwcontext_internal.h libavutil/hwcontext_mediacodec.h +libavutil/hwcontext_opencl.c libavutil/hwcontext_opencl.h libavutil/hwcontext_qsv.c libavutil/hwcontext_qsv.h @@ -2783,8 +2834,10 @@ libavutil/utils.c libavutil/version.h libavutil/video_enc_params.c libavutil/video_enc_params.h +libavutil/vulkan.c libavutil/vulkan.h libavutil/vulkan_functions.h +libavutil/vulkan_glslang.c libavutil/vulkan_loader.h libavutil/wchar_filename.h libavutil/x86/Makefile @@ -3031,6 +3084,7 @@ tests/fate/wma.mak tests/fate/xvid.mak tools/Makefile tools/aviocat.c +tools/cl2c tools/crypto_bench.c tools/cws2fws.c tools/decode_simple.c @@ -3052,3 +3106,4 @@ tools/sofa2wavs.c tools/trasher.c tools/uncoded_frame.c tools/venc_data_dump.c +tools/zmqsend.c diff --git a/sources b/sources index 2904f8a..ce2cccb 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -SHA512 (ffmpeg-free-5.0.tar.xz) = 6444ff05eb80544c8ab5f3a713c0765b953b447731ab24559549b2440ccee8888f45a379efd2975850f3ee32d78afe81ed4e639fddc7928d78248d70172a4eb3 +SHA512 (ffmpeg-free-5.0.tar.xz) = 3e725ba890db6ff5be5d0a5dbbe037c2cee4cca1f5ad03d3f2f5b4862b74eaab8adb43f5b730893e80bab1a1a84166141b11625411a69b8f0f9578a4268574c7 SHA512 (ffmpeg-5.0.tar.xz.asc) = 9238fcdc849895147a26669ac90fec94002af86e81270128f6eb0448d74487d8ba06ee08d10686a7a6e204689716ee744bfffc2a39466940940609cfcd7dfa85 SHA512 (ffmpeg-dlopen-headers.tar.xz) = ef47b5a8b5ef5c8c57b2372170ccda3fd6897572ab5aff5e3cd1dd3bbe1f892e42d9f89d1c159c79052a8ac57c42d4a2ebc8636d6f932df00b57f8010c5bfd3b SHA512 (ffmpeg.keyring) = 9b36506835db36f776b7ddb53ad6fa9e915e6ca2f9c7cfebe8eb45513e1036a985283590a840ca313a111bf35dc3731f68885aaafb1fb7011ec433cc119e5165