File libx264.spec of Package libx264
#
# spec file for package libx264
#
# remember to adjust baselibs.conf
%define sover 164
Name: libx264
Version: 0.164
Release: 1
Summary: A free h264/avc encoder
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.gz
Source1: baselibs.conf
BuildRequires: nasm >= 2.13
BuildRequires: pkgconfig
BuildRequires: yasm >= 1.2.0
%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 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 \
--enable-shared \
--enable-lto \
--enable-pic
%make_build
%install
%make_install
rm -f %{buildroot}%{_bindir}/x264
# fix pkg-config version
sed -i 's/Version:.*/Version: %{version}/' %{buildroot}%{_libdir}/pkgconfig/x264.pc
%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
%changelog