[x264-devel] x264 Development Newsletter: vol 26

Jason Garrett-Glaser jason at x264.com
Mon Jan 16 02:12:04 CET 2012


This is the twenty-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.

Fixes:

Fix crash with --fullhelp when compiled against recent ffmpeg (not
libav): don't falsely assume that all pixel formats have a
description.

Fix an overflow in the 8-bit x86 VSAD function.

Fix a possible overflow in PCM costs at very high QPs caused by VBV
emergency mode (more likely with 10-bit/4:4:4), resulting in borked
analysis.

Fix chroma CQM loading for 4:4:4 mode.

Fix a crash with sliced threads and height <= 112.

Fix incorrect inclusion handling of inttypes.h; necessary prerequisite
for Android build support.

Limit SSIM to 100db (to avoid a floating point error if the encoding
is lossless).

Improvements:

Add out-of-tree build support.

Improve and update the resize filter.  Fix deprecated use of some
libav functions and automatically pick the closest x264cli-supported
CSP for any input pixel format.

Google Code-In has helped us add a huge amount of new assembly code,
finishing off most of the remaining missing high bit depth assembly
code, as well as a few missing 8-bit functions, plus a ton of NEON
code too.

Improve x86inc's (x264asm) 64-bit support: allow use of all 15
registers via the abstraction layer, and use registers more smartly on
win64 (less pushing/popping).

Use a large LUT to speed up calculation of CAVLC zero-run codes.
Gives quite a speed boost, especially with trellis and RD, even on
chips with less cache.

Massive CABAC trellis optimizations: restructure/optimize C code for a
60% performance boost, plus another 20% from an asm translation
(x86-64 only).  Helps the most at slower speed settings (i.e. trellis
2), where the overall speed boost can be 25%+, but also helps on
faster settings as long as trellis is used.

Upcoming:

Google Code-In is almost done; a bunch of NEON assembly still needs review.

--device and automatic --level restriction support is in the works, as
part of Google Code-In.  The patch is done, but needs review and adoption.

A per-option help system is in the works, as part of Google Code-In.
The patch is done, but needs editing of the help entries.

x262 is under development: a best-in-class MPEG-2 encoder built using
the x264 framework.  Both P and B-frames are done and working.

Jason Garrett-Glaser

The x264 Team


More information about the x264-devel mailing list