Thanks Carl, that was a very helpful response. I ended up using the following compiler flags:

FLAGS="$FLAGS --enable-shared --disable-symver"
FLAGS="$FLAGS --enable-small --optimization-flags=-O2"
FLAGS="$FLAGS --disable-doc"
FLAGS="$FLAGS --disable-ffmpeg"
FLAGS="$FLAGS --disable-ffplay"
FLAGS="$FLAGS --disable-ffprobe"
FLAGS="$FLAGS --disable-ffserver"
FLAGS="$FLAGS --disable-avdevice"
FLAGS="$FLAGS --disable-swresample"
FLAGS="$FLAGS --disable-swscale"
FLAGS="$FLAGS --disable-postproc"
FLAGS="$FLAGS --disable-avfilter"
FLAGS="$FLAGS --disable-everything"
FLAGS="$FLAGS --disable-gpl"
FLAGS="$FLAGS --enable-demuxer=acc,flac,h263,h264,m4v,matroska,mp3,mpegvideo,ogg,pcm_alaw,pcm_f32be,pcm_f32le,pcm_f64be,pcm_f64le,pcm_mulaw,pcm_s16be,pcm_s16le,pcm_s24be" FLAGS="$FLAGS --enable-demuxer=pcm_s24le,pcm_s32be,pcm_s32le,pcm_s8,pcm_u16be,pcm_u16le,pcm_u24be,pcm_u24le,pcm_u32be,pcm_u32le,pcm_u8,rtp,rtsp,sdp,wav" FLAGS="$FLAGS --enable-parser=aac,aac_latm,flac,h263,h264,mpeg4video,mpegaudio,mpegvideo,vorbis,vp8"
FLAGS="$FLAGS --enable-decoder=mp3"
FLAGS="$FLAGS --enable-protocol=http,https,mmsh,mmst"
FLAGS="$FLAGS --disable-debug"


Interestingly enough, if I leave off "--enable-decoder=mp3" then I'm unable to extract metadata from mp3 files. It would appear the decoder is also required even though I enabled the demuxer and parser. Any thoughts? I'm still trying to understand how these components work together.

On 10/11/2012 09:42 AM, Carl Eugen Hoyos wrote:
William Seemann <wseemann@...> writes:

      FLAGS="$FLAGS --enable-shared --disable-symver"
(You could add --disable-debug although it is not
default for shared anyway iirc.)

      FLAGS="$FLAGS --enable-small --optimization-flags=-O2"
There are two possibilities:
Either "-O2" is good (be it for all use cases, or only for
--enable-small), then it should be made default (either in
all cases, or if --enable-small was selected) = please
report that it should be made default (and why), so other
users profit from your experience!
Or it is bad, then don't use it ;-)

      FLAGS="$FLAGS --disable-doc"
      FLAGS="$FLAGS --disable-ffmpeg"
      FLAGS="$FLAGS --disable-ffplay"
      FLAGS="$FLAGS --disable-ffprobe"
      FLAGS="$FLAGS --disable-ffserver"
      FLAGS="$FLAGS --disable-avdevice"
      FLAGS="$FLAGS --disable-swresample"
      FLAGS="$FLAGS --disable-swscale"
      FLAGS="$FLAGS --disable-postproc"
      FLAGS="$FLAGS --disable-avfilter"
      FLAGS="$FLAGS --disable-everything"
Doesn't --disable-everything make the others
unneeded (at least some of them)?

      FLAGS="$FLAGS --disable-gpl"
This is unneded (disable-gpl is the default).

      FLAGS="$FLAGS --enable-parsers"
I suspect this enables a very large part of the
software you disabled above. Try to enable
only the parsers you need.

      FLAGS="$FLAGS --enable-protocol=http"
      FLAGS="$FLAGS --enable-demuxers"

For instance, if I only need to extract metadata
for mp3, ogg, and flac what specifically needs to
be enabled?
Did you try --enable-demuxer=mp3,ogg,flac instead of
--enable-demuxers?

Carl Eugen

_______________________________________________
Libav-user mailing list
[email protected]
http://ffmpeg.org/mailman/listinfo/libav-user

_______________________________________________
Libav-user mailing list
[email protected]
http://ffmpeg.org/mailman/listinfo/libav-user

Reply via email to