x264 is a freeware library that will enable users to easily encode H264/AVC video streams. The code is written by Laurent Aimar, Eric Petit(OS X), Min Chen (vfw/nasm), Justin Clay(vfw), Måns Rullgård and Loren Merritt from scratch.
MPEG-4 is a broad Open Standard developed by the Moving Picture Experts Group (MPEG), a working group of the International Organization for Standardization (ISO) which also did the well known MPEG-1 (MP3, VCD) and MPEG-2 (DVD, SVCD) Standards, standardizing all sorts of audio/video compression formats and much more
By its nature the MPEG-4 Standard doesn't aim at standardizing one potential product (e.g. something comparable to DVD) but covers a broad range of Sub-Standards, which Product Providers can choose from to follow, according to what they need for their product
The AVC/H.264 standard defines four different Profiles: Baseline, Main, Extended and High Profile:
- Baseline Profile offers I/P-Frames, supports progressive and CAVLC only
- Extended Profile offers I/P/B/SP/SI-Frames, supports progressive and CAVLC only
- Main Profile offers I/P/B-Frames, supports progressive and interlaced, and offers CAVLC or CABAC
- High Profile (aka FRExt) adds to Main Profile: 8x8 intra prediction, custom quants, lossless video coding, more yuv formats (4:4:4...)
Note: x264 is still considered alpha, so errors can (and will) occur!
· CAVLC/CABAC
· Multi-references
· Intra: all macroblock types (16x16, 8x8, and 4x4 with all predictions)
· Inter P: all partitions (from 16x16 down to 4x4)
· Inter B: partitions from 16x16 down to 8x8 (including skip/direct)
· Ratecontrol: optional VBV, single or multipass ABR, constant quantizer
· Scene cut detection
· Adaptive B-frame placement
· B-frames as references / arbitrary frame order
· 8x8 and 4x4 adaptive spatial transform
· Lossless mode
· Custom quantization matrices
· Parallel encoding of multiple slices
· Interlacing
What's New in This Release:
· VFR/framerate-aware ratecontrol, part 2
· MB-tree and qcomp complexity estimation now consider the duration of a frame in their calculations.
· This is very important for visual optimizations, as frames that last longer are inherently more important quality-wise.
· Improves VFR-aware PSNR as much as 1-2db on extreme test cases, ~0.5db on more ordinary VFR clips (e.g. deduped anime episodes).
· WARNING: This change redefines x264's internal quality measurement.
· x264 will now scale its quality based on the framerate of the video due to the aforementioned frame duration logic.
· That is, --crf X will give lower quality per frame for a 60fps video than for a 30fps one.
· This will make --crf closer to constant perceptual quality than previously.
· The "center" for this change is 25fps: that is, videos lower than 25fps will go up in quality at the same CRF and videos above will go down.
· This choice is completely arbitrary.
· Note that to take full advantage of this, x264 must encode your video ...