[FFmpeg-devel] Codec Routing
I have been investigating the ways and means of the 'routing' of FFMPEG internally. I've built from source binaries with Windows and C99to89. I build with --enable-libvpx. I was keenly interested in the ability of libvpx to create/encode webm with alpha. ( output from ffprobe ffprobe version 2.3.git Copyright (c) 2007-2014 the FFmpeg developers built on Aug 21 2014 09:14:40 with Microsoft (R) 32-bit C/C++ Optimizing Compi ler Version 16.00.40219.01 for 80x86 configuration: --toolchain=msvc --enable-shared --enable-libvpx --enable-libvo rbis --disable-pthreads libavutil 54. 5.100 / 54. 5.100 libavcodec 56. 0.101 / 56. 0.101 libavformat56. 1.100 / 56. 1.100 libavdevice56. 0.100 / 56. 0.100 libavfilter 5. 0.100 / 5. 0.100 libswscale 3. 0.100 / 3. 0.100 libswresample 1. 1.100 / 1. 1.100 ) Hey, it built and it 'seemed' to work. So I started digging in and then discovered that it doesn't decode alpha yet. HA, that was a surprise. So I started examining the FFmpeg codec HOWTO (http://wiki.multimedia.cx/index.php?title=FFmpeg_codec_HOWTO) and instrumented some printf instructions into libvpxdec.c in vpx_init() and vp8_decode(). These don't ever appear, so I also tried to do a fopen(abc.txt) and that doesn't get created. So WHAT routes the linkage to Where? So I dumped --codecs and low and behold DEV.L. vp8 On2 VP8 (decoders: vp8 libvpx ) (encoders: libvpx ) DEV.L. vp9 Google VP9 (decoders: vp9 libvpx-vp9 ) (encoders: libvpx-vp9 ) There's 2 DECODERS for vp8 and vp8 and the 'internal' one is used first ! Isn't that a build bug? Do I need to do a --disable-vp8, etc? ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] Codec Routing
Hi, This question belongs in ffmpeg-u...@ffmpeg.org mailing list. I have CC'd this mail to that mailing list, and please don't reply to ffmpeg-devel anymore. On Thu, Aug 21, 2014 at 4:55 PM, Chuck Burfoot ch...@burfoots.com wrote: I build with --enable-libvpx. I was keenly interested in the ability of libvpx to create/encode webm with alpha. So you only want encoding with libvpx? The questions below are all about decoding. [...] So I dumped --codecs and low and behold DEV.L. vp8 On2 VP8 (decoders: vp8 libvpx ) (encoders: libvpx ) DEV.L. vp9 Google VP9 (decoders: vp9 libvpx-vp9 ) (encoders: libvpx-vp9 ) There's 2 DECODERS for vp8 and vp9 and the 'internal' one is used first ! Isn't that a build bug? No. The internal decoder is much faster than libvpx (See http://x264dev.multimedia.cx/archives/499), and not many people use alpha in VP8. That's why we made it default. If you really want to use libvpx to decode vp8, use something like: ffmpeg -c:v libvpx -i INPUT ... Do I need to do a --disable-vp8, etc? If you want to force libvpx decoding at all times and disable the internal VP8 decoder, do --disable-decoder=vp8. Timothy ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel