x264 (x86/x64) - это свободная библиотека программных компонентов для кодирования видеопотоков H.264/MPEG-4 AVC.
x264 (x86/x64) is a free library for encoding H.264/MPEG-4 AVC video streams.
Изменения / Changes (2009-2019):
-
Fix deprecation in libavformat usage. Replace av_open_input_file with avformat_open_input. Now requires libavformat 53.2.0 or newer.;
-
Fix link errors with libswscale/libavutil as shared libraries;
-
ARM: do not override the toolchain default for FPU ABI;
-
Avoid possible NaNs in B-frame output stats;
-
Fix SSIM calculation with sliced threads;
-
Eliminate extra layer of indirection for sps/pps references. Also remove poc type 1 support (it didn't work anyways) to reduce sps size;
-
Better x86 high bit depth predict_8x8c_p. Avoid the need to check for corner cases by reordering arithmetic. Also make a minor optimization to high bit depth predict_16x16_p;
-
Properly weight slice header lambda in chroma weightp analysis;
-
4:4:4 encoding support;
-
RGB encoding support. Much less efficient than YUV444, but easy to support using the YUV444 framework;
-
Fix resize filter crash with YUVJ* input pixfmt.
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%-ое снижение битрэйта без потери качества.
-
Фильтр деблокирования: показывает видимые блоки во время кодирования (гораздо лучший метод по сравнению с пост-процессингом). Отличный метод для кодирования с использованием низкого битрэйта.
Unpatched, fprofiled, GCC 4.6.2: (svn rev. 176126, Pre-Release , 2011.07.10); (avs input, lavf input, ffms input, mp4 output.); (ffmpeg git-2f56a97 , ffms2 svn.480, pthreads 2.9.0.0 CVS-20110710, gpac svn.3401, all static).:
|