x264 — это свободная библиотека программных компонентов для кодирования видеопотоков H.264/MPEG-4 AVC.
x264 is a free library for encoding H.264/MPEG-4 AVC video streams.
Изменения: Significantly faster CABAC and CAVLC residual coding and bit cost calculation (Early-terminate in residual writing using stored nnz counts. To allow the above, store nnz counts for luma and chroma DC. Add assembly functions to find the last nonzero coefficient in a block. Overall ~1.9% faster at subme9+8x8dct+qp25 with CAVLC, ~0.7% faster with CABAC. Note this changes output slightly with CABAC RDO because it requires always storing correct nnz values during RDO, which wasn't done before in cases it wasn't useful. CAVLC output should be equivalent.)
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%-ое снижение битрэйта без потери качества.
Фильтр
деблокирования: показывает видимые блоки во время кодирования (гораздо лучший
метод по сравнению с пост-процессингом). Отличный метод для кодирования с
использованием низкого битрэйта.