x264 — это свободная библиотека программных компонентов для кодирования видеопотоков H.264/MPEG-4 AVC.
x264 is a free library for encoding H.264/MPEG-4 AVC video streams.
Изменения: Faster width4 SSD+SATD, SSE4 optimizations (Do satd 4x8 by transposing the two blocks' positions and running satd 8x4. Use pinsrd (SSE4) for faster width4 SSD. Globally replace movlhps with punpcklqdq (it seems to be faster on Conroe). Move mask_misalign declaration to cpu.h to avoid warning in encoder.c. These optimizations help on Nehalem, Phenom, and Penryn CPUs.); Fix MSVC compilation and clean up MSVC build file; Fix rare warning messages in ratecontrol due to r1020
Encoder features :
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: constant quantizer, single or
multipass ABR, optional VBV
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
Advanced
settings :
Enabling Cabac:
approximately 10% bitrate reduction without loss in quality, but is slow.
Enabling De-blocking Filter: smooths out visible blocks during
an encode (rather than by using post processing to smooth out blocks while
decoding). Is a good idea to enable for low bitrate encodes.
Возможности кодека x264:
Контекстнозависимое Адаптивное Бинарное Арифметическое
кодирование (CABAC) и Контекстнозависимое Адаптивное Кодирование с Переменной
Длиной Кодового Слова (CAVLC)
Поддержка нескольких ссылочных кадров
Все intra типы макроблоков (16x16, 8x8 и 4x4 — 8x8 это
часть AVC HP)
Все inter типы макроблоков P фрейма
B-Inter типы макроблоков от 16x16 до 8x8
Оптимизация отношения вносимых искажений к скорости потока
Несколько режимов работы управления скоростью потока:
постоянный квантователь, постоянное качество, одно- или многопроходный ABR с
режимом VBV
Обнаружение смены сцены
Адаптивная расстановка B-кадров, с возможностью
использования B кадров как ссылочных кадров
8x8 и 4x4 адаптивное пространственное преобразование (High
Profile)
Режим сжатия без потерь (отклоненный High Profile 4:4:4)
Произвольные матрицы квантования (High Profile)
Параллельное кодирование на нескольких CPU
Поддержка компрессии кадров с чересстрочной разверткой
(неадаптивный MBAFF — все макроблоки кодируются в режиме чересстрочных)
Доступные
настройки кодека для профессионалов:
Кодирование Cabac:
приблизительно 10%-ое снижение битрэйта без потери качества.
Фильтр
деблокирования: показывает видимые блоки во время кодирования (гораздо лучший
метод по сравнению с пост-процессингом). Отличный метод для кодирования с
использованием низкого битрэйта.