On 08/04/15 4:29 PM, Ronald S. Bultje wrote:
> Yeah I didn't test it. Anyway, the goal is indeed to remove 200 bytes. I
> don't care about the 200 bytes. I care that a vp9-decoder-only build has
> about 100 source files, most of which are obviously not needed. I care
> about the sum of the parts, not any part alone. Some examples of what code

Ah, in that case it's certainly a good idea.

> my beautifully small libav* was compiling:
> 
> libavformat: id3v1.o, id3v2.o, sdp.o, riff.o, mux.o
> libavcodec: vorbis_parser.o, xiph.o, avdct.o, audioconvert.o, bswapdsp.o,

Odd, bswapdsp shouldn't be built if it's a vp9 decoder only build. configure 
supposedly 
enables it only with some specific decoders and encoders, and vp9 is not one of 
them.

> dv_profile.o, imgconvert.o, qsv_api.o, resample.o, resample2.o
> libavutil: EVERYTHING

True, libavutil pretty much compiles everything unconditionally. There were 
talks about 
making it modularized like the other libs, but it never went anywhere. A 
vp9-decoder-only 
certainly doesn't need all the crypto stuff beyond crc or md5.
Right now i think only pixelutils (needed by some lavfi filters) can be 
disabled with 
configure.

> external libs linked: xlib, zlib, vda, xcb, iconv, bzlib, lzma

Afaik those are considered "system" libs, so they are enabled by default unlike 
external 
decoder/encoder libraries. It could certainly be changed so they are not linked 
if no 
module requires them, like bzlib which is needed only by matroska demuxer, or 
lzma by the 
tiff decoder.
You can nonetheless disable them all with --disable-whatever with configure for 
now.

> 
> I'm happy to do some work on each of the above and make it easier to create
> minimal libav* builds; the emms is obviously insignificant in and by
> itself, but we can certainly do better than this and the overall effect
> would be useful.

Agree.
libavutil shouldn't be hard since every module is pretty much standalone. What 
needs to 
be decided is if we do like pixelutils (install the header unconditionally, but 
error 
out when the API is used and the library was compiled without the 
functionality), or not 
install/compile anything at all.
It probably comes down to what will create the least amount of havoc downstream.

> 
> Ronald

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

Reply via email to