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 (1630-1643):
- Fix crash in fake-interlaced at some resolutions;
- Add missing emms after nal_encode. Caused random, bizarre failures with some calling applications.;
- Fix a use of ALIGNED_ARRAY_16 on ARM;
- Deduplicate the ALIGN macro, move it to common.h;
- Add error message for invalid [de]muxer selection;
- Make version.sh indicate "M" for local commits too;
- Display SSIM measurement in db as well;
- Take more shortcuts in i4x4/i8x8 analysis. Based on the scores of the H and V modes, rule out modes which are unlikely. Small compression loss (0.1-0.5%) and large speed gain (10-30% faster intra analysis). Not enabled in slower encoding modes. Also make C versions of the merged SATD functions in order to eliminate branches based on their availability.;
- Preprocessing cosmetics. Unify input/output defines to HAVE_* format. Define values as 1 to simplify conditionals.;
- Exempt Win x86_64 from memalign hack. The API mandates all mallocs are 16 byte aligned. Remove unused int that stores sizeof malloc in memalign hack.;
- Remove double-dereferences for MB width/height data. Store it in x264_t instead of going through the SPS.;
- Template load_pic_pointers based on interlaced. Significantly speeds up cache_load in the non-interlaced case. Also various other minor optimizations in cache_load and cache_save.;
- Warn about shadowed variable declarations. Also get rid of a few instances of variable shadowing.;
- Replace some divisions with shifts.
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%-ое снижение битрэйта без потери качества.
- Фильтр деблокирования: показывает видимые блоки во время кодирования (гораздо лучший метод по сравнению с пост-процессингом). Отличный метод для кодирования с использованием низкого битрэйта.
Cross-MinGW with GCC 4.5.1 x86_32, fprofiled / Cross-MinGW with GCC 4.5.1 x86_64, fprofiled)
Скачать / Download:
Unpatched, fprofiled, GCC 4.5.1: (svn rev. 160521, Pre-Release, 2010.06.10); (avs input, lavf input, ffms input, mp4 output.); (ffmpeg svn.23560, ffms2 svn.312, pthreads cvs.2.9.0, gpac cvs.20100610, all static).: |
x86: |
x264 Video Codec rev. 1643 x86 (2.19 Мбайт 2010-06-10 13:12:02) (generic) |
x264 Video Codec rev. 1643 x86 -march=amdfam10 (2.19 Мбайт 2010-06-10 13:11:21) (-march=amdfam10 (Athlon X2 7x50, Phenom X3/X4, Phenom II, Athlon II)) |
x264 Video Codec rev. 1643 x86 -march=core2 (2.17 Мбайт 2010-06-10 13:10:42) (-march=core2) |
|
x64: |
x264 Video Codec rev. 1643 x64 (2.27 Мбайт 2010-06-10 13:10:02) (generic)
|
x264 Video Codec rev. 1643 x64 -march=amdfam10 (2.26 Мбайт 2010-06-10 13:09:26) (-march=amdfam10 (Athlon X2 7x50, Phenom X3/X4, Phenom II, Athlon II)) |
x264 Video Codec rev. 1643 x64 -march=core2 (2.24 Мбайт 2010-06-10 13:08:47) (-march=core2) |
|