[FFmpeg-devel] some thoughts on the website and warnings
gajjanag at mit.edu
Sat Sep 19 18:36:34 CEST 2015
I have a suggestion for improving the FFmpeg website. I really like
the way the current "About FFmpeg" webpage presents FFmpeg - the very
first sentence is amazingly true. A few months back I thought this was
just a PR push, but the proof of this lies in the variety of ways
FFmpeg is used and its flexibility compared to anything else I know
Furthermore, it is honest and balanced - security issues are always
there and it gives an accurate description of why.
Anyway, I feel it can be improved by adding a sentence or two
somewhere regarding portability. Just have a look at fate.ffmpeg.org -
it compiles, runs, and passes fate on Linux, Mac OS, Windows, Solaris,
FreeBSD, OpenBSD, etc under a wide array of compilers, libraries, etc.
It is definitely a lot of work writing portable code across such
platforms, and I have appreciated this first hand with some recent
work that I have done. How many projects out there are this good in
terms of portability? I estimate that a significant fraction of e.g
GitHub projects are Linux/Mac OS X specific - many will fail even on a
POSIX platform, let alone Windows. This is part of the general trap I
have noticed of the incorrect "POSIX == Linux". Then you have cases
like systemd, which don't even bother - Linux is their only platform,
and even there they have quite restrictive kernel/libc dependencies.
Thus, FFmpeg can rightfully be proud of this accomplishment, and IMHO
should mention it publicly on the page. I can help/submit patches
regarding wording if others agree with this.
Regarding the large array of platforms, as can be seen from the
patches I have submitted over the past few weeks, one long term goal I
have is getting to a "nearly -Werror" state at least on the most
recent clang/gcc. Already notice that most warnings are from older
compilers, non clang/gcc, windows, etc, which in many cases give us
nothing (since newer ones anyway warn for the good ones).
Nevertheless, these are occasionally useful.
Latest clang/gcc are on the order of 100 warnings, and I think with
some more work, this can be brought down to 10 (for the most annoying
ones). If this happens, it should help us in treating warnings on
latest clang/gcc more seriously than before. Among these two, I have
been far more impressed with clang than gcc.
This might stir the flames, but who knows: maybe in a year we can
seriously consider -Werror for a certain set of "core platforms"
(which can be voted upon; recall the leadership committee etc). By a
"platform" I mean a complete environment: set of configure flags,
compiler flags, compiler versions, etc.
More information about the ffmpeg-devel