[x264-devel] x264 Development Newsletter: Vol 9

Jason Garrett-Glaser jason at x264.com
Mon Jan 10 22:09:37 CET 2011


This is the ninth x264 development newsletter.  If you missed the
first eight, 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:

The win32 alignment crash issue is actually fixed now.  Apparently gcc
doesn't work right unless you initialize zero arrays explicitly.

High bit depth now compiles with --disable-asm properly again.

SATD predictors with high bit depth work properly with --no-mbtree on.
 Bug resulted in bizarre/wrong bitrates in CRF mode with --no-mbtree.

The lavf demuxer no longer memory leaks like crazy on inputs with
multiple video streams.

Some overflows in VFR ratecontrol with extreme timebases have been
fixed.  These affected some actual videos.

SSIM now works properly in 10-bit.

A bug with negative costs that caused assertions on some videos in
high bit depth mode has been fixed.

YV12 now works correctly in the resize filter (there was an issue with
swapped chroma planes).

The endianness test and as test in configure now work properly in
cross-compile mode.

Weightp no longer prints random extra linebreaks to the statsfile.

A few minor improvements have been made to the parameter SEI.

Improvements:

Some incorrect GCC uninitialized variable warnings have been shut up.

Metric craptons of high bit depth assembly have been added, for
significant performance improvements.  Thanks to Google Code-In (now
over) and our students for their enormous amount of work, particularly
Daniel Kang.

Also a few improvements in 8-bit assembly functions as well.

Check an extra offset in weightp analysis, for improved compression on
fades with --weightp 1 (and slightly, but much less, improved with
weightp 2).

Improve reference ordering in 3D frame-interleaved mode.

VFR-aware ratecontrol: MB-tree and non-MB-tree ratecontrol will now be
aware of how long frames last.  This results in greatly improved
quality in VFR video, particularly dedup'd anime and similar content.
It is now even MORE important that calling applications give x264
correct timestamps!  Note this also affects the definition of CRF;
higher framerate videos will get lower quality at the same CRF, which
should improve how well CRF measures quality (as compared to the human
brain itself).

Upcoming:

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

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.

VBV Emergency Mode is finally completed, with just fine-tuning and
bugfixing left.  This makes x264 able to deal gracefully with extreme
input combined with VBV restrictions (e.g. noise, Doremi Labs test
boxes).  This is important for some broadcast applications.  This was
delayed due to Google Code-In.

Adaptive MBAFF development is coming along, with B-frames being
finished up currently.

x262 is under development: a best-in-class MPEG-2 encoder built using
the x264 framework.  Basic structure is done, with intra coding
finished and inter coding begun.

Work is planned to integrate x264 with the Sandy Bridge's encoding
ASIC for improved encoding performance.  Current status is: waiting on
Intel (these guys move at the speed of a paraplegic three-toed sloth swimming
down a frozen river of bricks while chained to an osmium anchor).

Jason Garrett-Glaser

The x264 Team


More information about the x264-devel mailing list