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 (1571-1583):
- Make options SEI use weight* instead of wpred*. More intuitive and maps more reasonably to the CLI options. Breaks statsfile backwards-compatibility.;
- Shrink a few x86 asm functions. Add a few more instructions to cut down on the use of the 4-byte addressing mode.;
- Deduplicate asm constants, automate name prefixing. Auto-prefix global constants with x264_ in cextern. Eliminate x264_ prefix from asm files; automate it in cglobal. Deduplicate asm constants wherever possible to save data cache (move them to a new const-a.asm). Remove x264_emms() entirely on non-x86 (don't even call an empty function). Add cextern_naked for a non-prefixed cextern (used in checkasm).;
- Shrink some more constant arrays;
- Remove unnecessary debugging assert. Shouldn't have been in r1568 to begin with;
- Error out on invalid input stride. Might catch some crashes due to buggy calling applications.;
- More accurate MV prediction on edges in lookahead;
- Improve temporal MV prediction. Predict based on the results of p16x16 search, not final MVs. This lets us get predictions even if mode decision chose intra. Also improves cache coherency.;
- Fix sliced-threads + interlaced. Broken in r1546.;
- Add field-order detection to y4m demuxer;
- Don't force row QPs to integer values with VBV. VBV should no longer raise the bitrate of the video. That is, at a given quality level or average bitrate, turning on VBV should only lower the bitrate. This isn't quite true if adaptive quant is off, but nobody should be doing that anyways. Also may result in slightly more accurate per-row VBV ratecontrol.;
- Remove unnecessary --enable options. Change --enable-visualize to actually check for X11 support.;
- Fix unresolved symbol in r1573. gnu ld didn't complain, but some other linkers did.
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. 159093, Pre-Release, 2010.05.06); (avs input, lavf input, ffms input, mp4 output.); (ffmpeg svn.23034, ffms2 svn.311, pthreads cvs.2.9.0, gpac cvs.20100506, all static).: |
x86: |
x264 Video Codec rev. 1583 x86 (2.79 Мбайт 2010-05-06 14:17:20) (generic) |
x264 Video Codec rev. 1583 x86 -march=amdfam10 (2.79 Мбайт 2010-05-06 14:18:02) (-march=amdfam10 (Athlon X2 7x50, Phenom X3/X4, Phenom II, Athlon II)) |
x264 Video Codec rev. 1583 x86 -march=core2 (2.77 Мбайт 2010-05-06 14:18:50) (-march=core2) |
|
x64: |
x264 Video Codec rev. 1583 x64 (2.88 Мбайт 2010-05-06 14:19:44) (generic)
|
x264 Video Codec rev. 1583 x64 -march=amdfam10 (2.87 Мбайт 2010-05-06 14:21:07) (-march=amdfam10 (Athlon X2 7x50, Phenom X3/X4, Phenom II, Athlon II)) |
x264 Video Codec rev. 1583 x64 -march=core2 (2.85 Мбайт 2010-05-06 14:22:16) (-march=core2) |
|