[FFmpeg-devel] QTRLE encode performance

Malcolm Bechard malcolm.bechard at gmail.com
Tue Feb 12 15:57:38 CET 2013


On Tue, Feb 12, 2013 at 8:19 AM, Alexis Ballier <alexis.ballier at gmail.com>wrote:

> 2013/2/11 Malcolm Bechard <malcolm.bechard at gmail.com>:
> > I'll be posting a patch for this soon (or can I just push it to the git
> > server?). I haven't done any threading yet, just improving that bulk copy
> > loop. I initially did my coding using VS2010 and manually replaced the
> > QTRLE encoder at runtime in the link-list of codecs.
> > Ran some tests at 1280x720, values are milliseconds per frame in the
> > avcodec_encode_video() call:
> > A single animated image getting a wavy distortion went from 180ms -> 12
> ms
> > Pure noise went from 200ms -> 8ms
> > A full frame of a single color went from 6ms -> 8ms, due to constant
> amount
> > of extra work added to each pixel.
> >
> > Another test at 1920x1080 of a movie trailer went from 150ms -> 30 ms.
>
> Did you manage this speed improvement by keeping the algorithm optimal
> or by using an heuristic ?
> Did you compare the size of the encoded video ?
>
> IIRC the heuristics I tried produced 10-20% bigger output on
> screencasts and the optimal n^2 algorithm was fast enough at that
> time. If your improvements keep optimal output size then I'm looking
> forward to see how you did this; if you use an heuristic, then please
> make it an option, the slow but optimal algorithm is still useful to
> me.
>
> Alexis.
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>

Just optimizing the algorithm, output files should be identical. I just
submitted the patch.

Malcolm


More information about the ffmpeg-devel mailing list