[FFmpeg-devel] [RFC] [PATCH] huffyuvenc, multithread and context=1

Christophe Gisquet christophe.gisquet at gmail.com
Wed Jun 11 19:26:13 CEST 2014


2014-06-10 22:28 GMT+02:00 Christophe Gisquet <christophe.gisquet at gmail.com>:
> Case in point for 1000 frames of a 1920x1080 VC1 video, without
> writing the output (hard drive speed being a limiting factor):
> - context 0: 1286434kB, ~42fps conversion
> - context 1: 653038kB, ~24fps
> - context 1, patch 0001: 651001kB, ~38fps / 21fps(1 thread)
> - context 1, patch 0002 (non-deterministic, should worsen with thread
> count): ~657xxxkB, ~40fps

More on this, considering context=0 uses a somewhat crude distribution
(using probability 1/d). I tried using noisier sequences also as well
as different distributions on a 6-cores PC:
context=0,1/d:    851974   27226   1137281
context=1:        471819   22604    972351
context=1,ND:     472875   22673    972582
context=0,1/d²:   619081   25069   1051500
context=0,1/d³:   501983   30454   1290561
context=0,lapl:   500650   31754   1304082

The last result, for a Laplace distribution (0,0.8), shows how
important adaption needs to be. On the other hand, using a probability
of 1/d² seems to perform better than the default one.

And removing the determinism in context=1 is not really a show-stopper
coding efficiency-wise. I'd personally prefer to go with that one, but
that feels like a new option rather than -strict -3 (you may want
non-experimental, standard stuff but with speed).

-- 
Christophe


More information about the ffmpeg-devel mailing list