File faac.spec of Package faac
#
# spec file for package faac
#
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2013 Marguerite Su <marguerite@opensuse.org>
#
# 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 so_name libfaac0
Name: faac
Version: 1.31
Release: 1699.1.pm.8
Summary: Frontend for encoding MPEG2/4 AAC
# Original Code was free to use but restricted. Modifications are LGPL-2.1+
License: SUSE-Freeware and LGPL-2.1+
Url: https://github.com/knik0/faac
Source0: %name-%version.tar
Source99: baselibs.conf
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: libtool
BuildRequires: gcc-c++
Requires: %so_name = %version-%release
%description
FAAC is a LC, MAIN and LTP profile, MPEG2 and MPEG-4 AAC encoder, completely
written from scratch.
%package -n %so_name
Summary: Shared library part of faac
%description -n %so_name
FAAC is a LC, MAIN and LTP profile, MPEG2 and MPEG-4 AAC encoder, completely
written from scratch.
Shared library part of faac
%package devel
Summary: Header files and static library for the faac library
Requires: %so_name = %version-%release
Provides: libfaac-devel = %version-%release
%description devel
FAAC is a LC, MAIN and LTP profile, MPEG2 and MPEG-4 AAC encoder, completely
written from scratch.
Header files and static library for the faac library
%prep
%autosetup -p1
%build
sed -i~ 's@2.71@2.69@' configure.ac
diff -u "$_"~ "$_" && exit 1
bash bootstrap
%configure --enable-shared \
--disable-static
%make_build
%install
%make_install
find %buildroot -type f -name "*.la" -delete -print
%ldconfig_scriptlets -n %so_name
%files
%doc AUTHORS ChangeLog README
%license COPYING
%_bindir/*
%_mandir/man1/faac.1%{ext_man}
%files -n %so_name
%_libdir/*.so.*
%files devel
%_libdir/*.so
%_libdir/pkgconfig/*.pc
%_includedir/*
%changelog
* Fri Feb 28 2025 olaf@aepfle.de
- Update version to 1.31
See included ChangeLog for details
* Thu Feb 13 2020 Hillwood Yang <hillwood@opensuse.org>
- Update version to 1.30
* Fix Joint Stereo coding, drop faac-fix-broken-joint-stereo.patch
* Code cleanup and compilation fixes
* Fix endianness conversion functions
* Fix compilation with GCC < 4.6
* Fix compilation on big endian systems
* Fix division by zero errors
* Fix compilation with GCC <= 4.7.3
* Change pointer type for proper arithmetics
* Fix logic error in compiler detection
* Revert back to some more generic SSE2 code
* Fix a memory leak
* Fix some cppcheck warnings in the Cfaac code
* Check index ranges before dereferencing book arrays (CVE-2018-19886)
* Clean up stdint.h header inclusions
* Consistently use stdint.h types
* Update Visual Studio 2017 projects
* Add stdint.h header inclusions
* Port over ac2ver tool from faad2 to generate PACKAGE_VERSION
* when compiling with Visual Studio
* Memory allocations redefined
* Sat Dec 30 2017 zaitor@opensuse.org
- Add faac-fix-broken-joint-stereo.patch: The recent introduction
PNS in FAAC 1.29.9 broke Joint Stereo coding
(jointmode == JOINT_MS). Patch from upstream git.
* Sun Nov 26 2017 zaitor@opensuse.org
- Update to version 1.29.9.2:
* initial version of PNS coding
* Intensity Stereo coding
* more speed improvements
* finer bandwidth/cutoff setting (doesn't work with PNS)
* fixed more bugs
* rewritten mid/side coding
* fixed bug in blockswitch
- Changes from version 1.29.8:
* changed default mode to ABR 64kbps/channel
* implemented short windows grouping
* new huffman coder
* SSE quantizer
* modified functioning of ABR mode (-b option)
* improved autotools support
* allowed even higher bitrates, including ADTS
* framebuffer size bug fixed
* removed broken object types: Main and LTP
* some mp4 atoms fixed for better compalibility
* stdin seek bug fixed
- Drop faac-1.28-strict-aliasing-punning.patch: No longer needed.
- Drop faac-1.29.7.8-disable-sse2.patch: Fix upstream in a
different way, arm now builds.
- Following the above, drop autoconf, automake and libtool
BuildRequires and no longer pass autoreconf, we do not carry any
patches touching the build system anymore.
* Mon Oct 9 2017 hillwood@opensuse.org
- Add faac-1.29.7.8-disable-sse2.patch
* Fix build for ARM.
* Mon Oct 9 2017 hillwood@opensuse.org
- Update to 1.29.7.8.
* SSE quantizer
* modified functioning of ABR mode (-b option)
* improved autotools support
* allowed even higher bitrates, including ADTS
* framebuffer size bug fixed
* removed broken object types: Main and LTP
* some mp4 atoms fixed for better compalibility
* stdin seek bug fixed
* quantizer tweaked to better support high bitrates
* allow higher quality for mp4 files (-q 5000 max)
* removed mid frequency boost (it turned out useless)
* cutoff frequency adjusted to fully utilize upper band
* --help-long option removed, it was just an alias for -H
* -b option bug fixed
* quality related bug fixed
* updated manpage
* check if output file exists; --overwrite option added
* help/usage options reorganized
* block switching is now tuned to match quality/bitrate
* give more quality to lower frequancies (less to highs)
* quantizer updated again
1.29.4:
* rewritten quantizer: faster, diffrerent quality, different bitrates
* ftyp atom: set brands like itunes does, shoud be more compatible
with picky tools
* new option(--tag) to add named tags (iTunes '----')
* faster and better short/long window type switch
* Don't build DRM(Digital Radio Mondiale) by default.
Use ./configure --enable-drm to build DRM version.
* fixed bugs
* rounding in QuantizeReflectionCoeffs (tns.c)
* use +60 value for scalefactor.
* use clipped diff instead of original value (huffman.c)
1.29.3:
* MP4 tag options improved
* fixed MP4 'meta' atom bug
* new option to set verbosity (-v0 to silence output)
1.29.2:
* new mp4 output code
1.29:
* various patches applied and bugs fixed
* Fri Feb 24 2017 scarabeus@opensuse.org
- Disable mp4v2 it is used by the cli frontend only and it ain't
really good idea to use that anyway given better faac implementation
in ffmpeg
* Sat Oct 5 2013 crrodriguez@opensuse.org
- faac-visibility.patch: hide library private symbols
from the exported symbol table, this is done just re-using
the win32 equivalent functionality.
* Wed Jul 31 2013 i@margueirte.su
- build against external mp4v2.
* bundled mpeg4ip's mp4v2 is too old to compile with glibc 2.10+.
* Tue Jan 24 2012 reddwarf@opensuse.org
- run spec-cleaner
- add autoconf, automake and libtool BuildRequires.
* Fri Mar 4 2011 reddwarf@opensuse.org
- Remove bogus faad build/runtime dependencies
- Remove bogus mp4v2 and C++ devel dependencies
- Remove .la files
* Wed Mar 3 2010 Manfred.Tremmel@iiv.de
- added baselibs file
* Sat Aug 22 2009 Manfred.Tremmel@iiv.de
- cleanups where rpmlint wasn't so happy
* Tue Feb 10 2009 Manfred.Tremmel@iiv.de
- version 1.28
* Sat Jul 5 2008 Manfred.Tremmel@iiv.de
- version 1.26
* Sun Mar 2 2008 Manfred.Tremmel@iiv.de
- splittetd into separate packages
* Mon Oct 2 2006 Manfred.Tremmel@iiv.de
- enabled mp4 support
* Mon Aug 14 2006 Manfred.Tremmel@iiv.de
- version 1.25
* Sun Apr 9 2006 Manfred.Tremmel@iiv.de
- rebuild with separate libmp4v2 (no longer part of faad2)
* Fri Jan 7 2005 rainer@links2linux.de
- first version for faac