[x264-devel] Optimizing x264 for still frames

Joel Anderson hohums at gmail.com
Wed Jun 18 23:25:01 CEST 2014


Hi,

I made a simple tweak, outside of x264 to not encode a frame if it hasn't
changed.  It basically does a quick early out sample pass and then a memcmp
on areas it didn't sample.   On 720p it results on a huge improvement at
very small overhead (for .01% cpu cost it drops the CPU 3% when nothing is
happening in the scene).  I was surprised that x264 isn't doing something
like this by default. One possibly is that it might be expecting frames to
be always moving... making the early out pointless.

Anyway I was wondering about how to improve this optimization further and
if there is simply a setting I'm missing.

1) Is there simply a x264 setting that will perform something like this
optimization?
2) How can I do this on the slice level? (ie do minimal processing if a
slice has no changes from the previous)  Has anyone experimented with this?
I pretty much would like at least a starting point in the x264 code for
this.
3) Other than changing bitrate or lowering the quality type setting changes
is there any other simple performance optimization changes someone can
suggest?

Cheers,
Hohums
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/x264-devel/attachments/20140618/b7f7333e/attachment.html>


More information about the x264-devel mailing list