[FFmpeg-devel] QTRLE encode performance

Alexis Ballier alexis.ballier at gmail.com
Tue Feb 12 14:19:08 CET 2013

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


More information about the ffmpeg-devel mailing list