[packages/vlc] - updated to 3.0.7.1 - added fdk_aac patch (fdk-aac 2.0.0 compatibility) - bpg, daala, libplacebo su
qboosh
qboosh at pld-linux.org
Tue Aug 6 21:01:09 CEST 2019
commit 3fbd592c9dd2caf63b0bf6a1b286e9f1f4b74e86
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date: Tue Aug 6 21:03:06 2019 +0200
- updated to 3.0.7.1
- added fdk_aac patch (fdk-aac 2.0.0 compatibility)
- bpg, daala, libplacebo support (daala disabled by default, experimental)
vlc-fdk_aac.patch | 75 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
vlc.spec | 49 +++++++++++++++++++++++++++---------
2 files changed, 112 insertions(+), 12 deletions(-)
---
diff --git a/vlc.spec b/vlc.spec
index 0601eb7..7b14877 100644
--- a/vlc.spec
+++ b/vlc.spec
@@ -13,13 +13,17 @@
# - OSSO_SCREENSAVER (libosso.pc - Maemo platform)
# - mce (Maemo platform)
# - x262
+# - x26410b (x264 >= 0.153)
+# - evas (ecore >= 1.16)
#
# Conditional build:
%bcond_without aalib # aalib video output plugin
%bcond_without alsa # ALSA access/audio output plugins
%bcond_without bonjour # bonjour service discovery plugin
+%bcond_without bpg # BPG files support
%bcond_without caca # caca video output plugin
%bcond_without crystalhd # crystalhd codec plugin
+%bcond_with daala # daala codec plugin (experimental)
%bcond_with decklink # Blackmagic DeskLink output support (BR: proprietary SDK)
%bcond_without dv # dv access plugins
%bcond_with fdk_aac # FDK-AAC encoder plugin (GPL 3 incompatible; enable as subpackage?)
@@ -30,6 +34,7 @@
%bcond_without jack # jack access/audio output plugin
%bcond_without kde # KDE Solid actions
%bcond_without lirc # lirc control plugin
+%bcond_without libplacebo # libplacebo support in gl plugin
%bcond_without live # live555 demuxer plugin
%bcond_with mfx # Intel QuickSync MPEG4-Part10/MPEG2 (H.264/H.262) encoder
%bcond_without notify # libnotify notification plugin
@@ -63,17 +68,18 @@
Summary: VLC - a multimedia player and stream server
Summary(pl.UTF-8): VLC - odtwarzacz multimedialny oraz serwer strumieni
Name: vlc
-Version: 3.0.7
-Release: 2
+Version: 3.0.7.1
+Release: 1
License: GPL v2+
Group: X11/Applications/Multimedia
Source0: http://download.videolan.org/pub/videolan/vlc/%{version}/%{name}-%{version}.tar.xz
-# Source0-md5: 230932ec40185856af28f82ec2e38b8a
+# Source0-md5: 1adf2fe21070378b0e45ad163d3b232d
Patch0: %{name}-buildflags.patch
Patch1: %{name}-tremor.patch
Patch2: %{name}-mpc.patch
Patch3: xmas-sucks.patch
Patch4: no-cache.patch
+Patch5: %{name}-fdk_aac.patch
URL: http://www.videolan.org/vlc/
# 1.0 for X11 or GLESv1, 1.1 for GLESv2
BuildRequires: EGL-devel >= %{?with_glesv2:1.1}%{!?with_glesv2:1.0}
@@ -97,6 +103,7 @@ BuildRequires: autoconf >= 2.60
BuildRequires: automake
%{?with_bonjour:BuildRequires: avahi-devel >= 0.6}
%{?with_svg:BuildRequires: cairo-devel >= 1.13.1}
+%{?with_daala:BuildRequires: daala-devel}
BuildRequires: dav1d-devel
BuildRequires: dbus-devel >= 1.6.0
%{?with_decklink:BuildRequires: Blackmagic_DeckLink_SDK}
@@ -115,7 +122,7 @@ BuildRequires: game-music-emu-devel
BuildRequires: gettext-tools >= 0.19.8
%{?with_gnutls:BuildRequires: gnutls-devel >= 3.3.6}
BuildRequires: gstreamer-plugins-base-devel >= 1.0
-%{?with_notify:BuildRequires: gtk+2-devel >= 2.0}
+%{?with_notify:BuildRequires: gtk+3-devel >= 3.0}
BuildRequires: harfbuzz-devel
# >= 0.120.1 < 1.0 or >= 1.9.7
%{?with_jack:BuildRequires: jack-audio-connection-kit-devel >= 0.120.1}
@@ -124,6 +131,7 @@ BuildRequires: libarchive-devel >= 3.1.0
BuildRequires: libass-devel >= 0.9.8
%{?with_dv:BuildRequires: libavc1394-devel >= 0.5.3}
BuildRequires: libbluray-devel >= 0.6.2
+%{?with_bpg:BuildRequires: libbpg-devel}
%{?with_caca:BuildRequires: libcaca-devel >= 0.99-0.beta14}
BuildRequires: libcddb-devel >= 0.9.5
BuildRequires: libcdio-devel >= 0.78.2
@@ -145,13 +153,13 @@ BuildRequires: libmad-devel
BuildRequires: libmatroska-devel >= 1.0.0
# >= 0.8.4 but not 0.8.8
BuildRequires: libmodplug-devel >= 0.8.4
-BuildRequires: musepack-devel
BuildRequires: libmpeg2-devel > 0.3.2
BuildRequires: libmpg123-devel
BuildRequires: libmtp-devel >= 1.0.0
%{?with_notify:BuildRequires: libnotify-devel}
BuildRequires: libnfs-devel >= 1.10.0
BuildRequires: libogg-devel >= 1:1.0
+%{?with_libplacebo:BuildRequires: libplacebo-devel >= 0.2.1}
BuildRequires: libpng-devel
%{?with_projectM:BuildRequires: libprojectM-devel >= 2.0.1-3}
BuildRequires: libproxy-devel
@@ -162,7 +170,6 @@ BuildRequires: libsecret-devel >= 0.18
%{?with_shout:BuildRequires: libshout-devel >= 2.1}
BuildRequires: libsidplay2-devel
%{?with_smb:BuildRequires: libsmbclient-devel >= 3.6.13}
-BuildRequires: spatialaudio-devel
%{?with_sftp:BuildRequires: libssh2-devel}
BuildRequires: libstdc++-devel
BuildRequires: libtar-devel
@@ -179,7 +186,7 @@ BuildRequires: libvdpau-devel >= 0.6
BuildRequires: libvncserver-devel >= 0.9.9
BuildRequires: libvorbis-devel >= 1:1.1
BuildRequires: libvpx-devel >= 1.5.0
-# x264.pc >= 0.86
+# x264.pc >= 0.148
%{?with_x264:BuildRequires: libx264-devel >= 0.1.3-1.20190110_2245.1}
%{?with_x265:BuildRequires: libx265-devel}
# xcb >= 1.6, xcb-shm, xcb-composite, xcb-xv >= 1.1.90.1, xcb-randr >= 1.3
@@ -192,6 +199,7 @@ BuildRequires: lua52-devel >= 5.2
%{?with_mfx:BuildRequires: mfx_dispatch-devel}
BuildRequires: microdns-devel
BuildRequires: minizip-devel
+BuildRequires: musepack-devel
BuildRequires: ncurses-devel
%{?with_opencv:BuildRequires: opencv-devel > 2.0}
BuildRequires: opus-devel >= 1.0.3
@@ -202,10 +210,12 @@ BuildRequires: qt5-build >= %{qt_ver}
BuildRequires: schroedinger-devel >= 1.0.10
BuildRequires: shine-devel >= 3.0.0
BuildRequires: soxr-devel >= 0.1.2
+BuildRequires: spatialaudio-devel
%{?with_speex:BuildRequires: speex-devel > 1:1.1.0}
%{?with_speex:BuildRequires: speexdsp-devel >= 1.2}
+BuildRequires: srt-devel >= 1.2.2
BuildRequires: sysfsutils-devel
-BuildRequires: systemd-devel
+BuildRequires: systemd-devel >= 1:209
BuildRequires: taglib-devel >= 1.9
BuildRequires: tremor-devel
%{?with_twolame:BuildRequires: twolame-devel}
@@ -354,6 +364,7 @@ Akcje klienta VLC dla Solid.
%patch3 -p1
%endif
%patch4 -p1
+%patch5 -p1
%build
%{__libtoolize}
@@ -383,8 +394,10 @@ Akcje klienta VLC dla Solid.
--enable-aom \
--enable-avcodec \
%{!?with_bonjour:--disable-bonjour} \
+ %{?with_bpg:--enable-bpg} \
--enable-caca%{!?with_caca:=no} \
--enable-crystalhd%{!?with_crystalhd:=no} \
+ %{?with_daala:--enable-daala} \
--enable-dbus \
--enable-decklink%{!?with_decklink:=no} \
--enable-dv1394%{!?with_dv:=no} \
@@ -401,6 +414,7 @@ Akcje klienta VLC dla Solid.
%{?with_glesv2:--enable-gles2} \
%{!?with_gnutls:--disable-gnutls} \
%{?with_jack:--enable-jack} \
+ %{!?with_libplacebo:--disable-libplacebo} \
--enable-lirc%{!?with_lirc:=no} \
--enable-mad \
--enable-libva \
@@ -514,7 +528,6 @@ rm -rf $RPM_BUILD_ROOT
%dir %{_libdir}/vlc/plugins
%ghost %{_libdir}/vlc/plugins/plugins.dat
%dir %{_libdir}/vlc/plugins/access
-%attr(755,root,root) %{_libdir}/vlc/plugins/access/libaccess_srt_plugin.so
%if %{with alsa}
# R: alsa-lib >= 1.0.24
%attr(755,root,root) %{_libdir}/vlc/plugins/access/libaccess_alsa_plugin.so
@@ -532,6 +545,8 @@ rm -rf $RPM_BUILD_ROOT
%attr(755,root,root) %{_libdir}/vlc/plugins/access/libaccess_oss_plugin.so
%endif
%attr(755,root,root) %{_libdir}/vlc/plugins/access/libaccess_realrtsp_plugin.so
+# R: srt >= 1.2.2
+%attr(755,root,root) %{_libdir}/vlc/plugins/access/libaccess_srt_plugin.so
%attr(755,root,root) %{_libdir}/vlc/plugins/access/libattachment_plugin.so
# R: ffmpeg-libs (libavformat >= 53.21.0 libavcodec libavutil)
%attr(755,root,root) %{_libdir}/vlc/plugins/access/libavio_plugin.so
@@ -566,6 +581,7 @@ rm -rf $RPM_BUILD_ROOT
%if %{with decklink}
%attr(755,root,root) %{_libdir}/vlc/plugins/access/libdecklink_plugin.so
%endif
+# R: libdsm
%attr(755,root,root) %{_libdir}/vlc/plugins/access/libdsm_plugin.so
%attr(755,root,root) %{_libdir}/vlc/plugins/access/libdtv_plugin.so
%attr(755,root,root) %{_libdir}/vlc/plugins/access/libdvb_plugin.so
@@ -602,13 +618,14 @@ rm -rf $RPM_BUILD_ROOT
%attr(755,root,root) %{_libdir}/vlc/plugins/access_output/libaccess_output_dummy_plugin.so
%attr(755,root,root) %{_libdir}/vlc/plugins/access_output/libaccess_output_file_plugin.so
%attr(755,root,root) %{_libdir}/vlc/plugins/access_output/libaccess_output_http_plugin.so
-%attr(755,root,root) %{_libdir}/vlc/plugins/access_output/libaccess_output_srt_plugin.so
# R: libgcrypt >= 1.1.94
%attr(755,root,root) %{_libdir}/vlc/plugins/access_output/libaccess_output_livehttp_plugin.so
%if %{with shout}
# R: shout >= 2.1
%attr(755,root,root) %{_libdir}/vlc/plugins/access_output/libaccess_output_shout_plugin.so
%endif
+# R: srt >= 1.2.2
+%attr(755,root,root) %{_libdir}/vlc/plugins/access_output/libaccess_output_srt_plugin.so
%attr(755,root,root) %{_libdir}/vlc/plugins/access_output/libaccess_output_udp_plugin.so
%dir %{_libdir}/vlc/plugins/audio_filter
%attr(755,root,root) %{_libdir}/vlc/plugins/audio_filter/libspatialaudio_plugin.so
@@ -663,9 +680,12 @@ rm -rf $RPM_BUILD_ROOT
%attr(755,root,root) %{_libdir}/vlc/plugins/codec/libaom_plugin.so
%attr(755,root,root) %{_libdir}/vlc/plugins/codec/libadpcm_plugin.so
%attr(755,root,root) %{_libdir}/vlc/plugins/codec/libaraw_plugin.so
+# R: aribb24
%attr(755,root,root) %{_libdir}/vlc/plugins/codec/libaribsub_plugin.so
# R: ffmpeg-libs (libavcodec >= 54.34.0 libavutil >= 51.22.0)
%attr(755,root,root) %{_libdir}/vlc/plugins/codec/libavcodec_plugin.so
+# R: libbpg
+%attr(755,root,root) %{_libdir}/vlc/plugins/codec/libbpg_plugin.so
%attr(755,root,root) %{_libdir}/vlc/plugins/codec/libcc_plugin.so
%attr(755,root,root) %{_libdir}/vlc/plugins/codec/libcdg_plugin.so
%if %{with crystalhd}
@@ -887,7 +907,7 @@ rm -rf $RPM_BUILD_ROOT
%if %{with notify}
%dir %{_libdir}/vlc/plugins/notify
-# R: libnotify gtk+2
+# R: libnotify gtk+3
%attr(755,root,root) %{_libdir}/vlc/plugins/notify/libnotify_plugin.so
%endif
@@ -914,6 +934,7 @@ rm -rf $RPM_BUILD_ROOT
%attr(755,root,root) %{_libdir}/vlc/plugins/services_discovery/libavahi_plugin.so
%endif
%attr(755,root,root) %{_libdir}/vlc/plugins/services_discovery/libmediadirs_plugin.so
+# R: microdns
%attr(755,root,root) %{_libdir}/vlc/plugins/services_discovery/libmicrodns_plugin.so
# R: libmtp >= 1.0.0
%attr(755,root,root) %{_libdir}/vlc/plugins/services_discovery/libmtp_plugin.so
@@ -943,6 +964,7 @@ rm -rf $RPM_BUILD_ROOT
%attr(755,root,root) %{_libdir}/vlc/plugins/stream_extractor/libarchive_plugin.so
%dir %{_libdir}/vlc/plugins/stream_filter
%attr(755,root,root) %{_libdir}/vlc/plugins/stream_filter/libadf_plugin.so
+# R: aribb25 >= 0.2.6
%attr(755,root,root) %{_libdir}/vlc/plugins/stream_filter/libaribcam_plugin.so
%attr(755,root,root) %{_libdir}/vlc/plugins/stream_filter/libcache_block_plugin.so
%attr(755,root,root) %{_libdir}/vlc/plugins/stream_filter/libcache_read_plugin.so
@@ -1048,8 +1070,11 @@ rm -rf $RPM_BUILD_ROOT
%attr(755,root,root) %{_libdir}/vlc/plugins/video_filter/libmotionblur_plugin.so
%attr(755,root,root) %{_libdir}/vlc/plugins/video_filter/libmotiondetect_plugin.so
%attr(755,root,root) %{_libdir}/vlc/plugins/video_filter/liboldmovie_plugin.so
+%if %{with opencv}
+# R: opencv
%attr(755,root,root) %{_libdir}/vlc/plugins/video_filter/libopencv_example_plugin.so
%attr(755,root,root) %{_libdir}/vlc/plugins/video_filter/libopencv_wrapper_plugin.so
+%endif
%attr(755,root,root) %{_libdir}/vlc/plugins/video_filter/libposterize_plugin.so
# R: ffmpeg-libs (libpostproc libavutil)
%attr(755,root,root) %{_libdir}/vlc/plugins/video_filter/libpostproc_plugin.so
@@ -1145,7 +1170,7 @@ rm -rf $RPM_BUILD_ROOT
%endif
# R: EGL, xorg-lib-libX11
%attr(755,root,root) %{_libdir}/vlc/plugins/video_output/libegl_x11_plugin.so
-# R: OpenGL
+# R: OpenGL %{?with_libplacebo:libplacebo >= 0.2.1}
%attr(755,root,root) %{_libdir}/vlc/plugins/video_output/libgl_plugin.so
%attr(755,root,root) %{_libdir}/vlc/plugins/video_output/libglx_plugin.so
%attr(755,root,root) %{_libdir}/vlc/plugins/video_output/libxcb_window_plugin.so
diff --git a/vlc-fdk_aac.patch b/vlc-fdk_aac.patch
new file mode 100644
index 0000000..416c12d
--- /dev/null
+++ b/vlc-fdk_aac.patch
@@ -0,0 +1,75 @@
+Based on ffmpeg patch:
+
+From: Martin Storsjö <martin at martin.st>
+Date: Fri, 31 Aug 2018 11:25:30 +0000 (+0300)
+Subject: libfdk-aacenc: Fix building with libfdk-aac v2
+X-Git-Url: https://git.libav.org/?p=libav.git;a=commitdiff_plain;h=141c960e21d2860e354f9b90df136184dd00a9a8;hp=c8bca9fe466f810fd484e2c6db7ef7bc83b5a943
+
+libfdk-aacenc: Fix building with libfdk-aac v2
+
+When flushing the encoder, we now need to provide non-null buffer
+parameters for everything, even if they are unused.
+
+The encoderDelay parameter has been replaced by two, nDelay and
+nDelayCore.
+
+
+--- vlc-3.0.7.1/modules/codec/fdkaac.c.orig 2019-08-04 19:40:15.759796884 +0200
++++ vlc-3.0.7.1/modules/codec/fdkaac.c 2019-08-04 19:50:16.323210020 +0200
+@@ -59,6 +59,11 @@
+ #include <vlc_plugin.h>
+ #include <vlc_codec.h>
+
++#define FDKENC_VER_AT_LEAST(vl0, vl1) \
++ (defined(AACENCODER_LIB_VL0) && \
++ ((AACENCODER_LIB_VL0 > vl0) || \
++ (AACENCODER_LIB_VL0 == vl0 && AACENCODER_LIB_VL1 >= vl1)))
++
+ static int OpenEncoder(vlc_object_t *);
+ static void CloseEncoder(vlc_object_t *);
+
+@@ -288,7 +293,11 @@
+ p_sys->i_maxoutputsize = 768*p_enc->fmt_in.audio.i_channels;
+ p_enc->fmt_in.audio.i_bitspersample = 16;
+ p_sys->i_frame_size = info.frameLength;
++#if FDKENC_VER_AT_LEAST(4, 0)
++ p_sys->i_encoderdelay = info.nDelay;
++#else
+ p_sys->i_encoderdelay = info.encoderDelay;
++#endif
+
+ p_enc->fmt_out.i_extra = info.confSize;
+ if (p_enc->fmt_out.i_extra) {
+@@ -353,21 +362,26 @@
+ int out_identifier = OUT_BITSTREAM_DATA;
+ int out_size, out_elem_size;
+ void *in_ptr, *out_ptr;
++ char dummy_buf[1];
+
+ if (unlikely(i_samples == 0)) {
++ /* Must be a non-null pointer, even if it's a dummy. */
++ in_ptr = dummy_buf;
++ in_size = 0;
+ // this forces the encoder to purge whatever is left in the internal buffer
+ in_args.numInSamples = -1;
+ } else {
+ in_ptr = p_buffer + (i_samples - i_samples_left)*p_enc->fmt_in.audio.i_channels;
+ in_size = 2*p_enc->fmt_in.audio.i_channels*i_samples_left;
+- in_elem_size = 2;
+ in_args.numInSamples = p_enc->fmt_in.audio.i_channels*i_samples_left;
+- in_buf.numBufs = 1;
+- in_buf.bufs = &in_ptr;
+- in_buf.bufferIdentifiers = &in_identifier;
+- in_buf.bufSizes = &in_size;
+- in_buf.bufElSizes = &in_elem_size;
+ }
++ in_elem_size = 2;
++ in_buf.numBufs = 1;
++ in_buf.bufs = &in_ptr;
++ in_buf.bufferIdentifiers = &in_identifier;
++ in_buf.bufSizes = &in_size;
++ in_buf.bufElSizes = &in_elem_size;
++
+ block_t *p_block;
+ p_block = block_Alloc(p_sys->i_maxoutputsize);
+ p_block->i_buffer = p_sys->i_maxoutputsize;
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/vlc.git/commitdiff/3fbd592c9dd2caf63b0bf6a1b286e9f1f4b74e86
More information about the pld-cvs-commit
mailing list