rebuilt with reviewed configure options to ensure support for needed codecs [release 7.1-2mamba;Thu Jan 16 2025]

This commit is contained in:
Silvan Calarco 2025-01-17 23:13:37 +01:00
parent 25ea4bd15a
commit d168caa38d
7 changed files with 428 additions and 130 deletions

View File

@ -1,11 +0,0 @@
diff -Nru ffmpeg-0.11.orig/libavformat/Makefile ffmpeg-0.11/libavformat/Makefile
--- ffmpeg-0.11.orig/libavformat/Makefile 2012-05-25 20:02:16.000000000 +0200
+++ ffmpeg-0.11/libavformat/Makefile 2012-06-07 15:44:41.922379209 +0200
@@ -6,6 +6,7 @@
HEADERS = avformat.h \
avio.h \
version.h \
+ url.h \
OBJS = allformats.o \
avio.o \

View File

@ -1,40 +0,0 @@
--- ffmpeg-0.4.9-pre1/libavcodec/Makefile.pic 2004-07-23 12:04:25.586018114 +0200
+++ ffmpeg-0.4.9-pre1/libavcodec/Makefile 2004-07-23 12:05:57.274315938 +0200
@@ -9,6 +9,10 @@
# NOTE: -I.. is needed to include config.h
CFLAGS=$(OPTFLAGS) -DHAVE_AV_CONFIG_H -I.. -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE
+ifeq ($(BUILD_SHARED),yes)
+CFLAGS+=$(PIC)
+endif
+
OBJS= common.o utils.o mem.o allcodecs.o \
mpegvideo.o jrevdct.o jfdctfst.o jfdctint.o\
mpegaudio.o ac3enc.o mjpeg.o resample.o resample2.o dsputil.o \
--- ffmpeg-0.4.9-pre1/libavformat/Makefile.pic 2004-04-24 17:16:23.000000000 +0200
+++ ffmpeg-0.4.9-pre1/libavformat/Makefile 2004-07-23 12:06:18.109608754 +0200
@@ -8,6 +8,10 @@
CFLAGS=$(OPTFLAGS) -I.. -I$(SRC_PATH) -I$(SRC_PATH)/libavcodec -DHAVE_AV_CONFIG_H -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE
+ifeq ($(BUILD_SHARED),yes)
+CFLAGS+=$(PIC)
+endif
+
OBJS= utils.o cutils.o os_support.o allformats.o
PPOBJS=
--- ffmpeg-0.4.9-pre1/configure.pic 2004-07-05 20:06:16.000000000 +0200
+++ ffmpeg-0.4.9-pre1/configure 2004-07-23 12:04:25.593018213 +0200
@@ -1144,7 +1144,10 @@
fi
if test "$lshared" = "yes" ; then
echo "BUILD_SHARED=yes" >> config.mak
- echo "PIC=-fPIC" >> config.mak
+ # it can work without PIC on x86
+ if test "$cpu" != "x86"; then
+ echo "PIC=-fPIC" >> config.mak
+ fi
fi
echo "EXTRALIBS=$extralibs" >> config.mak
version=`grep '#define FFMPEG_VERSION ' $source_path/libavcodec/avcodec.h |

View File

@ -1,12 +0,0 @@
diff -Nru ffmpeg-0.5.orig/configure ffmpeg-0.5/configure
--- ffmpeg-0.5.orig/configure 2009-03-01 18:57:14.000000000 +0100
+++ ffmpeg-0.5/configure 2009-10-17 05:33:41.000000000 +0200
@@ -1993,7 +1993,7 @@
enabled libspeex && require libspeex speex/speex.h speex_decoder_init -lspeex
enabled libtheora && require libtheora theora/theora.h theora_info_init -ltheora -logg
enabled libvorbis && require libvorbis vorbis/vorbisenc.h vorbis_info_init -lvorbisenc -lvorbis -logg
-enabled libx264 && require libx264 x264.h x264_encoder_open -lx264 -lm &&
+enabled libx264 && 1 -lx264 -lm &&
{ check_cpp_condition x264.h "X264_BUILD >= 65" ||
die "ERROR: libx264 version must be >= 0.65."; }
enabled libxvid && require libxvid xvid.h xvid_global -lxvidcore

View File

@ -1,11 +0,0 @@
--- ffmpeg/libavcodec/libx264.c 2008-08-20 18:34:13.000000000 +0200
+++ ffmpeg/libavcodec/libx264.c-gil 2008-08-20 21:10:26.000000000 +0200
@@ -221,7 +221,7 @@
else if(avctx->me_method == ME_FULL)
x4->params.analyse.i_me_method = X264_ME_ESA;
else if(avctx->me_method == ME_TESA)
- x4->params.analyse.i_me_method = X264_ME_TESA;
+ x4->params.analyse.i_me_method = 4; //X264_ME_TESA;
else x4->params.analyse.i_me_method = X264_ME_HEX;
x4->params.analyse.i_me_range = avctx->me_range;

View File

@ -0,0 +1,29 @@
--- ffmpeg-7.1/libavcodec/libx265.c.orig 2025-01-16 21:54:38.449157281 +0100
+++ ffmpeg-7.1/libavcodec/libx265.c 2025-01-16 21:54:43.055166676 +0100
@@ -661,7 +661,7 @@
{
libx265Context *ctx = avctx->priv_data;
x265_picture x265pic;
-#if X265_BUILD >= 210
+#if (X265_BUILD >= 210) && (X265_BUILD < 213)
x265_picture x265pic_layers_out[MAX_SCALABLE_LAYERS];
x265_picture* x265pic_lyrptr_out[MAX_SCALABLE_LAYERS];
#else
@@ -805,7 +805,7 @@
#endif
}
-#if X265_BUILD >= 210
+#if (X265_BUILD >= 210) && (X265_BUILD < 213)
for (i = 0; i < MAX_SCALABLE_LAYERS; i++)
x265pic_lyrptr_out[i] = &x265pic_layers_out[i];
@@ -844,7 +844,7 @@
pkt->flags |= AV_PKT_FLAG_KEY;
}
-#if X265_BUILD >= 210
+#if (X265_BUILD >= 210) && (X265_BUILD < 213)
x265pic_out = x265pic_lyrptr_out[0];
#else
x265pic_out = &x265pic_solo_out;

View File

@ -0,0 +1,280 @@
Submitted By: Douglas R. Reno <renodr at linuxfromscratch dot org>
Date: 2025-01-02
Initial Package Version: 7.1
Origin: Upstream Mailing List (https://ffmpeg.org/pipermail/ffmpeg-devel/2024-November/335575.html)
Upstream Status: Submitted
Description: Fixes building ffmpeg-7.1 with texinfo-7.2. The issue
is due to API changes in the Texinfo::Convert::HTML
perl submodule, where the gdt method was removed. The
patch uses the cdt method instead, and portability
guards are put into place for users who are using
older versions of Texinfo. Thanks goes to Marty Jack
for bringing it to our attention in the LFS ticket.
diff -Naurp ffmpeg-7.1.orig/doc/t2h.pm ffmpeg-7.1/doc/t2h.pm
--- ffmpeg-7.1.orig/doc/t2h.pm 2025-01-02 14:52:50.960834600 -0600
+++ ffmpeg-7.1/doc/t2h.pm 2025-01-02 14:53:01.048047754 -0600
@@ -54,12 +54,24 @@ sub get_formatting_function($$) {
}
# determine texinfo version
-my $program_version_num = version->declare(ff_get_conf('PACKAGE_VERSION'))->numify;
+my $package_version = ff_get_conf('PACKAGE_VERSION');
+$package_version =~ s/\+dev$//;
+my $program_version_num = version->declare($package_version)->numify;
my $program_version_6_8 = $program_version_num >= 6.008000;
# no navigation elements
ff_set_from_init_file('HEADERS', 0);
+my %sectioning_commands = %Texinfo::Common::sectioning_commands;
+if (scalar(keys(%sectioning_commands)) == 0) {
+ %sectioning_commands = %Texinfo::Commands::sectioning_heading_commands;
+}
+
+my %root_commands = %Texinfo::Common::root_commands;
+if (scalar(keys(%root_commands)) == 0) {
+ %root_commands = %Texinfo::Commands::root_commands;
+}
+
sub ffmpeg_heading_command($$$$$)
{
my $self = shift;
@@ -77,6 +89,9 @@ sub ffmpeg_heading_command($$$$$)
return $result;
}
+ # no need to set it as the $element_id is output unconditionally
+ my $heading_id;
+
my $element_id = $self->command_id($command);
$result .= "<a name=\"$element_id\"></a>\n"
if (defined($element_id) and $element_id ne '');
@@ -84,24 +99,40 @@ sub ffmpeg_heading_command($$$$$)
print STDERR "Process $command "
.Texinfo::Structuring::_print_root_command_texi($command)."\n"
if ($self->get_conf('DEBUG'));
- my $element;
- if ($Texinfo::Common::root_commands{$command->{'cmdname'}}
- and $command->{'parent'}
- and $command->{'parent'}->{'type'}
- and $command->{'parent'}->{'type'} eq 'element') {
- $element = $command->{'parent'};
+ my $output_unit;
+ if ($root_commands{$command->{'cmdname'}}) {
+ if ($command->{'associated_unit'}) {
+ $output_unit = $command->{'associated_unit'};
+ } elsif ($command->{'structure'}
+ and $command->{'structure'}->{'associated_unit'}) {
+ $output_unit = $command->{'structure'}->{'associated_unit'};
+ } elsif ($command->{'parent'}
+ and $command->{'parent'}->{'type'}
+ and $command->{'parent'}->{'type'} eq 'element') {
+ $output_unit = $command->{'parent'};
+ }
}
- if ($element) {
+
+ if ($output_unit) {
$result .= &{get_formatting_function($self, 'format_element_header')}($self, $cmdname,
- $command, $element);
+ $command, $output_unit);
}
my $heading_level;
# node is used as heading if there is nothing else.
if ($cmdname eq 'node') {
- if (!$element or (!$element->{'extra'}->{'section'}
- and $element->{'extra'}->{'node'}
- and $element->{'extra'}->{'node'} eq $command
+ if (!$output_unit or
+ (((!$output_unit->{'extra'}->{'section'}
+ and $output_unit->{'extra'}->{'node'}
+ and $output_unit->{'extra'}->{'node'} eq $command)
+ or
+ ((($output_unit->{'extra'}->{'unit_command'}
+ and $output_unit->{'extra'}->{'unit_command'} eq $command)
+ or
+ ($output_unit->{'unit_command'}
+ and $output_unit->{'unit_command'} eq $command))
+ and $command->{'extra'}
+ and not $command->{'extra'}->{'associated_section'}))
# bogus node may not have been normalized
and defined($command->{'extra'}->{'normalized'}))) {
if ($command->{'extra'}->{'normalized'} eq 'Top') {
@@ -111,7 +142,15 @@ sub ffmpeg_heading_command($$$$$)
}
}
} else {
- $heading_level = $command->{'level'};
+ if (defined($command->{'extra'})
+ and defined($command->{'extra'}->{'section_level'})) {
+ $heading_level = $command->{'extra'}->{'section_level'};
+ } elsif ($command->{'structure'}
+ and defined($command->{'structure'}->{'section_level'})) {
+ $heading_level = $command->{'structure'}->{'section_level'};
+ } else {
+ $heading_level = $command->{'level'};
+ }
}
my $heading = $self->command_text($command);
@@ -119,8 +158,8 @@ sub ffmpeg_heading_command($$$$$)
# if there is an error in the node.
if (defined($heading) and $heading ne '' and defined($heading_level)) {
- if ($Texinfo::Common::root_commands{$cmdname}
- and $Texinfo::Common::sectioning_commands{$cmdname}) {
+ if ($root_commands{$cmdname}
+ and $sectioning_commands{$cmdname}) {
my $content_href = $self->command_contents_href($command, 'contents',
$self->{'current_filename'});
if ($content_href) {
@@ -140,7 +179,13 @@ sub ffmpeg_heading_command($$$$$)
}
}
- if ($self->in_preformatted()) {
+ my $in_preformatted;
+ if ($program_version_num >= 7.001090) {
+ $in_preformatted = $self->in_preformatted_context();
+ } else {
+ $in_preformatted = $self->in_preformatted();
+ }
+ if ($in_preformatted) {
$result .= $heading."\n";
} else {
# if the level was changed, set the command name right
@@ -149,21 +194,25 @@ sub ffmpeg_heading_command($$$$$)
$cmdname
= $Texinfo::Common::level_to_structuring_command{$cmdname}->[$heading_level];
}
- # format_heading_text expects an array of headings for texinfo >= 7.0
if ($program_version_num >= 7.000000) {
- $heading = [$heading];
- }
- $result .= &{get_formatting_function($self,'format_heading_text')}(
+ $result .= &{get_formatting_function($self,'format_heading_text')}($self,
+ $cmdname, [$cmdname], $heading,
+ $heading_level +$self->get_conf('CHAPTER_HEADER_LEVEL') -1,
+ $heading_id, $command);
+
+ } else {
+ $result .= &{get_formatting_function($self,'format_heading_text')}(
$self, $cmdname, $heading,
$heading_level +
$self->get_conf('CHAPTER_HEADER_LEVEL') - 1, $command);
+ }
}
}
$result .= $content if (defined($content));
return $result;
}
-foreach my $command (keys(%Texinfo::Common::sectioning_commands), 'node') {
+foreach my $command (keys(%sectioning_commands), 'node') {
texinfo_register_command_formatting($command, \&ffmpeg_heading_command);
}
@@ -188,28 +237,56 @@ sub ffmpeg_begin_file($$$)
my $filename = shift;
my $element = shift;
- my $command;
- if ($element and $self->get_conf('SPLIT')) {
- $command = $self->element_command($element);
+ my ($element_command, $node_command, $command_for_title);
+ if ($element) {
+ if ($element->{'unit_command'}) {
+ $element_command = $element->{'unit_command'};
+ } elsif ($self->can('tree_unit_element_command')) {
+ $element_command = $self->tree_unit_element_command($element);
+ } elsif ($self->can('tree_unit_element_command')) {
+ $element_command = $self->element_command($element);
+ }
+
+ $node_command = $element_command;
+ if ($element_command and $element_command->{'cmdname'}
+ and $element_command->{'cmdname'} ne 'node'
+ and $element_command->{'extra'}
+ and $element_command->{'extra'}->{'associated_node'}) {
+ $node_command = $element_command->{'extra'}->{'associated_node'};
+ }
+
+ $command_for_title = $element_command if ($self->get_conf('SPLIT'));
}
- my ($title, $description, $encoding, $date, $css_lines,
- $doctype, $bodytext, $copying_comment, $after_body_open,
- $extra_head, $program_and_version, $program_homepage,
+ my ($title, $description, $keywords, $encoding, $date, $css_lines, $doctype,
+ $root_html_element_attributes, $body_attributes, $copying_comment,
+ $after_body_open, $extra_head, $program_and_version, $program_homepage,
$program, $generator);
- if ($program_version_num >= 7.000000) {
- ($title, $description, $encoding, $date, $css_lines,
- $doctype, $bodytext, $copying_comment, $after_body_open,
+ if ($program_version_num >= 7.001090) {
+ ($title, $description, $keywords, $encoding, $date, $css_lines, $doctype,
+ $root_html_element_attributes, $body_attributes, $copying_comment,
+ $after_body_open, $extra_head, $program_and_version, $program_homepage,
+ $program, $generator) = $self->_file_header_information($command_for_title,
+ $filename);
+ } elsif ($program_version_num >= 7.000000) {
+ ($title, $description, $encoding, $date, $css_lines, $doctype,
+ $root_html_element_attributes, $copying_comment, $after_body_open,
$extra_head, $program_and_version, $program_homepage,
- $program, $generator) = $self->_file_header_information($command);
+ $program, $generator) = $self->_file_header_information($command_for_title,
+ $filename);
} else {
($title, $description, $encoding, $date, $css_lines,
- $doctype, $bodytext, $copying_comment, $after_body_open,
- $extra_head, $program_and_version, $program_homepage,
- $program, $generator) = $self->_file_header_informations($command);
+ $doctype, $root_html_element_attributes, $copying_comment,
+ $after_body_open, $extra_head, $program_and_version, $program_homepage,
+ $program, $generator) = $self->_file_header_informations($command_for_title);
}
- my $links = $self->_get_links ($filename, $element);
+ my $links;
+ if ($program_version_num >= 7.000000) {
+ $links = $self->_get_links($filename, $element, $node_command);
+ } else {
+ $links = $self->_get_links ($filename, $element);
+ }
my $head1 = $ENV{"FFMPEG_HEADER1"} || <<EOT;
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
@@ -252,13 +329,25 @@ sub ffmpeg_program_string($)
if (defined($self->get_conf('PROGRAM'))
and $self->get_conf('PROGRAM') ne ''
and defined($self->get_conf('PACKAGE_URL'))) {
- return $self->convert_tree(
+ if ($program_version_num >= 7.001090) {
+ return $self->convert_tree(
+ $self->cdt('This document was generated using @uref{{program_homepage}, @emph{{program}}}.',
+ { 'program_homepage' => {'text' => $self->get_conf('PACKAGE_URL')},
+ 'program' => {'text' => $self->get_conf('PROGRAM') }}));
+ } else {
+ return $self->convert_tree(
$self->gdt('This document was generated using @uref{{program_homepage}, @emph{{program}}}.',
- { 'program_homepage' => $self->get_conf('PACKAGE_URL'),
- 'program' => $self->get_conf('PROGRAM') }));
+ { 'program_homepage' => {'text' => $self->get_conf('PACKAGE_URL')},
+ 'program' => {'text' => $self->get_conf('PROGRAM') }}));
+ }
} else {
- return $self->convert_tree(
- $self->gdt('This document was generated automatically.'));
+ if ($program_version_num >= 7.001090) {
+ return $self->convert_tree(
+ $self->cdt('This document was generated automatically.'));
+ } else {
+ return $self->convert_tree(
+ $self->gdt('This document was generated automatically.'));
+ }
}
}
if ($program_version_6_8) {

View File

@ -1,11 +1,9 @@
%define enable_gpl 1
%define enable_non_free 1
%define buildver %{version} %define buildver %{version}
Name: ffmpeg Name: ffmpeg
Epoch: 2 Epoch: 2
Version: 7.1 Version: 7.1
Release: 1mamba Release: 2mamba
Summary: Hyper fast MPEG1/MPEG4/H263/RV and AC3/MPEG audio encoder Summary: Hyper fast MPEG1/MPEG4/H263/RV and AC3/MPEG audio encoder
Group: System/Libraries Group: System/Libraries
Vendor: openmamba Vendor: openmamba
@ -13,62 +11,94 @@ Distribution: openmamba
Packager: Silvan Calarco <silvan.calarco@mambasoft.it> Packager: Silvan Calarco <silvan.calarco@mambasoft.it>
URL: https://ffmpeg.org/ URL: https://ffmpeg.org/
Source: http://ffmpeg.mplayerhq.hu/releases/ffmpeg-%{version}.tar.bz2 Source: http://ffmpeg.mplayerhq.hu/releases/ffmpeg-%{version}.tar.bz2
Patch1: %{name}-0.4.9-pic.patch Patch0: ffmpeg-5.1-add-av_stream_get_first_dts-for-chromium.patch
Patch2: %{name}-20080820svn-libx264.patch Patch1: ffmpeg-7.1-libx265-4.1.patch
Patch3: %{name}-0.5-x264.patch Patch2: ffmpeg-7.1-texinfo-7.2.patch
Patch4: %{name}-0.11-install_url_h.patch
Patch5: ffmpeg-5.1-add-av_stream_get_first_dts-for-chromium.patch
License: LGPL, GPL License: LGPL, GPL
## AUTOBUILDREQ-BEGIN ## AUTOBUILDREQ-BEGIN
BuildRequires: glibc-devel BuildRequires: glibc-devel
BuildRequires: ldconfig
BuildRequires: libSDL2-devel BuildRequires: libSDL2-devel
BuildRequires: libX11-devel BuildRequires: libX11-devel
BuildRequires: libXext-devel BuildRequires: libXext-devel
BuildRequires: libXv-devel BuildRequires: libXv-devel
BuildRequires: libalsa-devel BuildRequires: libalsa-devel
BuildRequires: libaom-devel
BuildRequires: libass-devel BuildRequires: libass-devel
BuildRequires: libavc1394-devel
BuildRequires: libbluray-devel BuildRequires: libbluray-devel
BuildRequires: libbs2b-devel
BuildRequires: libbzip2-devel BuildRequires: libbzip2-devel
%ifarch %{ix86} x86_64 BuildRequires: libcairo-devel
BuildRequires: libcrystalhd-devel BuildRequires: libdav1d-devel
%endif
BuildRequires: libdc1394-devel BuildRequires: libdc1394-devel
BuildRequires: libdrm-devel
BuildRequires: libdvdnav-devel
BuildRequires: libdvdread-devel
BuildRequires: libfontconfig-devel BuildRequires: libfontconfig-devel
BuildRequires: libfreetype-devel BuildRequires: libfreetype-devel
BuildRequires: libfribidi-devel
BuildRequires: libglib-devel
BuildRequires: libglslang-devel
BuildRequires: libglvnd-devel
BuildRequires: libgnutls-devel BuildRequires: libgnutls-devel
BuildRequires: libgsm-devel BuildRequires: libgsm-devel
BuildRequires: libharfbuzz-devel
BuildRequires: libiec61883-devel
BuildRequires: libjack-devel
BuildRequires: libjxl-devel
BuildRequires: liblame-devel BuildRequires: liblame-devel
BuildRequires: liblzma-devel BuildRequires: liblzma-devel
BuildRequires: libmodplug-devel BuildRequires: libmodplug-devel
BuildRequires: libopencore-amr-devel BuildRequires: libopencore-amr-devel
BuildRequires: libopenjpeg-devel BuildRequires: libopenjpeg-devel
BuildRequires: libopenmpt-devel
BuildRequires: libopus-devel BuildRequires: libopus-devel
BuildRequires: libplacebo-devel
BuildRequires: libpulseaudio-devel BuildRequires: libpulseaudio-devel
BuildRequires: librav1e-devel
BuildRequires: libraw1394-devel
BuildRequires: librsvg-devel
BuildRequires: librtmp-devel BuildRequires: librtmp-devel
BuildRequires: librubberband-devel
BuildRequires: libsnappy-devel
BuildRequires: libsndio-devel
BuildRequires: libsoxr-devel
BuildRequires: libspeex-devel BuildRequires: libspeex-devel
BuildRequires: libsrt-devel
BuildRequires: libssh-devel
BuildRequires: libsvt-av1-devel
BuildRequires: libtheora-devel BuildRequires: libtheora-devel
BuildRequires: libv4l-devel BuildRequires: libv4l-devel
BuildRequires: libva-devel BuildRequires: libva-devel
BuildRequires: libvdpau-devel BuildRequires: libvdpau-devel
BuildRequires: libvidstab-devel
BuildRequires: libvmaf-devel
BuildRequires: libvorbis-devel BuildRequires: libvorbis-devel
BuildRequires: libvpl-devel
BuildRequires: libvpx-devel BuildRequires: libvpx-devel
BuildRequires: libwebp-devel
BuildRequires: libx264-devel BuildRequires: libx264-devel
BuildRequires: libx265-devel
BuildRequires: libxcb-devel BuildRequires: libxcb-devel
BuildRequires: libxml2-devel
BuildRequires: libxvidcore-devel BuildRequires: libxvidcore-devel
BuildRequires: libz-devel BuildRequires: libz-devel
BuildRequires: libzeromq-devel
BuildRequires: libzimg-devel
BuildRequires: ocl-icd-devel
## AUTOBUILDREQ-END ## AUTOBUILDREQ-END
BuildRequires: amf-headers
BuildRequires: liba52dec-devel
BuildRequires: libavisynthplus-devel
BuildRequires: libenca-devel
BuildRequires: libfaad2-devel
BuildRequires: liborc-devel BuildRequires: liborc-devel
BuildRequires: libogg-devel BuildRequires: libogg-devel
BuildRequires: libfaad2-devel BuildRequires: libvapoursynth-devel
BuildRequires: libraw1394-devel BuildRequires: nv-codec-headers
BuildRequires: liba52dec-devel
BuildRequires: yasm-devel BuildRequires: yasm-devel
BuildRequires: ldconfig
# texi2html required # texi2html required
BuildRequires: tetex >= 3.0 BuildRequires: tetex >= 3.0
BuildRequires: libass-devel
BuildRequires: libenca-devel
Obsoletes: libffmpeg < 1:5.0 Obsoletes: libffmpeg < 1:5.0
Obsoletes: libav < 1:5.0 Obsoletes: libav < 1:5.0
@ -314,12 +344,15 @@ Obsoletes: libav-devel < 1:5.0
%description devel %description devel
This is a virtual package that contains the dependencies necessary for installing all the FFmpeg development packages. This is a virtual package that contains the dependencies necessary for installing all the FFmpeg development packages.
%debug_package %ifarch %{ix86}
%global _lto_cflags %{nil}
%endif
%prep %prep
%setup -q -n ffmpeg-%{buildver} %setup -q -n ffmpeg-%{buildver}
%define _default_patch_fuzz 2 %patch 0 -p1 -F2 -b .add-av_stream_get_first_dts-for-chromium
%patch 5 -p1 -b .add-av_stream_get_first_dts-for-chromium %patch 1 -p1
%patch 2 -p1 -b .texinfo-7.2
%build %build
# configure not generated by autoconf # configure not generated by autoconf
@ -335,50 +368,86 @@ export CFLAGS="$CFLAGS -Wno-error=incompatible-pointer-types -Wno-error=int-conv
--libdir="%{_libdir}" \ --libdir="%{_libdir}" \
--shlibdir="%{_libdir}" \ --shlibdir="%{_libdir}" \
--mandir="%{_mandir}" \ --mandir="%{_mandir}" \
--enable-libmp3lame \
--enable-libvorbis \
--enable-libtheora \
--enable-libgsm \
--enable-libdc1394 \
--enable-shared \
--enable-pthreads \
--disable-stripping \ --disable-stripping \
--enable-libopenjpeg \ --enable-pic \
--enable-libspeex \ --enable-runtime-cpudetect \
--enable-swscale \ --enable-amf \
--enable-avisynth \
--enable-cuda-llvm \
%ifnarch %{ix86}
--enable-lto \
%endif
--enable-fontconfig \
--enable-frei0r \
--enable-gmp \
--enable-gnutls \
--enable-gpl \
--enable-ladspa \
--enable-libaom \
--enable-libass \ --enable-libass \
--enable-libbluray \ --enable-libbluray \
--enable-libbs2b \
--enable-libdav1d \
--enable-libdc1394 \
--enable-libdrm \
--enable-libdvdnav \
--enable-libdvdread \
--enable-libfreetype \ --enable-libfreetype \
--enable-libfribidi \
--enable-libglslang \
--enable-libgsm \
--enable-libharfbuzz \
--enable-libiec61883 \
--enable-libjack \
--enable-libjxl \
--enable-libmodplug \ --enable-libmodplug \
--enable-libmp3lame \
--enable-libopencore_amrnb \
--enable-libopencore_amrwb \
--enable-libopenjpeg \ --enable-libopenjpeg \
--enable-libopenmpt \
--enable-libopus \ --enable-libopus \
--enable-libplacebo \
--enable-libpulse \ --enable-libpulse \
--enable-librav1e \
--enable-librsvg \
--enable-librubberband \
--enable-librtmp \ --enable-librtmp \
--enable-libsnappy \
--enable-libsoxr \
--enable-libspeex \
--enable-libsrt \
--enable-libssh \
--enable-libsvtav1 \
--enable-libtheora \
--enable-libv4l2 \ --enable-libv4l2 \
--enable-libvidstab \
--enable-libvmaf \
--enable-libvorbis \
--enable-libvpl \
--enable-libvpx \ --enable-libvpx \
--enable-libwebp \
--enable-libx264 \
--enable-libx265 \
--enable-libxcb \
--enable-libxml2 \
--enable-libxvid \ --enable-libxvid \
--enable-pic \ --enable-libzimg \
--enable-postproc \ --enable-libzmq \
--enable-runtime-cpudetect \ --enable-nvdec \
--enable-nvenc \
--enable-opencl \
--enable-opengl \
--enable-shared \ --enable-shared \
--enable-swresample \ --enable-vapoursynth \
--enable-vdpau \ --enable-vdpau \
%if %enable_gpl
--enable-gpl \
--enable-fontconfig \
--enable-gnutls \
--enable-version3 \ --enable-version3 \
--enable-libxvid \ --enable-vulkan \
--enable-postproc \
--enable-libopencore-amrnb \
--enable-libopencore-amrwb \
%if %enable_non_free
--enable-nonfree \
%endif
%ifarch %{ix86} %ifarch %{ix86}
--disable-decoder="vvc" --disable-decoder="vvc"
%endif %endif
%endif
# --enable-nonfree \
%make %make
@ -395,15 +464,6 @@ ln -s ../libavcodec.a %{buildroot}%{_libdir}/libavcodec/libavcodec.a
%clean %clean
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" [ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
%files %files
%defattr(-,root,root) %defattr(-,root,root)
%{_bindir}/ffmpeg %{_bindir}/ffmpeg
@ -551,6 +611,9 @@ ln -s ../libavcodec.a %{buildroot}%{_libdir}/libavcodec/libavcodec.a
%{_docdir}/ffmpeg/* %{_docdir}/ffmpeg/*
%changelog %changelog
* Thu Jan 16 2025 Silvan Calarco <silvan.calarco@mambasoft.it> 7.1-2mamba
- rebuilt with reviewed configure options to ensure support for needed codecs
* Mon Sep 30 2024 Automatic Build System <autodist@openmamba.org> 7.1-1mamba * Mon Sep 30 2024 Automatic Build System <autodist@openmamba.org> 7.1-1mamba
- automatic version update by autodist - automatic version update by autodist