[FFmpeg-devel] Codec Routing

Chuck Burfoot chuck at burfoots.com
Fri Aug 22 01:55:39 CEST 2014


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

  libavformat    56.  1.100 / 56.  1.100

  libavdevice    56.  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?

 



More information about the ffmpeg-devel mailing list