# # spec file for package libvpx # # Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # %define soname 3 %define version_unconverted 1.6.0~pre20160318 Name: libvpx Version: 1.6.0~pre20160318 Release: 1.2 Summary: VP8 codec library License: BSD-3-Clause and GPL-2.0+ Group: Productivity/Multimedia/Other Url: http://www.webmproject.org/ # Source0: http://storage.googleapis.com/downloads.webmproject.org/releases/webm/libvpx-%{version}.tar.xz Source0: libvpx-%{version}.tar.xz Source1000: baselibs.conf Patch0: libvpx-pkgconfig-version.patch # PATCH-FIX-UPSTREAM libvpx-define-config_pic.patch dimstar@opensuse.org -- For older compilers, CONFIG_PIC need to be defined. Patch1: libvpx-define-config_pic.patch Patch2: libvpx-configure-add-s390.patch Patch4: libvpx-armv7-use-hard-float.patch # Needed to be able to create pkgconfig() provides. BuildRequires: pkg-config BuildRequires: yasm # For unit tests Source1: test-data.sha1 BuildRequires: gcc-c++ # add curl and do not copy it in to get an updated test-data.sha1 file #BuildRequires: curl BuildRoot: %{_tmppath}/%{name}-%{version}-build %description WebM is an open, royalty-free, media file format designed for the web. WebM defines the file container structure, video and audio formats. WebM files consist of video streams compressed with the VP8 video codec and audio streams compressed with the Vorbis audio codec. The WebM file structure is based on the Matroska container. %package -n vpx-tools Summary: VP8 codec library - Utilities License: BSD-3-Clause and GPL-2.0+ Group: Productivity/Multimedia/Other %description -n vpx-tools This package contains utilities around the vp8 codec sdk. WebM is an open, royalty-free, media file format designed for the web. WebM defines the file container structure, video and audio formats. WebM files consist of video streams compressed with the VP8 video codec and audio streams compressed with the Vorbis audio codec. The WebM file structure is based on the Matroska container. %package -n %{name}%{soname} Summary: VP8 codec library License: BSD-3-Clause Group: System/Libraries %description -n %{name}%{soname} WebM is an open, royalty-free, media file format designed for the web. WebM defines the file container structure, video and audio formats. WebM files consist of video streams compressed with the VP8 video codec and audio streams compressed with the Vorbis audio codec. The WebM file structure is based on the Matroska container. %package devel Summary: VP8 codec library - Development headers License: BSD-3-Clause and GPL-2.0+ Group: Development/Languages/C and C++ Requires: %{name}%{soname} = %{version} %description devel Development headers and library WebM is an open, royalty-free, media file format designed for the web. WebM defines the file container structure, video and audio formats. WebM files consist of video streams compressed with the VP8 video codec and audio streams compressed with the Vorbis audio codec. The WebM file structure is based on the Matroska container. %prep %setup -q %patch0 -p1 %patch1 -p0 %patch2 -p0 %patch4 -p0 cp %{S:1} test/ %build %if 0%{?suse_version} < 1310 sed -i~ /ssse3/d configure sed -i~ 's@ssse3@@' build/make/rtcd.pl %endif cd build # It is only an emulation of autotools configure; the macro does not work # libvpx default enable NEON support on ARMv7, unfortunately some ARMv7 # CPU doesn't have NEON, e.g. NVIDIA Tegra 2. # So, we still set -mfpu=neon when build libvpx rpm, but also enable # runtime-cpu-detect for runtime detect NEON. ../configure \ --prefix=%{_prefix} \ --libdir=%{_libdir} \ --enable-unit-tests \ --enable-debug \ --enable-shared \ %ifarch armv5tel armv5el --target=armv5te-linux-gcc \ %endif %ifarch armv7l armv7hl --target=armv7-linux-gcc \ --enable-runtime-cpu-detect \ %endif --extra-cflags="-std=gnu89 -U_FORTIFY_SOURCE %{optflags}" \ --extra-cxxflags="-U_FORTIFY_SOURCE %{optflags}" \ --enable-pic make %{?_smp_mflags} %install cd build make DESTDIR=%buildroot install # Remove static library, should not be used on openSUSE to avoid efforts on # (security) updates rm %{buildroot}%{_libdir}/libvpx.a %clean #rm -rf %{buildroot} %post -n %{name}%{soname} -p /sbin/ldconfig %postun -n %{name}%{soname} -p /sbin/ldconfig %files -n vpx-tools %defattr(-,root,root) %{_bindir}/* %files -n %{name}%{soname} %defattr(-, root, root) %doc LICENSE AUTHORS README CHANGELOG %{_libdir}/libvpx.so.* %files devel %defattr(-,root,root) %{_includedir}/vpx/ %{_libdir}/pkgconfig/vpx.pc %{_libdir}/libvpx.so %changelog * Tue Mar 22 2016 olaf@aepfle.de - Fix build in SLE_11 by disabling ssse3 - Fix vpc.pc version with libvpx-pkgconfig-version.patch * Tue Mar 22 2016 adrian@suse.de - Update to current upstream version to fix CVE-2016-1621 (bnc#972021) - enable test suite during build - From official Changelog: - Incompatible changes: The VP9 encoder's default keyframe interval changed to 128 from 9999. - Drop libvpx-disable-cross-for-arm.patch * Sat Dec 19 2015 joerg.lorenzen@ki.tng.de - Update to version 1.5.0 + This release improves upon the VP9 encoder and speeds up the encoding and decoding processes. + Upgrading: This release is ABI incompatible with 1.4.0. It drops deprecated VP8 controls and adds a variety of VP9 controls for testing. The vpxenc utility now prefers VP9 by default. + Enhancements: Faster VP9 encoding and decoding. Smaller library size by combining functions used by VP8 and VP9. + Bug Fixes: A variety of fuzzing issues. - Fixed libvpx-configure-add-s390.patch and changed baselibs.conf to libvpx3. - Removed uneeded servive file. * Tue May 12 2015 joerg.lorenzen@ki.tng.de - Update to version 1.4.0 + This release includes significant improvements to the VP9 codec. + Upgrading: This release is ABI incompatible with 1.3.0. It drops the compatibility layer, requiring VPX_IMG_FMT_* instead of IMG_FMT_*, and adds several codec controls for VP9. + Enhancements: Faster VP9 encoding and decoding. Multithreaded VP9 decoding (tile and frame-based). Multithreaded VP9 encoding - on by default. YUV 4:2:2 and 4:4:4 support in VP9. 10 and 12bit support in VP9. 64bit ARM support by replacing ARM assembly with intrinsics. + Bug Fixes: Fixes a VP9 bitstream issue in Profile 1. This only affected non-YUV 4:2:0 files. + Known Issues: Frame Parallel decoding fails for segmented and non-420 files. - Fixed all patches and changed baselibs.conf to libvpx2. * Mon Feb 23 2015 idonmez@suse.com - Add baselibs.conf as source * Mon Feb 23 2015 rguenther@suse.com - Build with -std=gnu89 to deal with GCC 5 defaulting to -std=gnu11 and the C11 stddef.h providing a max_align_t that conflicts with the one provided by nestegg/halloc/src/align.h. * Tue Dec 10 2013 hrvoje.senjan@gmail.com - Update to version 1.3.0 + This release is ABI and API compatible with Duclair (v1.0.0). + This release introduces the VP9 codec in a backward-compatible way. All existing users of VP8 can continue to use the library without modification. However, some VP8 options do not map to VP9 in the same manner. + Enhancements: - Get rid of bashisms in the main build scripts - Added usage info on command line options - Add lossless compression mode - Dll build of libvpx - Add additional Mac OS X targets: 10.7, 10.8 and 10.9 - Add option to disable documentation - configure: add --enable-external-build support - make: support V=1 as short form of verbose=yes - configure: support mingw-w64 - configure: support hardfloat armv7 CHOSTS - configure: add support for android x86 - Add estimated completion time to vpxenc - Don't exit on decode errors in vpxenc - vpxenc: support scaling prior to encoding - vpxdec: support scaling output - vpxenc: improve progress indicators with --skip - msvs: Don't link to winmm.lib - Add a new script for producing vcxproj files - Produce Visual Studio 10 and 11 project files - Produce Windows Phone project files - msvs-build: use msbuild for vs >= 2005 - configure: default configure log to config.log - Add encoding option --static-thresh + Speed: - Miscellaneous speed optimizations for VP8 and VP9. + Quality: - In general, quality is consistent with the Eider release. + Bug Fixes: - This release represents approximately a year of engineering effort, and contains multiple bug fixes. Please refer to git history for details. - Rebase libvpx-armv7-use-hard-float.patch and libvpx-configure-add-s390.patch to this release - Droped version_1.1.0_to_1.2.0.diff - Added xz BuildRequires - Remove Source URL, as the tarball is not available at that place - Tarball is generated from v1.3.0 tag * Mon Jan 28 2013 adrian@suse.de - update to version 1.2.0 - doing it via patch due to lacking release tar ball - From release notes: - full api and abi compatible to 1.x release line - Enhancements: VP8 optimizations for MIPS dspr2 vpxenc: add -quiet option - Speed: Encoder and decoder speed is consistent with the Eider release. - Quality: In general, quality is consistent with the Eider release. Minor tweaks to ARNR filtering Minor improvements to real time encoding with multiple temporal layers - Bug Fixes: Fixes multithreaded encoder race condition in loopfilter Fixes multi-resolution threaded encoding Fix potential encoder dead-lock after picture resize * Mon Dec 10 2012 guillaume@opensuse.org - Fix ARM builds + Removed old unused patch (libvpx-configure-add-armv7-tgt-isa.patch) + Add new patches for ARM: - libvpx-disable-cross-for-arm.patch: to fix toolchain names for ARM - libvpx-armv7-use-hard-float.patch: to fix float abi for armv7 * Tue Sep 18 2012 dimstar@opensuse.org - Update to version 1.1.0: + Enhancements: - Adds a motion compensated temporal denoiser to the encoder - support for new compilers and platforms were added - Changing resolution with vpx_codec_enc_config_set() is now supported + Improved performance + Bugs fixed - Changes from version 1.0.0: + Enhancements: - This release introduces several substantial new features to the encoder, of particular interest to real time streaming applications. + Improved performance + Encoder quality in the single stream case is consistent with the Cayuga release. + Bug fixes - Rename libvpx0 to libvpx1, following upstreams soname bump (also in baselibs.conf) - Add pkg-config BuildRequires: as we provide a .pc file, we need pkg-config to be able to create the pkgconfig() provides (automatically). - libvpx-configure-add-armv7-tgt-isa.patch currently disabled: needs more work. * Tue Nov 29 2011 ro@suse.de - make it build on s390/s390x * Sat Oct 15 2011 jlee@suse.com - support build libvpx on armv7hl architecture * add libvpx-configure-add-armv7-tgt-isa.patch * add armv7-linux-gcc target and enable runtime cpu detect when configure. It both support ARMv7 cpu with or without NEON. e.g. NVIDIA Tegra 2 * Wed Aug 24 2011 adrian@suse.de - update to version 0.9.7 patchlevel 1 * speed and quality optimizations (see CHANGELOG file) * bugfixes (see CHANGELOG file) * provides pkgconfig file * Thu Apr 14 2011 toddrme2178@gmail.com - added 32bit compatibility libraries * Wed Mar 9 2011 adrian@suse.de - update to version 0.9.6 + speed and picture quality improvements * Sat Feb 12 2011 dimstar@opensuse.org - Use make_install instead of makeinstall: has the side effect of fixing Fedora builds. * Wed Dec 1 2010 adrian@suse.de - update to version 0.9.5, find details in CHANGES file + reworked command line utils + lib has general big speed and quality improvements + hardware acceleration via MMX and SSE is supported if available + bugfixes * Mon Sep 13 2010 vuntz@opensuse.org - Fix license tags: libvpx0 has no GPLv2+ code and should be BSD3c only. Update the other tags to mention BSD3c instead of "BSD-style license", which is something license.opensuse.org doesn't know. * Tue Aug 24 2010 dimstar@opensuse.org - Update to version 0.9.1: + Enhancements: - ivfenc/ivfdec now support YUV4MPEG2 input and pipe I/O - Speed optimizations + Bugfixes: - Rate control - Prevent out-of-bounds accesses on invalid data + Build system updates: - Detect toolchain to be used automatically for native builds - Support building shared libraries - Better autotools emulation (--prefix, --libdir, DESTDIR) - Pass --enable-pic, enable-shared & --enable-debug to configure - Split out libvpx0 according SLPP. - Drop upstream.diff (merged) - Rename buildfix.diff to libvpx-define-config_pic.patch and tag the patch line. - clean spec-file (spec-cleaner). * Fri Jun 4 2010 tittiatcoke@gmail.com - Initial package * based on the latest svn snapshot * Included patch to fix build for openSUSE <= 11.2