Projects
Staging
faad2
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 6
View file
faad2.changes
Changed
@@ -1,4 +1,26 @@ ------------------------------------------------------------------- +Tue Jun 2 08:20:55 UTC 2020 - Luigi Baldoni <aloisio@gmx.com> + +- Update to version 2.9.2 + * Only use x86-assembly when explicitly on x86 + * Use unsigned integers correctly + * Initialize pointers that might otherwise not be + * update README esp. WRT directory structure + * fix compilation without SBR/PS_DEC (#48) + * fix compilation with LC_ONLY_DECODER (#47) + * fix "inline function 'cfftf1' declared but never defined" + compiler warning + * fix some inconsistencies in the frontend output + * mp4read_open: add check for failed frame buffer allocation + * stszin: add check for allocation error and integer overflow + * add a pkg-config file + * frontend: address compile warning + add missing LF (#50) + * library name is faad (#52) + * Unbreak PS audio (#51) +- Refresh faad2-PACKAGE_VERSION.patch +- Spec cleanup + +------------------------------------------------------------------- Thu Feb 13 08:58:00 UTC 2020 - Hillwood Yang <hillwood@opensuse.org> - Update version to 2.9.1
View file
faad2.spec
Changed
@@ -1,39 +1,52 @@ -# Packmangroup: Multimedia -# Packmanpackagename: faad2 -# Packman: Manfred Tremmel +# +# spec file for package faad2 +# +# Copyright (c) 2020 Packman Team <packman@links2linux.de> +# Copyright (c) 2005-2020 Manfred Tremmel <Manfred.Tremmel@iiv.de> +# Copyright (c) 2004-2005 Rainer Lay <rainer@links2linux.de> +# Copyright (c) 2003 Henne Vogelsang <henne@links2linux.de> +# +# 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/ +# %define major 2 %define lib libfaad %define libname %{lib}%{major} -%define _version 2_9_1 - +%define _version 2_9_2 %bcond_with xmms # mpeg4ip is built without gmp4player, it makes no sense to build the plugin %bcond_with mpeg4ip - Name: faad2 -Version: 2.9.1 -Release: 1 -License: GPL-2.0+ +Version: 2.9.2 +Release: 0 Summary: C library and frontend for decoding MPEG2/4 AAC Summary(de): C Bibliothek und Frontend zum Decodieren von MPEG2/4 AAC -Url: http://www.audiocoding.com/ +License: GPL-2.0-or-later Group: Productivity/Multimedia/Video/Editors and Convertors +URL: https://www.audiocoding.com/ Source0: https://github.com/knik0/faad2/archive/%{_version}/%{name}-%{version}.tar.gz Patch0: %{name}-visibility.patch Patch1: faad2-PACKAGE_VERSION.patch +BuildRequires: libtool Requires: %{libname} = %{version} -BuildRoot: %{_tmppath}/%{name}-%{version}-build %if %{with mpeg4ip} -BuildRequires: libmp4v2-devel BuildRequires: SDL-devel +BuildRequires: libmp4v2-devel %endif %if %{with xmms} -BuildRequires: xmms2-devel BuildRequires: id3lib-devel +BuildRequires: xmms2-devel %endif -BuildRequires: libtool #Obsoletes: faad2-drm #Provides: faad2-drm @@ -77,9 +90,9 @@ Summary: Development files of the FAAD 2 AAC decoder Summary(de): Entwicklerdateien des FAAD 2 AAC Dekoders Group: Development/Libraries/C and C++ -Requires: %{name} = %{version} Requires: %{libname} = %{version} Requires: %{lib}_drm%{major} = %{version} +Requires: %{name} = %{version} Obsoletes: lib%{name}-devel < %{version} Provides: lib%{name}-devel = %{version} Obsoletes: %{name}-devel < %{version} @@ -117,9 +130,7 @@ %endif %prep -%setup -q -n %{name}-%{_version} -%patch0 -p1 -%patch1 -p1 +%autosetup -p1 -n %{name}-%{_version} %build autoreconf -ifv @@ -131,41 +142,38 @@ --with-pic \ --enable-shared \ --disable-static -make %{?_smp_mflags} +%make_build %install -%makeinstall -rm -f %{buildroot}%{_libdir}/lib*.la +%make_install +find %{buildroot} -type f -name "*.la" -delete -print %post -n %{libname} -p /sbin/ldconfig %postun -n %{libname} -p /sbin/ldconfig - %post -n %{lib}_drm%{major} -p /sbin/ldconfig %postun -n %{lib}_drm%{major} -p /sbin/ldconfig %files -%defattr(-, root, root) %doc AUTHORS ChangeLog NEWS README TODO %license COPYING %{_bindir}/faad -%{_mandir}/man1/faad.1.gz +%{_mandir}/man1/faad.1%{?ext_man} %files -n %{libname} -%defattr(-,root,root) %{_libdir}/libfaad.so.%{major}* %files -n %{lib}_drm%{major} -%defattr(-, root, root) %{_libdir}/libfaad_drm.so.%{major}* %files -n %{lib}-devel -%defattr(-, root, root) -%{_libdir}/*.so -%{_includedir}/* +%{_includedir}/faad.h +%{_includedir}/neaacdec.h +%{_libdir}/libfaad.so +%{_libdir}/libfaad_drm.so +%{_libdir}/pkgconfig/%{name}.pc %if %{with xmms} %files -n xmms-%{name} -%defattr(-, root, root) %doc plugins/xmms/README %{_libdir}/xmms/Input/libmp4* %endif
View file
faad2-PACKAGE_VERSION.patch
Changed
@@ -6,7 +6,7 @@ #endif -#define FAAD2_VERSION "unknown" -+#define FAAD2_VERSION "2.9.1" ++#define FAAD2_VERSION "2.9.2" /* object types for AAC */ #define MAIN 1
View file
faad2-2.9.1.tar.gz/.gitignore -> faad2-2.9.2.tar.gz/.gitignore
Changed
@@ -18,3 +18,4 @@ project/msvc/intermediate/ libfaad/win32_ver.h *.user +/libfaad/faad2.pc
View file
faad2-2.9.1.tar.gz/ChangeLog -> faad2-2.9.2.tar.gz/ChangeLog
Changed
@@ -1,3 +1,30 @@ +2.9.2: + [ Michał Janiszewski ] + * Only use x86-assembly when explicitly on x86 + * Use unsigned integers correctly + * Initialize pointers that might otherwise not be + + [ Fabian Greffrath ] + * update README esp. WRT directory structure + + [ Rosen Penev ] + * fix compilation without SBR/PS_DEC (#48) + * fix compilation with LC_ONLY_DECODER (#47) + + [ Fabian Greffrath ] + * fix "inline function 'cfftf1' declared but never defined" compiler warning + * fix some inconsistencies in the frontend output + * mp4read_open: add check for failed frame buffer allocation + * stszin: add check for allocation error and integer overflow + * add a pkg-config file + + [ Stefan Pöschel ] + * frontend: address compile warning + add missing LF (#50) + + [ François Cartegnie ] + * library name is faad (#52) + * Unbreak PS audio (#51) + 2.9.1: [ Fabian Greffrath ] * Include stdio.h in libfaad/ps_dec.c for stderr (Michael Fink)
View file
faad2-2.9.1.tar.gz/README -> faad2-2.9.2.tar.gz/README
Changed
@@ -48,50 +48,34 @@ ACTIONS! -______ -PEOPLE - -FAAD2 is written by: - - M. Bakker (mbakker(at)nero.com). - - -_______________ -VERSION HISTORY - -Sorry, try building a ChangeLog from CVS. - ___________________ DIRECTORY STRUCTURE faad2 - top level directory. - aacDECdrop - windows decoder/player with drag'n'drop functionality + aacDECdrop - windows decoder/player with drag'n'drop functionality. - common - generally used libraries and code. + docs - API documentation. - faad - general common functions like filereading and streaming - as well as getting info from aac files. - - mp4ff - Small MP4 file format library (includes tagging abilities). - frontend - command line frontend to the FAAD2 library, also supports MPEG-4 file decoding. include - inlude file for the FAAD2 library. libfaad - the FAAD2 AAC decoder library including SBR. - - codebook - Huffman codebooks + + codebook - Huffman codebooks. plugins - plugins for all kinds of pograms. - - in_mp4 - winamp MPEG-4 AAC file input plugin. - + + mpeg4ip - plugin for the mpeg4ip player. + QCD - Quintessential player AAC plugin. QCDMp4 - Quintessential player MP4 plugin. - xmms - xmms AAC plugin + xmms - xmms AAC plugin. - mpeg4ip - plugin for the mpeg4ip player + project/msvc - Visual Studio 2017 project files. + utils/win32 - generate "win32_ver.h" from "configure.h".
View file
faad2-2.9.1.tar.gz/configure.ac -> faad2-2.9.2.tar.gz/configure.ac
Changed
@@ -8,7 +8,7 @@ dnl - mpeg4ip plugin (requires mpeg4ip's libmp4v2 to be installed) AC_PREREQ(2.50) -AC_INIT(faad2, 2.9.1) +AC_INIT(faad2, 2.9.2) AC_CONFIG_AUX_DIR(.) AM_INIT_AUTOMAKE([subdir-objects]) @@ -159,6 +159,7 @@ fi AC_CONFIG_FILES(libfaad/Makefile) +AC_CONFIG_FILES(libfaad/faad2.pc) AC_CONFIG_FILES(plugins/Makefile) AC_CONFIG_FILES(plugins/xmms/Makefile) AC_CONFIG_FILES(plugins/xmms/src/Makefile)
View file
faad2-2.9.1.tar.gz/frontend/main.c -> faad2-2.9.2.tar.gz/frontend/main.c
Changed
@@ -462,9 +462,9 @@ unsigned char channels; void *sample_buffer; - audio_file *aufile; + audio_file *aufile = NULL; - FILE *adtsFile; + FILE *adtsFile = NULL; unsigned char *adtsData; int adtsDataSize; @@ -796,9 +796,9 @@ long sampleId, startSampleId; - audio_file *aufile; + audio_file *aufile = NULL; - FILE *adtsFile; + FILE *adtsFile = NULL; unsigned char *adtsData; int adtsDataSize; @@ -1047,6 +1047,7 @@ char *adtsFileName = NULL; float seekTo = 0; unsigned char header[8]; + int bread; float length = 0; FILE *hMP4File; char *faad_id_string; @@ -1300,16 +1301,21 @@ } } - fread(header, 1, 8, hMP4File); + bread = fread(header, 1, 8, hMP4File); if (! readFromStdin ) fclose(hMP4File); + if (bread != 8) { + faad_fprintf(stderr, "Error reading file.\n"); + return 1; + } + if (header[4] == 'f' && header[5] == 't' && header[6] == 'y' && header[7] == 'p') mp4file = 1; if (!mp4file && seekTo != 0) { - faad_fprintf(stderr, "Warning: can only seek in MP4 files"); + faad_fprintf(stderr, "Warning: can only seek in MP4 files\n"); } if (mp4file) @@ -1351,7 +1357,7 @@ float dec_length = (float)(clock() - begin)/(float)CLOCKS_PER_SEC; #endif faad_fprintf(stderr, "Decoding %s took: %5.2f sec. %5.2fx real-time.\n", aacFileName, - dec_length, length/dec_length); + dec_length, (dec_length > 0.01) ? (length/dec_length) : 0.); } if (aacFileName != NULL)
View file
faad2-2.9.1.tar.gz/frontend/mp4read.c -> faad2-2.9.2.tar.gz/frontend/mp4read.c
Changed
@@ -343,10 +343,13 @@ u32in(); // Number of entries mp4config.frame.ents = u32in(); - // fixme error checking // fixme: check atom size mp4config.frame.data = malloc(sizeof(*mp4config.frame.data) * (mp4config.frame.ents + 1)); + + if (!mp4config.frame.data) + return ERR_FAIL; + ofs = 0; mp4config.frame.data[0] = ofs; for (cnt = 0; cnt < mp4config.frame.ents; cnt++) @@ -358,6 +361,9 @@ mp4config.frame.maxsize = fsize; mp4config.frame.data[cnt + 1] = ofs; + + if (ofs < mp4config.frame.data[cnt]) + return ERR_FAIL; } return size; @@ -951,7 +957,7 @@ static void mp4info(void) { - fprintf(stderr, "Modification Time:\t\t%s", mp4time(mp4config.mtime)); + fprintf(stderr, "Modification Time:\t\t%s\n", mp4time(mp4config.mtime)); fprintf(stderr, "Samplerate:\t\t%d\n", mp4config.samplerate); fprintf(stderr, "Total samples:\t\t%d\n", mp4config.samples); fprintf(stderr, "Total channels:\t\t%d\n", mp4config.channels); @@ -1002,9 +1008,11 @@ } // alloc frame buffer - // fixme: error checking mp4config.bitbuf.data = malloc(mp4config.frame.maxsize); + if (!mp4config.bitbuf.data) + goto err; + if (mp4config.verbose.header) { mp4info();
View file
faad2-2.9.1.tar.gz/libfaad/Makefile.am -> faad2-2.9.2.tar.gz/libfaad/Makefile.am
Changed
@@ -32,5 +32,10 @@ libfaad_drm_la_LDFLAGS = ${libfaad_la_LDFLAGS} libfaad_drm_la_LIBADD = ${libfaad_la_LIBADD} -libfaad_drm_la_CFLAGS = ${libfaad_la_CFLAGS} -DDRM -DDRM_PS +libfaad_drm_la_CFLAGS = ${libfaad_la_CFLAGS} -DDRM_SUPPORT libfaad_drm_la_SOURCES = ${libfaad_la_SOURCES} + +pkgconfigdir = $(libdir)/pkgconfig +pkgconfig_DATA = faad2.pc + +EXTRA_DIST = faad2.pc.in
View file
faad2-2.9.1.tar.gz/libfaad/cfft.c -> faad2-2.9.2.tar.gz/libfaad/cfft.c
Changed
@@ -60,8 +60,6 @@ static void passf5(const uint16_t ido, const uint16_t l1, const complex_t *cc, complex_t *ch, const complex_t *wa1, const complex_t *wa2, const complex_t *wa3, const complex_t *wa4, const int8_t isign); -INLINE void cfftf1(uint16_t n, complex_t *c, complex_t *ch, - const uint16_t *ifac, const complex_t *wa, const int8_t isign); static void cffti1(uint16_t n, complex_t *wa, uint16_t *ifac);
View file
faad2-2.9.1.tar.gz/libfaad/common.h -> faad2-2.9.2.tar.gz/libfaad/common.h
Changed
@@ -91,8 +91,10 @@ /* Allow decoding of LD profile AAC */ #define LD_DEC /* Allow decoding of Digital Radio Mondiale (DRM) */ -//#define DRM -//#define DRM_PS +#ifdef DRM_SUPPORT +#define DRM +#define DRM_PS +#endif /* LD can't do without LTP */ #ifdef LD_DEC @@ -115,6 +117,7 @@ #undef MAIN_DEC #undef SSR_DEC #undef DRM + #undef DRM_PS #undef ALLOW_SMALL_FRAMELENGTH #undef ERROR_RESILIENCE #endif @@ -313,7 +316,7 @@ } - #if defined(_WIN32) && !defined(_WIN64) && !defined(__MINGW32__) + #if defined(_WIN32) && defined(_M_IX86) && !defined(__MINGW32__) #ifndef HAVE_LRINTF #define HAS_LRINTF static INLINE int lrintf(float f)
View file
faad2-2.9.1.tar.gz/libfaad/decoder.c -> faad2-2.9.2.tar.gz/libfaad/decoder.c
Changed
@@ -239,7 +239,7 @@ while (ld->bytes_left) { bits = faad_latm_frame(latm, ld); - if(bits==-1U) + if(bits==0xFFFFFFFF) bad++; else {
View file
faad2-2.9.2.tar.gz/libfaad/faad2.pc.in
Added
@@ -0,0 +1,11 @@ +prefix=@prefix@ +exec_prefix=@exec_prefix@ +libdir=@libdir@ +includedir=@includedir@ + +Name: FAAD2 +Description: Freeware Advanced Audio (AAC) Decoder +Version: @VERSION@ +Libs: -L${libdir} -lfaad +Libs.private: -lm +Cflags: -I${includedir}
View file
faad2-2.9.1.tar.gz/libfaad/mp4.c -> faad2-2.9.2.tar.gz/libfaad/mp4.c
Changed
@@ -33,7 +33,6 @@ #include <stdlib.h> -#include "bits.h" #include "mp4.h" #include "syntax.h"
View file
faad2-2.9.1.tar.gz/libfaad/mp4.h -> faad2-2.9.2.tar.gz/libfaad/mp4.h
Changed
@@ -35,6 +35,7 @@ extern "C" { #endif +#include "bits.h" #include "neaacdec.h" int8_t AudioSpecificConfig2(uint8_t *pBuffer,
View file
faad2-2.9.1.tar.gz/libfaad/specrec.c -> faad2-2.9.2.tar.gz/libfaad/specrec.c
Changed
@@ -915,18 +915,18 @@ /* element_output_channels not set yet */ hDecoder->element_output_channels[hDecoder->fr_ch_ele] = output_channels; } else if (hDecoder->element_output_channels[hDecoder->fr_ch_ele] != output_channels) { - /* element inconsistency - * this only happens if PS is actually found but not in the first frame + /* element inconsistency */ + + /* this only happens if PS is actually found but not in the first frame * this means that there is only 1 bitstream element! */ - if (hDecoder->fr_channels == 1) { - /* reset the allocation */ - hDecoder->element_alloced[hDecoder->fr_ch_ele] = 0; - hDecoder->element_output_channels[hDecoder->fr_ch_ele] = output_channels; - } else { - return 21; - } + /* reset the allocation */ + hDecoder->element_alloced[hDecoder->fr_ch_ele] = 0; + + hDecoder->element_output_channels[hDecoder->fr_ch_ele] = output_channels; + + //return 21; } if (hDecoder->element_alloced[hDecoder->fr_ch_ele] == 0) @@ -938,6 +938,9 @@ hDecoder->element_alloced[hDecoder->fr_ch_ele] = 1; } + /* sanity check, CVE-2018-20199, CVE-2018-20360 */ + if(!hDecoder->time_out[sce->channel]) + return 15; /* dequantisation and scaling */ retval = quant_to_spec(hDecoder, ics, spec_data, spec_coef, hDecoder->frameLength); @@ -1118,6 +1121,10 @@ hDecoder->element_alloced[hDecoder->fr_ch_ele] = 2; } + /* sanity check, CVE-2018-20199, CVE-2018-20360 */ + if(!hDecoder->time_out[cpe->channel]) + return 15; + /* dequantisation and scaling */ retval = quant_to_spec(hDecoder, ics1, spec_data1, spec_coef1, hDecoder->frameLength); if (retval > 0)
View file
faad2-2.9.1.tar.gz/libfaad/syntax.c -> faad2-2.9.2.tar.gz/libfaad/syntax.c
Changed
@@ -2644,5 +2644,5 @@ return (len*8)-(endpos-initpos); //faad_getbits(ld, initpos-endpos); //go back to initpos, but is valid a getbits(-N) ? } - return -1U; + return 0xFFFFFFFF; }
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.