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. > > 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. Diego P.S.: Out of curiosity, what features does libopus provide that we miss? _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
