[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