x264 is a free software library and application for encoding video streams into the H.264/MPEG-4 AVC compression format, and is released under the terms of the GNU GPL.

Features

  • Provides best-in-class performance, compression, and features.
  • Achieves dramatic performance, encoding 4 or more 1080p streams in real-time on a single consumer-level computer.
  • Gives the best quality, having the most advanced psychovisual optimizations.
  • Support features necessary for many different applications, such as television broadcast, Blu-ray low-latency video applications, and web video.
  • x264 forms the core of many web video services, such as YouTube, Facebook, Vimeo, and Hulu. It is widely used by television broadcasters and ISPs.

Encoder features

  • 8x8 and 4x4 adaptive spatial transform
  • Adaptive B-frame placement
  • B-frames as references / arbitrary frame order
  • CAVLC/CABAC entropy coding
  • Custom quantization matrices
  • Intra: all macroblock types (16x16, 8x8, 4x4, and PCM with all predictions)
  • Inter P: all partitions (from 16x16 down to 4x4)
  • Inter B: partitions from 16x16 down to 8x8 (including skip/direct)
  • Interlacing (MBAFF)
  • Multiple reference frames
  • Ratecontrol: constant quantizer, constant quality, single or multipass ABR, optional VBV
  • Scenecut detection
  • Spatial and temporal direct mode in B-frames, adaptive mode selection
  • Parallel encoding on multiple CPUs
  • Predictive lossless mode
  • Psy optimizations for detail retention (adaptive quantization, psy-RD, psy-trellis)
  • Zones for arbitrarily adjusting bitrate distribution

What's New

  • Prevent VBV from lowering quantizer too much
  • This code seemed to act up unexpectedly sometimes, creating a situation where in 1-pass VBV mode, a frame's quantizer would drop all the way to qpmin and then shoot back upwards to qpmax, causing serious visual issues.
  • This change may decrease bitrate in VBV mode, but that is preferable to the artifacting produced by this code.
  • Improve subme7 at low QPs and add subme7 support in lossless mode.