On Thu, May 12, 2016 at 05:19:46PM +0200, Anton Khirnov wrote:
> Quoting Diego Biurrun (2016-05-11 17:36:31)
> > On Thu, May 05, 2016 at 02:01:27PM +0200, Anton Khirnov wrote:
> > > 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.
> > 
> > I agree with the premise, but not fully with the conclusion.  Yes, it's
> > complex; yes, we will never do a perfect job and the details should be
> > in the full manual.  Nonetheless I think we can (try to) do a better job
> > here and provide a little more detail in place.
> 
> Now it's not clear to me -- do you want me to make any changes in this
> patch or are those thoughts for future improvements?

Since you/we are working on it anyway, it would be great to change this
patch already and not wait for it to happen at some uncertain future
point in time.

> > > > 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).
> > 
> > I'm open to this suggestion, it's good.  What I would like to avoid is
> > people reading through this list and getting "OMG I need to enable all"
> > syndrome.  Marking some libs as (more or less) redundant should help a
> > lot in this regard.
> 
> People (and especially distros) will try to enable ALL TEH FEATUREZ
> anyway.

Let's try to keep our hopes up.  Assuming that everything is futile just
sets us up for failure.

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

Reply via email to