тЕРПЪЙФПТЙК Sisyphus
рПУМЕДОЕЕ ПВОПЧМЕОЙЕ: 1 ПЛФСВТС 2023 | рБЛЕФПЧ: 18631 | рПУЕЭЕОЙК: 37733535
en ru br
тЕРПЪЙФПТЙЙ ALT
S:164-alt1.1
5.1: 106-alt1.M50P.1
4.1: 0.59-alt0.20080418.1
4.0: 0.56-alt0.671.1
www.altlinux.org/Changes

зТХРРБ :: чЙДЕП
рБЛЕФ: x264

 зМБЧОБС   йЪНЕОЕОЙС   уРЕЛ   рБФЮЙ   Sources   ъБЗТХЪЙФШ   Gear   Bugs and FR  Repocop 

%define svnrev 671

%define _optlevel 3
%def_enable gui
%def_with utils
%def_with xyuv
%def_enable visualize
%def_disable mp4
%def_enable shared
%def_enable static
%def_enable pthread
%def_disable debug
%def_disable prof
%def_enable pic
#----------------------------------------------------------------------
%define subst_enable_to() %{expand:%%{?_enable_%{1}:--enable-%{2}}} %{expand:%%{?_disable_%{1}:--disable-%{2}}}

Name: x264
%define lname lib%name
Version: 0.56
%define rel 1
%ifdef svnrev
Release: alt0.%svnrev.%rel
Source0: %name-svn-r%svnrev.tar.bz2
%else
Release: alt%rel
Source0: %name-%version.tar.bz2
%endif
Source1: %{name}_gtk.uk.po.bz2
Patch0: %name-svn-r669-build.patch
Patch1: %name-svn-r671-yasm.patch
Summary: CLI H.264 encoder
Summary(uk_UA.CP1251): CLI H.264 кодер
Summary(ru_RU.CP1251): CLI H.264 кодер
URL: http://www.videolan.org/%name.html
# svn checkout svn://svn.videolan.org/x264/trunk x264
License: GPL2
Group: Video

BuildRequires: yasm
%{?_with_xyuv:BuildRequires: libSDL-devel}
%if_enabled gui
BuildRequires: fontconfig libgtk+2-devel libX11-devel ImageMagick
%else
%{?_enable_visualize:BuildRequires: libX11-devel}
%endif


%description
%name is a free library for encoding H264/AVC video streams. The code is
written from scratch.
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.

This package includes CLI based H.264 encoder.

%description -l uk_UA.CP1251
%name - вільна бібліотека для кодування відеопотоків H264/AVC. Код
написано на пустому місці.
Властивості кодера:
- CAVLC/CABAC.
- Мультіпосилання.
- Intra: всі типи макроблоків (16x16, 8x8 та 4x4 з усіма
 передбаченнями).
- Inter P: усі розподіли (від 16x16 до 4x4).
- Inter B: роподіли від 16x16 до 8x8 (включаючи skip/direct).
- Ratecontrol: сталий квантизатор, одно- або багатопрохідний ABR,
 додатковий VBV.
- Виявлення обрізки сцени.
- Адаптивне розміщення B-кадрів.
- B-кадри у вигляді посилань / довільний порядок кадрів.
- 8x8 та 4x4 адаптивне просторове перетворення.
- Безвтратний метод.
- Пристосовувані матриці квантування.
- Паралельне кодування множини слайсів.

Цей пакет включає CLI H.264 кодер.

%description -l ru_RU.CP1251
%name - свободная библиотека для кодирования видеопотоков H264/AVC. Код
написан на пустом месте.
Свойства кодера:
- CAVLC/CABAC.
- Мультиссылки.
- Intra: все типы макроблоков (16x16, 8x8 и 4x4 со всеми
 предвидениями).
- Inter P: все распределения (от 16x16 до 4x4).
- Inter B: распределения от 16x16 до 8x8 (включая skip/direct).
- Ratecontrol: постоянный квантизатор, одно- или многопроходный ABR,
 дополнительный VBV.
- Обнаружение обрезки сцены.
- Адаптивное розмещение B-кадров.
- B-кадры в виде ссылок / произвольный порядок кадров.
- 8x8 и 4x4 адаптивное пространственное превращение.
- Метод без потерь.
- Приспосабливаемые матрицы квантования.
- Параллельное кодирование множества слайсов.

Этот пакет содержит CLI H.264 кодер.


%if_enabled gui
%package gtk
Group: Video
Summary: GTK+ based H.264 encoder
Summary(uk_UA.CP1251): GTK+ базований кодер H.264
Summary(ru_RU.CP1251): GTK+ базированный кодер H.264
Provides: %name-gui = %version-%release

%description gtk
%name is a free library for encoding H264/AVC video streams. The code is
written from scratch.
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.

This package includes GTK+ based H.264 encoder.

%description gtk -l uk_UA.CP1251
%name - вільна бібліотека для кодування відеопотоків H264/AVC. Код
написано на пустому місці.
Властивості кодера:
- CAVLC/CABAC.
- Мультіпосилання.
- Intra: всі типи макроблоків (16x16, 8x8 та 4x4 з усіма
 передбаченнями).
- Inter P: усі розподіли (від 16x16 до 4x4).
- Inter B: роподіли від 16x16 до 8x8 (включаючи skip/direct).
- Ratecontrol: сталий квантизатор, одно- або багатопрохідний ABR,
 додатковий VBV.
- Виявлення обрізки сцени.
- Адаптивне розміщення B-кадрів.
- B-кадри у вигляді посилань / довільний порядок кадрів.
- 8x8 та 4x4 адаптивне просторове перетворення.
- Безвтратний метод.
- Пристосовувані матриці квантування.
- Паралельне кодування множини слайсів.

Цей пакет включає GTK+ базований кодер H.264.

%description gtk -l ru_RU.CP1251
%name - свободная библиотека для кодирования видеопотоков H264/AVC. Код
написан на пустом месте.
Свойства кодера:
- CAVLC/CABAC.
- Мультиссылки.
- Intra: все типы макроблоков (16x16, 8x8 и 4x4 со всеми
 предвидениями).
- Inter P: все распределения (от 16x16 до 4x4).
- Inter B: распределения от 16x16 до 8x8 (включая skip/direct).
- Ratecontrol: постоянный квантизатор, одно- или многопроходный ABR,
 дополнительный VBV.
- Обнаружение обрезки сцены.
- Адаптивное розмещение B-кадров.
- B-кадры в виде ссылок / произвольный порядок кадров.
- 8x8 и 4x4 адаптивное пространственное превращение.
- Метод без потерь.
- Приспосабливаемые матрицы квантования.
- Параллельное кодирование множества слайсов.

Этот пакет содержит GTK+ базированный кодер H.264.
%endif


%if_with utils
%package utils
Group: Video
Summary: H.264 encoder utils
Summary(uk_UA.CP1251): Утиліти кодера H.264
Summary(ru_RU.CP1251): Утилиты кодера H.264

%description utils
%name is a free library for encoding H264/AVC video streams. The code is
written from scratch.
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.

This package includes %name encoder utils.

%description utils -l uk_UA.CP1251
%name - вільна бібліотека для кодування відеопотоків H264/AVC. Код
написано на пустому місці.
Властивості кодера:
- CAVLC/CABAC.
- Мультіпосилання.
- Intra: всі типи макроблоків (16x16, 8x8 та 4x4 з усіма
 передбаченнями).
- Inter P: усі розподіли (від 16x16 до 4x4).
- Inter B: роподіли від 16x16 до 8x8 (включаючи skip/direct).
- Ratecontrol: сталий квантизатор, одно- або багатопрохідний ABR,
 додатковий VBV.
- Виявлення обрізки сцени.
- Адаптивне розміщення B-кадрів.
- B-кадри у вигляді посилань / довільний порядок кадрів.
- 8x8 та 4x4 адаптивне просторове перетворення.
- Безвтратний метод.
- Пристосовувані матриці квантування.
- Паралельне кодування множини слайсів.

Цей пакет включає утиліти для %name.

%description utils -l ru_RU.CP1251
%name - свободная библиотека для кодирования видеопотоков H264/AVC. Код
написан на пустом месте.
Свойства кодера:
- CAVLC/CABAC.
- Мультиссылки.
- Intra: все типы макроблоков (16x16, 8x8 и 4x4 со всеми
 предвидениями).
- Inter P: все распределения (от 16x16 до 4x4).
- Inter B: распределения от 16x16 до 8x8 (включая skip/direct).
- Ratecontrol: постоянный квантизатор, одно- или многопроходный ABR,
 дополнительный VBV.
- Обнаружение обрезки сцены.
- Адаптивное розмещение B-кадров.
- B-кадры в виде ссылок / произвольный порядок кадров.
- 8x8 и 4x4 адаптивное пространственное превращение.
- Метод без потерь.
- Приспосабливаемые матрицы квантования.
- Параллельное кодирование множества слайсов.

Этот пакет содержит утилиты для %name.
%endif


%if_enabled shared
%package -n %lname
Summary: H.264 codec shared library
Summary(uk_UA.CP1251): Роздільна бібліотека кодека H.264
Summary(ru_RU.CP1251): Розделяемая библиотека кодека H.264
Group: System/Libraries
Conflicts: %{lname}_54
%ifarch x86_64
Provides: %lname.so.54()(64bit) %lname.so.55()(64bit)
%else
Provides: %lname.so.54 %lname.so.55
%endif

%description -n %lname
%name is a free library for encoding H264/AVC video streams. The code is
written from scratch.
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.

This package includes the shared library needed to run %lname-based
software.

%description -n %lname -l uk_UA.CP1251
%name - вільна бібліотека для кодування відеопотоків H264/AVC. Код
написано на пустому місці.
Властивості кодера:
- CAVLC/CABAC.
- Мультіпосилання.
- Intra: всі типи макроблоків (16x16, 8x8 та 4x4 з усіма
 передбаченнями).
- Inter P: усі розподіли (від 16x16 до 4x4).
- Inter B: роподіли від 16x16 до 8x8 (включаючи skip/direct).
- Ratecontrol: сталий квантизатор, одно- або багатопрохідний ABR,
 додатковий VBV.
- Виявлення обрізки сцени.
- Адаптивне розміщення B-кадрів.
- B-кадри у вигляді посилань / довільний порядок кадрів.
- 8x8 та 4x4 адаптивне просторове перетворення.
- Безвтратний метод.
- Пристосовувані матриці квантування.
- Паралельне кодування множини слайсів.

Цей пакет включає роздільну бібліотеку, необхідну для виконання
програм, що потребують %lname.

%description -n %lname -l ru_RU.CP1251
%name - свободная библиотека для кодирования видеопотоков H264/AVC. Код
написан на пустом месте.
Свойства кодера:
- CAVLC/CABAC.
- Мультиссылки.
- Intra: все типы макроблоков (16x16, 8x8 и 4x4 со всеми
 предвидениями).
- Inter P: все распределения (от 16x16 до 4x4).
- Inter B: распределения от 16x16 до 8x8 (включая skip/direct).
- Ratecontrol: постоянный квантизатор, одно- или многопроходный ABR,
 дополнительный VBV.
- Обнаружение обрезки сцены.
- Адаптивное розмещение B-кадров.
- B-кадры в виде ссылок / произвольный порядок кадров.
- 8x8 и 4x4 адаптивное пространственное превращение.
- Метод без потерь.
- Приспосабливаемые матрицы квантования.
- Параллельное кодирование множества слайсов.

Этот пакет включает разделяемую библиотеку, необходимую для исполнения
программ, требующих %lname.
%endif


%package -n %lname-devel
Summary: Development files of H.264 codec library
Summary(uk_UA.CP1251): Файли для розробки з використанням бібліотеки кодека H.264
Summary(ru_RU.CP1251): Файлы для разработки с использованием библиотеки кодека H.264
Group: Development/C
Requires: %lname%{?_disable_shared:-devel-static} = %version-%release

%description -n %lname-devel
%name is a free library for encoding H264/AVC video streams. The code is
written from scratch.
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.

This package includes the header files needed to develop %lname-based
software.

%description -n %lname-devel -l uk_UA.CP1251
%name - вільна бібліотека для кодування відеопотоків H264/AVC. Код
написано на пустому місці.
Властивості кодера:
- CAVLC/CABAC.
- Мультіпосилання.
- Intra: всі типи макроблоків (16x16, 8x8 та 4x4 з усіма
 передбаченнями).
- Inter P: усі розподіли (від 16x16 до 4x4).
- Inter B: роподіли від 16x16 до 8x8 (включаючи skip/direct).
- Ratecontrol: сталий квантизатор, одно- або багатопрохідний ABR,
 додатковий VBV.
- Виявлення обрізки сцени.
- Адаптивне розміщення B-кадрів.
- B-кадри у вигляді посилань / довільний порядок кадрів.
- 8x8 та 4x4 адаптивне просторове перетворення.
- Безвтратний метод.
- Пристосовувані матриці квантування.
- Паралельне кодування множини слайсів.

Цей пакет включає файли заголовків, необхідних для розробки програм з
використанням %lname.

%description -n %lname-devel -l ru_RU.CP1251
%name - свободная библиотека для кодирования видеопотоков H264/AVC. Код
написан на пустом месте.
Свойства кодера:
- CAVLC/CABAC.
- Мультиссылки.
- Intra: все типы макроблоков (16x16, 8x8 и 4x4 со всеми
 предвидениями).
- Inter P: все распределения (от 16x16 до 4x4).
- Inter B: распределения от 16x16 до 8x8 (включая skip/direct).
- Ratecontrol: постоянный квантизатор, одно- или многопроходный ABR,
 дополнительный VBV.
- Обнаружение обрезки сцены.
- Адаптивное розмещение B-кадров.
- B-кадры в виде ссылок / произвольный порядок кадров.
- 8x8 и 4x4 адаптивное пространственное превращение.
- Метод без потерь.
- Приспосабливаемые матрицы квантования.
- Параллельное кодирование множества слайсов.

Этот пакет включает файлы заголовков, необходимых для разработки
программ с иcпользованием %lname.


%if_enabled static
%package -n %lname-devel-static
Summary: Static H.264 codec library
Summary(uk_UA.CP1251): Статична бібліотека кодека H.264
Summary(ru_RU.CP1251): Статическая библиотека кодека H.264
Group: Development/C
Requires: %lname-devel = %version-%release

%description -n %lname-devel-static
%name is a free library for encoding H264/AVC video streams. The code is
written from scratch.
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.

This package includes the static library needed to develop
%lname-based software.

%description -n %lname-devel-static -l uk_UA.CP1251
%name - вільна бібліотека для кодування відеопотоків H264/AVC. Код
написано на пустому місці.
Властивості кодера:
- CAVLC/CABAC.
- Мультіпосилання.
- Intra: всі типи макроблоків (16x16, 8x8 та 4x4 з усіма
 передбаченнями).
- Inter P: усі розподіли (від 16x16 до 4x4).
- Inter B: роподіли від 16x16 до 8x8 (включаючи skip/direct).
- Ratecontrol: сталий квантизатор, одно- або багатопрохідний ABR,
 додатковий VBV.
- Виявлення обрізки сцени.
- Адаптивне розміщення B-кадрів.
- B-кадри у вигляді посилань / довільний порядок кадрів.
- 8x8 та 4x4 адаптивне просторове перетворення.
- Безвтратний метод.
- Пристосовувані матриці квантування.
- Паралельне кодування множини слайсів.

Цей пакет включає статичну бібліотеку, необхідну для розробки програм з
використанням %lname.

%description -n %lname-devel-static -l ru_RU.CP1251
%name - свободная библиотека для кодирования видеопотоков H264/AVC. Код
написан на пустом месте.
Свойства кодера:
- CAVLC/CABAC.
- Мультиссылки.
- Intra: все типы макроблоков (16x16, 8x8 и 4x4 со всеми
 предвидениями).
- Inter P: все распределения (от 16x16 до 4x4).
- Inter B: распределения от 16x16 до 8x8 (включая skip/direct).
- Ratecontrol: постоянный квантизатор, одно- или многопроходный ABR,
 дополнительный VBV.
- Обнаружение обрезки сцены.
- Адаптивное розмещение B-кадров.
- B-кадры в виде ссылок / произвольный порядок кадров.
- 8x8 и 4x4 адаптивное пространственное превращение.
- Метод без потерь.
- Приспосабливаемые матрицы квантования.
- Параллельное кодирование множества слайсов.

Этот пакет включает статическую библиотеку, необходимую для разработки
программ с иcпользованием %lname.
%endif


%prep
%setup %{?svnrev: -n %name-svn-r%svnrev}
bzip2 -dc %SOURCE1 > gtk/uk.po
%patch0 -p1
%patch1 -p1

%build
%ifarch x86_64
subst 's/^UNAMEM=.*$/UNAMEM=x86_64/' configure
%endif
%define _optlevel 3
%configure \
   %{subst_enable debug} \
   %{subst_enable_to prof gprof} \
   %{subst_enable pthread} \
   %{subst_enable pic} \
   %{subst_enable shared} \
   %{subst_enable static} \
   %{subst_enable_to mp4 mp4-output} \
   %{subst_enable_to gui gtk} \
   %{subst_enable visualize} \
   --disable-avis-input

%make_build %{?_enable_static:%lname.a} %name
%if_enabled gui
%make_build -C gtk
convert gtk/%name.ico %name.png
%endif
%if_with utils
pushd tools
gcc %optflags -o avc2avi avc2avi.c
%{?_with_xyuv:gcc %optflags -o xyuv xyuv.c -lSDL}
popd
%endif


%install
%make_install DESTDIR=%buildroot install
%if_enabled gui
%make_install -C gtk DESTDIR=%buildroot install
ln -s %{name}_gtk_encode %buildroot%_bindir/g%name
install -pD -m0644 %name.png %buildroot%_niconsdir/%name.png
install -d -m 0755 %buildroot%_desktopdir
iconv -f cp1251 -t UTF8 > %buildroot%_desktopdir/%{name}_gtk_encode.desktop <<__MENU__
[Desktop Entry]
Version=1.0
Encoding=UTF-8
Exec=%{name}_gtk_encode %%U
Name=%name encoder
Name[uk]=%name кодер
Name[ru]=%name кодер
GenericName=%{name}_gtk_encode
Icon=%name
Terminal=false
Type=Application
Comment=GUI for %name encoder
Comment[ua]=GUI для %name кодера
Comment[ru]=GUI для %name кодера
Categories=GTK;Application;AudioVideo;
__MENU__
%find_lang %{name}_gtk
%endif
%{?_with_utils:install -c -m 755 tools/{avc2avi,countquant_%name.pl,%name-rd.sh%{?_with_xyuv:,xyuv}} %buildroot%_bindir}
for n in 54 55; do
   ln -sf %lname.so.%version %buildroot%_libdir/%lname.so.$n
done


%if_enabled shared
%post -n %lname -p %post_ldconfig
%postun -n %lname -p %postun_ldconfig
%endif


%if_enabled gui
%post gtk
%update_menus

%postun gtk
%clean_menus
%endif


%files
%_bindir/%name


%if_enabled gui
%files gtk -f %{name}_gtk.lang
%_bindir/g%name
%_bindir/%{name}_gtk_encode
%dir %_datadir/%name
%_niconsdir/*
%_desktopdir/*
%_datadir/%name/*
%endif


%if_with utils
%files utils
%doc tools/q_matrix_jvt.cfg
%_bindir/avc2avi
%{?_with_xyuv:%_bindir/xyuv}
%_bindir/countquant_%name.pl
%_bindir/%name-rd.sh
%endif


%if_enabled shared
%files -n %lname
%doc doc/*.txt AUTHORS
%_libdir/%lname.so.*
%endif


%files -n %lname-devel
%{?_disable_shared:%doc doc/*.txt AUTHORS}
%_includedir/*
%_pkgconfigdir/*
%if_enabled shared
%_libdir/*.so
%else
%doc doc/*.txt AUTHORS
%endif


%if_enabled static
%files -n %lname-devel-static
%_libdir/*.a
%endif


%changelog

рПМОЩК changelog НПЦОП РТПУНПФТЕФШ ЪДЕУШ

 
ДЙЪБКО Й ТБЪТБВПФЛБ: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
ФЕЛХЭЙК НБКОФЕКОЕТ: Michael Shigorin