[FFmpeg-cvslog] r19375 - in trunk: Changelog libavcodec/Makefile libavcodec/aac.h libavcodec/aaccoder.c libavcodec/aacenc.c libavcodec/aacenc.h libavcodec/aacpsy.c libavcodec/allcodecs.c libavcodec/psymodel.c liba...
Måns Rullgård
mans
Thu Jul 9 14:59:13 CEST 2009
Reimar D?ffinger <Reimar.Doeffinger at gmx.de> writes:
> On Wed, Jul 08, 2009 at 10:01:31PM +0200, alexc wrote:
>> Author: alexc
>> Date: Wed Jul 8 22:01:31 2009
>> New Revision: 19375
>>
>> Log:
>> Merge the AAC encoder from SoC svn. It is still considered experimental.
>
> You broke a good deal of FATE configurations. In particular, complex
> types do not seem to be generally working.
>
> From the gcc 4.3.3/Solaris 10 build:
> /home/fate/source/libavcodec/iirfilter.c: In function 'ff_iir_filter_init_coeffs':
> /home/fate/source/libavcodec/iirfilter.c:83: error: '_Imaginary_I' undeclared (first use in this function)
> /home/fate/source/libavcodec/iirfilter.c:83: error: (Each undeclared identifier is reported only once
> /home/fate/source/libavcodec/iirfilter.c:83: error: for each function it appears in.)
> /home/fate/source/libavcodec/iirfilter.c:56: warning: unused variable 'size'
Quoth the spec:
The macro I expands to either _Imaginary_I or _Complex_I. If
_Imaginary_I is not defined, I shall expand to _Complex_I.
It follows that the system headers are buggy.
> From the ARM RVCT build:
> "/misc/fate/satyr/source/libavcodec/iirfilter.c", line 59: Error:
> #1082: a floating-point type must be included in the type specifier for
> a _Complex or _Imaginary type
> complex p[MAXORDER + 1];
As you may have seen, I fixed this by making them "double complex". I
chose double because this is an init function, so precision is
probably more important than speed.
> From the NetBSD, DragonFly BSD and AVR Linux builds:
> aaccoder.c:(.text+0x2ba2): undefined reference to `fminf'
> aaccoder.c:(.text+0x2bbc): undefined reference to `fmaxf'
Can't FFMIN and FFMAX be used? They only differ in the case of NaN
arguments.
> From the FreeBSD build:
> /usr/home/mik/src/fate/build/libavcodec/libavcodec.a(aaccoder.o)(.text+0x998):
> In function `search_for_quantizers_fast':
> : undefined reference to `log2'
Yet another standard C function they've missed/ignored...
> From the gcc 4.2.4 DOS build:
> /home/mik/src/fate/source/libavcodec/aacpsy.c:144: warning: implicit
> declaration of function 'fminf'
See above.
> /home/mik/src/fate/source/libavcodec/iirfilter.c:28:21: error:
> complex.h: No such file or directory
Hmm...
> From the icc builds:
> /home/fate/fate32/source/libavcodec/iirfilter.c(59): error: a float,
> double or long double type must be included in the type specifier for a
> _Complex or _Imaginary type
> _Complex p[30 + 1];
Fixed, see above.
--
M?ns Rullg?rd
mans at mansr.com
More information about the ffmpeg-cvslog
mailing list