Tested on current libav and ffmpeg @ 25846 svn revision playback only.
No need to bump current lavc/lavf requirements (52.25.0 and 52.45.0), as
all the "new" functions used arrived earlier than abovementioned
versions were published.
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
Seems that maxrate needs somekinda exponential function from bitrate (comparing
ffmpeg's libvpx presets) and cbr isn't something you likely will get out of this.
libavcodec doesn't allow multiple threads on some codecs, so blacklist them
to have only 1. Not sure if it would be easier just to revert few commits to
default whole to 1 thread.
I did't spot any other codecs that would exit if thread_count > 1 in libavcodec.
Fix#3613
Sends NULL-pict to encode when it's closing time, then encoder knows to
flush buffers and check that it has outputted all the frames.
Contains changes to x264/avcodec-module to implement that on encoder-side.
Add quick check on omxil/dirac/theora for that, so they don't crash.
And add likely-macro to x264/avcodec in check of NULL
If someone more familiar with dirac/theora/omxil encoder-modules could
check if they have buffers that need to be outputted, would be nice.
Fixes some tickets, but I failed to find any of those in trac.
Multiple cores are pretty common nowdays, so shouldn't be big issue. Maybe
better would be implement cpu-core counter, like in x264, but at the moment
only avcodec-module doesn't seem to handle i_threads=0 as automatic.
This removes outdated code.
It isn't nice to FFmpeg programmers to allow people to keep such old versions of lavc
52.2.0 allows the Audio Channel Layout to be defined.
Make some room for potential headers, You can now output VLC_CODEC_BMP
We use the same arbitrary value of 200 bytes than ffmpeg.c
Note: if we can ask FFmpeg to output RGBA (32bpp) or RGB48 (48bpp) then
the multiplier should be increased to 4 or 6 (needs to be investigated)
Pointed-out-by: ivoire
The avcodec module can be successfully opened to encode subtitle formats
that it recognizes, but support is absent and pf_encode_sub is never
set, which leads to a crash.