x264 - H.264(MPEG-4 AVC) кодировщик (x86/x64) - это свободная библиотека программных компонентов для кодирования видеопотоков H.264/MPEG-4 AVC.
x264 - H.264(MPEG-4 AVC) Encoder (x86/x64) is a free library for encoding H.264/MPEG-4 AVC video streams.
Изменения / Changes:
-
Fix overread/possible crash with intra refresh + VBV;
-
Fix crash in --demuxer y4m with unsupported colorspace;
-
Force keyint-min 1 with Blu-ray. Fixes an issue with referencing across I-frames that's prohibited in Blu-ray for some godforsaken reason.;
-
Fix normalization of colorspace when input is packed YUV 4:2:2;
-
ARM: align asm functions to 4 bytes. Some linkers apparently fail to correctly align ARM functions when mixing with Thumb code.;
-
Fix win32 pthread_cond_signal. Isn't used by x264 currently, so didn't cause a problem. Fix backported from libav.;
-
Add Windows resource file. Displays version info in Windows Explorer.;
-
Bump dates to 2012;
-
Use TV range algorithm for bit-depth conversions. Such sources are more common, so better to be correct for the common case. This also produces less error for the case of full range than the previous algorithm produced.;
-
Change %ifdef directives to %if directives in *.asm files. This allows combining multiple conditionals in a single statement.;
-
x86inc: add high halfword register support. Might be useful in a few cases.;
-
AVX 32-bit hpel_filter_h. Faster on Sandy Bridge. Also add details on unsuccessful optimizations in these functions.;
-
XOP 8x8 zigzags. Field: 35(mmx) ->16(xop) cycles. Frame: 32(ssse3)->20(xop) cycles.;
-
XOP frame_init_lowres. Covers both 8-bit and 16-bit, ~5-10% faster on Bulldozer.;
-
Clean up and optimize weightp, plus enable SSSE3 weight on SB/BDZ. Also remove unused AVX cruft.;
-
Minor asm optimizations/cleanup.;
-
x86inc: add TAIL_CALL macro to abstract a common asm idiom;
-
TBM, AVX2, FMA3, BMI1, and BMI2 CPU detection support. TBM and BMI1 are supported by Trinity/Piledriver. The others (and BMI1) will probably appear in Intel's upcoming Haswell. Also update x86inc with AVX2 stuff.
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.3: (svn rev. 183975, Pre-Release , 2012.02.07); (avs input, lavf input, ffms input, mp4 output.); (ffmpeg git-e806cea, ffms2 svn.643, pthreads 2.9.0.0 CVS-20110710, gpac svn.3901, all static).:
|