[x264-devel] x264 Development Newsletter: Vol 36

Jason Garrett-Glaser jason at x264.com
Tue Apr 23 23:03:20 CEST 2013


This is the thirty-sixth x264 development newsletter. This is a
regular email containing updates on fixes and improvements in the most
recent x264 push, along with updates on what's coming next.  Previous
versions can be found in the mailing list archives.

In addition to the usual, this update includes a massive amount of
AVX2 optimizations targeted at Intel's upcoming Haswell CPUs. I've
attached a short document explaining some of x264's AVX2 optimizations
and providing some performance results, for anyone curious. I've also
put it up on scribd at
http://www.scribd.com/doc/137419114/Introduction-to-AVX2-optimizations-in-x264.

Fixes:

Fix some undefined behavior in x264_ratecontrol_mb.

Fix array overreads in x264_cqm_init that caused miscompilation in gcc 4.8.

x86inc: fix some corner cases of SWAP macros.

x86: correctly check stack alignment for Atom hadamard_ac function

Fix y4m input with C420paldv colorspace.

lavf input: fix use of deprecated fields. Fixes build with newer libavformats.

Correctly show "avs: no" in configure output when --disable-avf is used.

Disable mbtree assembly with --cpu-independent, since results vary
between versions because of different rounding.

Improvements:

Add slice-min-mbs and slices-max features, to further optionally
constraint slice count and layout.

Improve weighted prediction offset and scale search for improved fade quality.

Add OpenCL lookahead support (off by default). See the commit log for
much more detailed information.

x86-64: cabac_block_residual assembly code, ~1-2% faster overall.

x86: SSSE3 ads_mvs, for ~4% faster overall on preset "placebo".

x86: SSSE3 coeff_level_run, using the same technique as in ads_mvs.
~1-7% faster depending on settings with CAVLC.

x86: over three thousand lines of new AVX2 assembly code, optimized
for Haswell CPUs.

x86-64: BMI2 cabac_residual functions.

Jason Garrett-Glaser

The x264 Team
-------------- next part --------------
A non-text attachment was scrubbed...
Name: haswell avx2.pdf
Type: application/pdf
Size: 120397 bytes
Desc: not available
URL: <http://mailman.videolan.org/pipermail/x264-devel/attachments/20130423/ffd6bfb6/attachment-0001.pdf>


More information about the x264-devel mailing list