# # spec file for package libx264 # # Copyright (c) 2024 Packman Team # Copyright (c) 2017 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 https://bugs.links2linux.org/ # # remember to adjust baselibs.conf %define sover 164 %bcond_with gpac %define build_flavor x264%{nil} %define tag libx264 %if "%{build_flavor}" == "" %define pkg %{tag} %else %define pkg %{tag}-%{build_flavor} %endif Name: %{pkg} Version: 0.164+git20231001.31e19f92 Release: 1699.1.pm.4 %if "%{build_flavor}" == "" Summary: A free h264/avc encoder %else Summary: Command line tool for libx264 %endif License: GPL-2.0-or-later Group: Productivity/Multimedia/Video/Editors and Convertors URL: http://www.videolan.org/developers/x264.html Source: x264-%{version}.tar.xz Source1: baselibs.conf BuildRequires: nasm >= 2.13 BuildRequires: pkgconfig BuildRequires: yasm >= 1.2.0 %if "%{build_flavor}" == "x264" BuildRequires: pkgconfig(x264) == %{version} %if %{with gpac} BuildRequires: pkgconfig(gpac) %else BuildRequires: pkgconfig(liblsmash) %endif BuildRequires: pkgconfig(ffms2) BuildRequires: pkgconfig(libavcodec) BuildRequires: pkgconfig(libavformat) BuildRequires: pkgconfig(libavutil) BuildRequires: pkgconfig(libswscale) BuildRequires: pkgconfig(zlib) %endif %description x264 is a free library for encoding next-generation H264/AVC video streams. The code is written from scratch by Laurent Aimar, Loren Merritt, Eric Petit (OS X), Min Chen (vfw/asm), Justin Clay (vfw), Mans Rullgard, Radek Czyz, Christian Heine (asm), Alex Izvorski (asm), and Alex Wright. It is released under the terms of the GPL license. This package contains a shared library and a commandline tool for encoding H264 streams. This library is needed for mplayer/mencoder for H264 encoding support. Encoder features: - CAVLC/CABAC - Multi-references - Intra: all macroblock types (16x16, 8x8, and 4x4 with all predictions) - Inter P: all partitions (from 16x16 down to 4x4) - Inter B: partitions from 16x16 down to 8x8 (including skip/direct) - Ratecontrol: constant quantizer, single or multipass ABR, optional VBV - Scene cut detection - Adaptive B-frame placement - B-frames as references / arbitrary frame order - 8x8 and 4x4 adaptive spatial transform - Lossless mode - Custom quantization matrices - Parallel encoding of multiple slices (currently disabled) %package %{sover} Summary: A free h264/avc encoder - encoder binary Group: System/Libraries %description %{sover} x264 is a free library for encoding next-generation H264/AVC video streams. The code is written from scratch by Laurent Aimar, Loren Merritt, Eric Petit (OS X), Min Chen (vfw/asm), Justin Clay (vfw), Mans Rullgard, Radek Czyz, Christian Heine (asm), Alex Izvorski (asm), and Alex Wright. It is released under the terms of the GPL license. This package contains a static library and a header needed for the development with libx264. This library is needed to build mplayer/mencoder with H264 encoding support. %package -n x264 Summary: Binaries for x264 streams conversions %description -n x264 x264 is a free library for encoding next-generation H264/AVC video streams. The code is written from scratch by Laurent Aimar, Loren Merritt, Eric Petit (OS X), Min Chen (vfw/asm), Justin Clay (vfw), Mans Rullgard, Radek Czyz, Christian Heine (asm), Alex Izvorski (asm), and Alex Wright. It is released under the terms of the GPL license. This package contains a static library and a header needed for the development with libx264. This library is needed to build mplayer/mencoder with H264 encoding support. %package devel Summary: Libraries and include file for the %{name} encoder Group: Development/Libraries/C and C++ Requires: %{name}-%{sover} = %{version}-%{release} Provides: x264-devel = %{version} Obsoletes: x264-devel < %{version} %description devel x264 is a free library for encoding next-generation H264/AVC video streams. The code is written from scratch by Laurent Aimar, Loren Merritt, Eric Petit (OS X), Min Chen (vfw/asm), Justin Clay (vfw), Mans Rullgard, Radek Czyz, Christian Heine (asm), Alex Izvorski (asm), and Alex Wright. It is released under the terms of the GPL license. This package contains a static library and a header needed for the development with libx264. This library is needed to build mplayer/mencoder with H264 encoding support. %prep %autosetup -p1 -n x264-%{version} %build %configure \ --disable-opencl \ --enable-shared \ %if "%{build_flavor}" == "x264" --system-libx264 \ %if %{with gpac} --disable-lsmash \ %else --disable-gpac \ %endif %else --disable-cli \ --disable-swscale \ --disable-lavf \ --disable-ffms \ %endif --enable-lto \ --enable-pic %make_build %install %if "%{build_flavor}" == "x264" install -Dm 755 x264 %{buildroot}/%{_bindir}/x264 %else %make_install rm -f %{buildroot}%{_libdir}/%{name}.so rm -f %{buildroot}%{_libdir}/%{name}.a ln -s %{name}.so.%{sover} %{buildroot}%{_libdir}/%{name}.so # fix pkg-config version sed -i 's/Version:.*/Version: %{version}/' %{buildroot}%{_libdir}/pkgconfig/x264.pc %endif %if "%{build_flavor}" == "x264" %files -n x264 %doc doc/*.txt %attr(0755,root,root) %{_bindir}/x264 %else %post -n %{name}-%{sover} -p /sbin/ldconfig %postun -n %{name}-%{sover} -p /sbin/ldconfig %files %{sover} %{_libdir}/%{name}.so.%{sover} %files devel %{_includedir}/x264.h %{_includedir}/x264_config.h %{_libdir}/pkgconfig/x264.pc %{_libdir}/%{name}.so %endif %changelog * Tue Jun 25 2024 Luigi Baldoni - Update to version 0.164+git20231001.31e19f92 * Sun Jun 12 2022 Luigi Baldoni - Update to version 0.164+git20220602.baee400f - Bump soversion to 164 - Drop pre_checkin.sh (no longer used) - Drop x264-use-shared-library.patch, x264-gpac_no_static.patch and libx264.patch (no longer necessary) * Tue Dec 29 2020 olaf@aepfle.de - Fix arm build with libx264.patch * Sat Nov 28 2020 Luigi Baldoni - Update to git version 0.161+git20200912.d198931a - Bump soversion to 161 - Drop x264-gpac10.patch (merged upstream) - Switch default muxer/demuxer library to l-smash and make gpac optional - Add new update.sh helper script - Enable lto via switch * Sat Jul 11 2020 Luigi Baldoni - Update to git version 0.160+git20200702.cde9a933 - Bump soversion to 160 - Add x264-gpac10.patch and x264-gpac_no_static.patch - Spec cleanup * Mon Mar 30 2020 Antonio Larrosa - Update to git version 0.159+git20191127.1771b556 - Use _service to retrieve the git sources - Bump soname to 159 - Remove patch which is already included upstream * 0001-cli-Fix-linking-with-system-libx264-on-x86.patch - Rebase x264-use-shared-library.patch - Removed a rpmlint error by rephrasing the summary of the libx264-x264 package * Sat Feb 2 2019 antonio.larrosa@gmail.com - Update to 20190201 snapshot * Unify 8-bit and 10-bit CLI and libraries - Add 'i_bitdepth' to x264_param_t with the corresponding '--output-depth' CLI option to set the bit depth at runtime. * x86inc: Fix VEX -> EVEX instruction conversion stable * configure: Fix required version checks for lavf and... * Fix float division by zero in weightp analysis * Fix undefined behavior of left shift for CAVLC encoding * Fix integer overflow in slicetype_path_cost * cli: Fix preset help listing * ppc: Fix zigzag_interleave * Fix clang stack alignment issues * Fix missing bs_flush in AUD writing * Fix possible undefined behavior of right shift * Make bs_align_10 imply bs_flush * Fix theoretically incorrect cost_mv_fpel free * configure: Fix ambiguous "$((" * Fix --qpmax default value in fullhelp * x86: Correctly use v-prefix for instructions with opmasks * configure: Only use gas-preprocessor with armasm for... - Bump soname to 155 following upstream changes. - Rebase x264-use-shared-library.patch - Add 0001-cli-Fix-linking-with-system-libx264-on-x86.patch from upstream to fix building the cli x264 tool on x86. * Thu Apr 12 2018 zaitor@opensuse.org - Bump soname in baselibs.conf, forgotten i previous version update. * Fri Mar 23 2018 enzokiel@kabelmail.de - Build with nasm >= 2.13 for openSUSE Leap 42.3 and SLE-12. * Tue Mar 6 2018 zaitor@opensuse.org - Update to 20180305 snapshot. - Bump soname to 152 following upstream changes. - Conditionally BuildRequire nasm for current versions of openSUSE and pass conditional --disable-asm to openSUSE Leap 43.3 and SLE-12. * Thu Aug 17 2017 aloisio@gmx.com - Update to 20170816 snapshot * Tue Dec 20 2016 scarabeus@opensuse.org - Update to 20161220 snapshot - Update homepage - Move x264 package here there is no reason for the split * Tue Sep 6 2016 ismail@i10z.com - Update to 20160905 snapshot * Sun May 1 2016 aloisio@gmx.com - Update to 20160430 snapshot - Refreshed x264-use-shared-library.patch * Wed Aug 5 2015 ismail@i10z.com - update to 20150804 snapshot * Sun Mar 1 2015 i@margueirte.su - update version 20141218 * Wed Nov 5 2014 i@margueirte.su - update version 20141104 * Sat Mar 22 2014 i@margueirte.su - update version 20140321. * Tue Nov 19 2013 obs@botter.cc - add -fno-aggressive-loop-optimizations to extra-cflags in configure for >= 13.1 (specfile), see also https://bugs.launchpad.net/ubuntu/+source/x264/+bug/1241772 MAY BE REMOVED on upstream fix * Wed Jul 24 2013 i@margueirte.su - update version 20130723. * Thu Mar 7 2013 marguerite@opensuse.org - fallback to 8-bit depth again. * A user said he still need 8-bit to use `baseline` profile for very old android phones. * Sun Feb 24 2013 marguerite@opensuse.org - update version 20130224. - enable 10 bit depth by default. * Thu Nov 1 2012 pascal.bleser@opensuse.org - only build the x264 library, to avoid cycles with ffmpeg (which requires libx264) * Sat Sep 29 2012 Manfred.Tremmel@iiv.de - update to snapshot 20120928 * Sat May 26 2012 Manfred.Tremmel@iiv.de - update to snapshot 20120525 * Sat Apr 14 2012 Manfred.Tremmel@iiv.de - update to snapshot 20120414 * Mon Mar 12 2012 toddrme2178@gmail.com - Cleaned up spec file formatting - Added 32bit compatibility version (needed by gstreamer-0_10-plugins-ugly-orig-addon-32bit) * Fri Jan 27 2012 Manfred.Tremmel@iiv.de - update to snapshot 20120126 * Tue Dec 27 2011 Manfred.Tremmel@iiv.de - update to snapshot 20111226 * Fri Sep 23 2011 Manfred.Tremmel@iiv.de - update to snapshot 20111122 * Thu Sep 8 2011 Manfred.Tremmel@iiv.de - update to snapshot 20110907 * Thu Jun 23 2011 Manfred.Tremmel@iiv.de - update to snapshot 20110622 * Sat May 28 2011 Manfred.Tremmel@iiv.de - update to snapshot 20110527 * Sat Apr 23 2011 reddwarf@opensuse.org - remove build timestamp - remove execution permissions from library * Sat Feb 26 2011 Manfred.Tremmel@iiv.de - update to snapshot 20110225 * Sun Jan 16 2011 Manfred.Tremmel@iiv.de - update to snapshot 20110115 * Sun Oct 17 2010 Manfred.Tremmel@iiv.de - update to snapshot 20101016 * Sun Oct 3 2010 Manfred.Tremmel@iiv.de - update to snapshot 20101002 * Tue Jun 29 2010 ludwig.nussel@gmx.de - require pkg-config - link binary against shared library * Wed Jun 16 2010 Manfred.Tremmel@iiv.de - update to snapshot 20100615 * Tue May 18 2010 Manfred.Tremmel@iiv.de - update to snapshot 20100517 * Mon Apr 26 2010 Manfred.Tremmel@iiv.de - update to snapshot 20100425 now able to create Blue Ray compatible h.264 streams * Sat Apr 3 2010 Manfred.Tremmel@iiv.de - update to snapshot 20100402 * Sun Feb 28 2010 Manfred.Tremmel@iiv.de - update to snapshot 20100227 * Wed Feb 17 2010 Manfred.Tremmel@iiv.de - update to snapshot 20100216 * Sat Feb 6 2010 Manfred.Tremmel@iiv.de - update to snapshot 20100205 * Wed Jan 27 2010 Manfred.Tremmel@iiv.de - rebuild because of no submit with the last build * Sat Jan 23 2010 Manfred.Tremmel@iiv.de - update to snapshot 20100122 * Sat Jan 2 2010 Manfred.Tremmel@iiv.de - update to svn 20100101 * Tue Dec 15 2009 Manfred.Tremmel@iiv.de - added a patch to fix broken ffmpeg defaults instead of aborting * Fri Dec 11 2009 Manfred.Tremmel@iiv.de - update to svn 20091211 * Mon Nov 23 2009 Manfred.Tremmel@iiv.de - update to svn 20091123 * Tue Aug 25 2009 Manfred.Tremmel@iiv.de - updated to snapshot 20090624 * Sat Jun 27 2009 Manfred.Tremmel@iiv.de - updated to snapshot 20090627 * Sun May 10 2009 Manfred.Tremmel@iiv.de - updated to snapshot 20090510 * Tue Mar 10 2009 Manfred.Tremmel@iiv.de - updated to snapshot 20090310 * Sat Feb 7 2009 Manfred.Tremmel@iiv.de - updated to snapshot 20090206 * Thu Nov 6 2008 Manfred.Tremmel@iiv.de - updated to snapshot 20081105 * Sat Oct 4 2008 Manfred.Tremmel@iiv.de - updated to snapshot 20081004 * Wed Sep 17 2008 Manfred.Tremmel@iiv.de - updated to snapshot 20080917 * Thu Aug 14 2008 Manfred.Tremmel@iiv.de - updated to snapshot 20080814 - recompile with new yasm version * Sat Aug 9 2008 Manfred.Tremmel@iiv.de - updated to snapshot 20080809 * Tue Jun 17 2008 Manfred.Tremmel@iiv.de - updated to snapshot 20080617 - also included snapshot 20071225 lib for compatibility reasons * Wed Apr 30 2008 guru@unixtech.be - fixed file permissions, thanks to Christian Morales Vega * Mon Dec 31 2007 guru@unixtech.be - made Requires in main package require the exact version-release - fixed License tag according to 10.3 packaging policies - added Provides/Obsoletes for proper upgrading of x264=>libx264-devel * Wed Dec 26 2007 leon@links2linux.de - updated to snapshot 20071225 - changed the spec according to the new library policy, thanks Detlef - changed the group according to SPC guidelines * Mon Nov 6 2006 detlef@links2linux.de - update to snapshot-20061031-2245 * Wed Nov 1 2006 leon@links2linux.de - new release * Wed Apr 26 2006 leon@links2linux.de - updated to the newest tarball (to fix PPC compiling) - match the new library revision (libx264.so.46) * Tue Apr 18 2006 leon@links2linux.de - updated to the newest tarball - removed the syntax patch since it has been merged - remove yasm from BuildRequires on x86 * Wed Mar 22 2006 henne@links2linux.de - introduce a build section <:) - full url for source * Sat Mar 18 2006 leon@links2linux.de - Initial release for packman.