Quoting Diego Biurrun (2016-05-04 10:00:51)
> First off: This is a brilliant general idea, that help text is badly in
> need of improvement.
> 
> On Tue, May 03, 2016 at 08:10:54AM +0200, Anton Khirnov wrote:
> > --- a/configure
> > +++ b/configure
> > @@ -185,53 +185,62 @@ Individual component options:
> > +
> > +  Using any of the following switches will allow Libav to link to the
> > +  corresponding external library. All the components depending on that 
> > library
> > +  will become enabled, if all their other dependencies are met and they 
> > are not
> > +  explicitly disabled. E.g. --enable-libwavpack will enable linking to
> > +  libwavpack and allow the libwavpack encoder to be built, unless it is
> > +  specifically disabled with --disable-encoder=libwavpack.
> > +
> > +  Note that only the system libraries are auto-detected. All the other 
> > external
> > +  libraries must be explicitly enabled.
> > +
> > +  --enable-avisynth          video frameserver
> > +  --enable-bzlib             bzip2 compression [autodetect]
> > +  --enable-frei0r            video filtering plugins
> > +  --enable-gnutls            crypto
> > +  --enable-libbs2b           Bauer stereophonic-to-binaural DSP
> > +  --enable-libcdio           audio CD input
> > +  --enable-libdc1394         IEEE 1394/Firewire camera input
> > +  --enable-libdcadec         DCA audio decoding
> > +  --enable-libfaac           AAC audio encoding
> > +  --enable-libfdk-aac        AAC audio encoding/decoding
> > +  --enable-libfreetype       font rendering
> > +  --enable-libgsm            GSM audio encoding/decoding
> > +  --enable-libilbc           ILBC audio encoding/decoding
> > +  --enable-libkvazaar        HEVC video encoding
> > +  --enable-libmp3lame        MP3 audio encoding
> > +  --enable-libnpp            CUDA processing
> > +  --enable-libopencore-amrnb AMR-NB audio encoding/decoding
> > +  --enable-libopencore-amrwb AMR-WB audio encoding/decoding
> > +  --enable-libopencv         computer vision
> > +  --enable-libopenh264       H.264 video encoding/decoding
> > +  --enable-libopenjpeg       JPEG 2000 image encoding/decoding
> > +  --enable-libopus           Opus audio encoding/decoding
> > +  --enable-libpulse          Pulseaudio sound server
> > +  --enable-librtmp           RTMP streaming
> > +  --enable-libschroedinger   Dirac video encoding/decoding
> > +  --enable-libsnappy         snappy compression
> > +  --enable-libspeex          Speex audio encoding/decoding
> > +  --enable-libtheora         Theora video encoding/decoding
> > +  --enable-libtwolame        MP2 audio encoding
> > +  --enable-libvo-aacenc      AAC audio encoding
> > +  --enable-libvo-amrwbenc    AMR-WB audio encoding
> > +  --enable-libvorbis         Vorbis audio encoding/decoding
> > +  --enable-libvpx            VP* video encoding/decoding
> > +  --enable-libwavpack        Wavpack audio encoding/decoding
> > +  --enable-libwebp           WebP image encoding/decoding
> > +  --enable-libx264           H.264 video encoding
> > +  --enable-libx265           HEVC video encoding
> > +  --enable-libxavs           Chinese AVS video encoding
> > +  --enable-libxcb            X window system protocol communication
> > +  --enable-libxcb-shm        X11 shm communication [auto]
> > +  --enable-libxcb-xfixes     X11 mouse rendering [auto]
> > +  --enable-libxvid           MPEG-4 ASP video encoding
> > +  --enable-openssl           crypto
> > +  --enable-x11grab           X11 grabbing through xlib (legacy, use xcb 
> > instead)
> > +  --enable-zlib              compression [autodetect]
> 
> The problem I see is that much of that reads as if it were functionality
> that is only externally available.  However, much of the functionality
> is natively available and the descriptions may suggest otherwise. 

The issue has also been raised by wm4 on IRC. But I think the subject is
quite complex and this short help text will never be able to properly
explain it, unless it grows into a full manual. So IMO the best we can
do is point the user to the full docs for more details.

> Long story short, I think this should be further subdivided into
> sections for libs that extend functionality in some way and libs that
> provide alternatives to existing functionality.

The problem I see with this approach is that those two categories are
not well defined. E.g. libopus does opus decoding (which we can also do
natively, though it does not have some special features libopus has) and
encoding (which we cannot do). So where does it go then?
Or take hardware decoders -- we typically have a sw alternative to all
of them, but one can also argue that it's a special kind of
functionality.

I agree that this table should be more structured, but I think it should
be on the basis of what the libraries do (e.g. audio/video/other stuff).

-- 
Anton Khirnov
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to