[FFmpeg-devel] Codec Routing

2014-08-21 Thread Chuck Burfoot
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

2014-08-21 Thread Timothy Gu
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