x264 (x86/x64) — это свободная библиотека программных компонентов для кодирования видеопотоков H.264/MPEG-4 AVC.
x264 (x86/x64)is a free library for encoding H.264/MPEG-4 AVC video streams.
Изменения: Add AltiVec version of hadamard_ac. 2.4x faster than the C version; Add support for no-b-adapt + pre-scenecut (patch by BugMaster); Pre-scenecut was generally better than regular scenecut in terms of accuracy and regular scenecut didn't work in threaded mode anyways; Add no-scenecut option (scenecut=0 is now no scenecut; previously it was -1); Fix an incorrect bias towards P-frames near scenecuts with B-adapt 2; Simplify pre-scenecut code.; Fix scenecut and VBV with videos of width/height <= 32; Slightly faster 8x16 SAD on Penryn Core 2 (Same as MMX 8x16 cacheline SAD, but calls SSE2 8x16 SAD in non-cacheline case. Only Nehalem benefits from sizes smaller than 8x16, and Nehalem doesn't use cacheline functions, so no smaller versions are included.); Remove pre-scenecut from fprofile commands as well. Also add psy-trellis to fprofile
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%-ое снижение битрэйта без потери качества.
Фильтр
деблокирования: показывает видимые блоки во время кодирования (гораздо лучший
метод по сравнению с пост-процессингом). Отличный метод для кодирования с
использованием низкого битрэйта.