[Ffmpeg-devel] inttypes.h

Steve Lhomme steve.lhomme
Wed Nov 22 09:15:25 CET 2006


Steve Lhomme wrote:
> Rich Felker wrote:
>> On Tue, Nov 21, 2006 at 11:50:37AM +0100, Steve Lhomme wrote:
>>> Brian Brice wrote:
>>>> M?ns Rullg?rd wrote:
>>>>> Brian Brice <bbrice at newtek.com> writes:
>>>>>
>>>>> Those typedefs were never safe, since they are not guaranteed to be
>>>>> the same as those from inttypes.h.  Just make your mingw inttypes.h
>>>>> visible to vc++ and all should be fine.  Alternatively, you could take
>>>>> the hint that vc++ isn't very well suited for compiling programs.  (Is
>>>>> it useful for anything else?)
>>>> I can have a work around for this, but I thought it was just nice that
>>>> one was available already.  VC++ did very well linking up to ffmpeg's
>>>> libraries (not compiling those libraries!).  It was nice to have that
>>>> alternative to inttypes.h available in the "public" headers of ffmpeg.
>>>> Thanks.
>>> You can use whatever compiler you want with FFMPEG, as long as it's 
>>> gcc 3 or 4.
>>
>> Steve, STFU with the typical bullshit. You can use absolutely any
>> C99-compliant compiler, as well as most C89 compilers with the key
>> useful extensions which were standardized in C99 such as named struct
>> initializers. If you find code in ffmpeg that cannot be compiled with
>> any C99 compiler, report it as a bug and it will surely be fixed. On
>> the other hand if your compiler is broken then complain to the
>> compiler vendor, not this list!!
> 
> Is the inline assembly used in FFMPEG defined in C99 or is it a "GNU" 
> extension and will be discarded by another C99 compiler than gcc ? 
> Anyway I don't use any other C99 compiler. Maybe Borland would qualify 
> and probably Intel too. But I don't use them.

Apparently C99 support in gcc is far from clean too: 
http://gcc.gnu.org/c99status.html

Among broken things:
- variable-length arrays (used in FFMPEG)
- complex (and imaginary) support in <complex.h>
- library functions in <inttypes.h> (used in FFMPEG)
- extended integer types in <stdint.h>
- additional math library functions in <math.h>
- inline functions (used in FFMPEG)
- standard pragmas

Testing the C99 compatibility of FFMPEG with Intel's compiler won't be 
fair too, since it supports "GNU inline ASM for IA-32 processors". But 
at least that leaves an option to use a good compiler and get full 
(better) speed.

Steve






More information about the ffmpeg-devel mailing list