rebuilt by autoport with build requirements: libx265-devel>=0:4.0-1mamba [release 34.0-3mamba;Sun Nov 10 2024]
This commit is contained in:
parent
eca12c8d5c
commit
3a6e28e67d
@ -1,86 +0,0 @@
|
|||||||
From 9572dc5a124b46ac60c6cea34994ccc69ec53442 Mon Sep 17 00:00:00 2001
|
|
||||||
From: David Engel <dengel@mythtv.org>
|
|
||||||
Date: Thu, 27 Jul 2023 20:49:56 -0500
|
|
||||||
Subject: [PATCH] Fix FFmpeg compilation with binutils >= 2.41.
|
|
||||||
MIME-Version: 1.0
|
|
||||||
Content-Type: text/plain; charset=UTF-8
|
|
||||||
Content-Transfer-Encoding: 8bit
|
|
||||||
|
|
||||||
This is from FFmpeg commit effadce6c756247ea8bae32dc13bb3e6f464f0eb .
|
|
||||||
|
|
||||||
Author: Rémi Denis-Courmont <remi@remlab.net>
|
|
||||||
Date: Sun Jul 16 18:18:02 2023 +0300
|
|
||||||
|
|
||||||
avcodec/x86/mathops: clip constants used with shift instructions within inline assembly
|
|
||||||
|
|
||||||
Fixes assembling with binutil as >= 2.41
|
|
||||||
|
|
||||||
Signed-off-by: James Almer <jamrial@gmail.com>
|
|
||||||
|
|
||||||
Refs #765
|
|
||||||
|
|
||||||
(cherry picked from commit f9f9bba62ee2743c816cb2b9634b6b4397e5e2e3)
|
|
||||||
---
|
|
||||||
.../external/FFmpeg/libavcodec/x86/mathops.h | 26 ++++++++++++++++---
|
|
||||||
1 file changed, 23 insertions(+), 3 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/mythtv/external/FFmpeg/libavcodec/x86/mathops.h b/mythtv/external/FFmpeg/libavcodec/x86/mathops.h
|
|
||||||
index 6298f5ed198..ca7e2dffc10 100644
|
|
||||||
--- a/mythtv/external/FFmpeg/libavcodec/x86/mathops.h
|
|
||||||
+++ b/mythtv/external/FFmpeg/libavcodec/x86/mathops.h
|
|
||||||
@@ -35,12 +35,20 @@
|
|
||||||
static av_always_inline av_const int MULL(int a, int b, unsigned shift)
|
|
||||||
{
|
|
||||||
int rt, dummy;
|
|
||||||
+ if (__builtin_constant_p(shift))
|
|
||||||
__asm__ (
|
|
||||||
"imull %3 \n\t"
|
|
||||||
"shrdl %4, %%edx, %%eax \n\t"
|
|
||||||
:"=a"(rt), "=d"(dummy)
|
|
||||||
- :"a"(a), "rm"(b), "ci"((uint8_t)shift)
|
|
||||||
+ :"a"(a), "rm"(b), "i"(shift & 0x1F)
|
|
||||||
);
|
|
||||||
+ else
|
|
||||||
+ __asm__ (
|
|
||||||
+ "imull %3 \n\t"
|
|
||||||
+ "shrdl %4, %%edx, %%eax \n\t"
|
|
||||||
+ :"=a"(rt), "=d"(dummy)
|
|
||||||
+ :"a"(a), "rm"(b), "c"((uint8_t)shift)
|
|
||||||
+ );
|
|
||||||
return rt;
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -113,19 +121,31 @@ __asm__ volatile(\
|
|
||||||
// avoid +32 for shift optimization (gcc should do that ...)
|
|
||||||
#define NEG_SSR32 NEG_SSR32
|
|
||||||
static inline int32_t NEG_SSR32( int32_t a, int8_t s){
|
|
||||||
+ if (__builtin_constant_p(s))
|
|
||||||
__asm__ ("sarl %1, %0\n\t"
|
|
||||||
: "+r" (a)
|
|
||||||
- : "ic" ((uint8_t)(-s))
|
|
||||||
+ : "i" (-s & 0x1F)
|
|
||||||
);
|
|
||||||
+ else
|
|
||||||
+ __asm__ ("sarl %1, %0\n\t"
|
|
||||||
+ : "+r" (a)
|
|
||||||
+ : "c" ((uint8_t)(-s))
|
|
||||||
+ );
|
|
||||||
return a;
|
|
||||||
}
|
|
||||||
|
|
||||||
#define NEG_USR32 NEG_USR32
|
|
||||||
static inline uint32_t NEG_USR32(uint32_t a, int8_t s){
|
|
||||||
+ if (__builtin_constant_p(s))
|
|
||||||
__asm__ ("shrl %1, %0\n\t"
|
|
||||||
: "+r" (a)
|
|
||||||
- : "ic" ((uint8_t)(-s))
|
|
||||||
+ : "i" (-s & 0x1F)
|
|
||||||
);
|
|
||||||
+ else
|
|
||||||
+ __asm__ ("shrl %1, %0\n\t"
|
|
||||||
+ : "+r" (a)
|
|
||||||
+ : "c" ((uint8_t)(-s))
|
|
||||||
+ );
|
|
||||||
return a;
|
|
||||||
}
|
|
||||||
|
|
79
mythtv-34.0-x265-4.0.patch
Normal file
79
mythtv-34.0-x265-4.0.patch
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
--- FFmpeg/libavcodec/libx265.c.x265-4.0 2024-02-13 15:03:25.000000000 +0100
|
||||||
|
+++ FFmpeg/libavcodec/libx265.c 2024-11-11 09:41:23.812186607 +0100
|
||||||
|
@@ -504,7 +504,13 @@
|
||||||
|
{
|
||||||
|
libx265Context *ctx = avctx->priv_data;
|
||||||
|
x265_picture x265pic;
|
||||||
|
- x265_picture x265pic_out = { 0 };
|
||||||
|
+#if X265_BUILD >= 210
|
||||||
|
+ x265_picture x265pic_layers_out[MAX_SCALABLE_LAYERS];
|
||||||
|
+ x265_picture* x265pic_lyrptr_out[MAX_SCALABLE_LAYERS];
|
||||||
|
+#else
|
||||||
|
+ x265_picture x265pic_solo_out = { 0 };
|
||||||
|
+#endif
|
||||||
|
+ x265_picture* x265pic_out;
|
||||||
|
x265_nal *nal;
|
||||||
|
uint8_t *dst;
|
||||||
|
int pict_type;
|
||||||
|
@@ -575,8 +581,16 @@
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
+#if X265_BUILD >= 210
|
||||||
|
+ for (i = 0; i < MAX_SCALABLE_LAYERS; i++)
|
||||||
|
+ x265pic_lyrptr_out[i] = &x265pic_layers_out[i];
|
||||||
|
+
|
||||||
|
+ ret = ctx->api->encoder_encode(ctx->encoder, &nal, &nnal,
|
||||||
|
+ pic ? &x265pic : NULL, x265pic_lyrptr_out);
|
||||||
|
+#else
|
||||||
|
ret = ctx->api->encoder_encode(ctx->encoder, &nal, &nnal,
|
||||||
|
- pic ? &x265pic : NULL, &x265pic_out);
|
||||||
|
+ pic ? &x265pic : NULL, &x265pic_solo_out);
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
av_freep(&x265pic.quantOffsets);
|
||||||
|
|
||||||
|
@@ -604,10 +618,16 @@
|
||||||
|
pkt->flags |= AV_PKT_FLAG_KEY;
|
||||||
|
}
|
||||||
|
|
||||||
|
- pkt->pts = x265pic_out.pts;
|
||||||
|
- pkt->dts = x265pic_out.dts;
|
||||||
|
+#if X265_BUILD >= 210
|
||||||
|
+ x265pic_out = x265pic_lyrptr_out[0];
|
||||||
|
+#else
|
||||||
|
+ x265pic_out = &x265pic_solo_out;
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+ pkt->pts = x265pic_out->pts;
|
||||||
|
+ pkt->dts = x265pic_out->dts;
|
||||||
|
|
||||||
|
- switch (x265pic_out.sliceType) {
|
||||||
|
+ switch (x265pic_out->sliceType) {
|
||||||
|
case X265_TYPE_IDR:
|
||||||
|
case X265_TYPE_I:
|
||||||
|
pict_type = AV_PICTURE_TYPE_I;
|
||||||
|
@@ -625,17 +645,17 @@
|
||||||
|
}
|
||||||
|
|
||||||
|
#if X265_BUILD >= 130
|
||||||
|
- if (x265pic_out.sliceType == X265_TYPE_B)
|
||||||
|
+ if (x265pic_out->sliceType == X265_TYPE_B)
|
||||||
|
#else
|
||||||
|
- if (x265pic_out.frameData.sliceType == 'b')
|
||||||
|
+ if (x265pic_out->frameData.sliceType == 'b')
|
||||||
|
#endif
|
||||||
|
pkt->flags |= AV_PKT_FLAG_DISPOSABLE;
|
||||||
|
|
||||||
|
- ff_side_data_set_encoder_stats(pkt, x265pic_out.frameData.qp * FF_QP2LAMBDA, NULL, 0, pict_type);
|
||||||
|
+ ff_side_data_set_encoder_stats(pkt, x265pic_out->frameData.qp * FF_QP2LAMBDA, NULL, 0, pict_type);
|
||||||
|
|
||||||
|
- if (x265pic_out.userData) {
|
||||||
|
- memcpy(&avctx->reordered_opaque, x265pic_out.userData, sizeof(avctx->reordered_opaque));
|
||||||
|
- av_freep(&x265pic_out.userData);
|
||||||
|
+ if (x265pic_out->userData) {
|
||||||
|
+ memcpy(&avctx->reordered_opaque, x265pic_out->userData, sizeof(avctx->reordered_opaque));
|
||||||
|
+ av_freep(&x265pic_out->userData);
|
||||||
|
} else
|
||||||
|
avctx->reordered_opaque = 0;
|
||||||
|
|
36
mythtv.spec
36
mythtv.spec
@ -2,7 +2,7 @@
|
|||||||
%define majver %(echo %version | cut -d. -f1-2)
|
%define majver %(echo %version | cut -d. -f1-2)
|
||||||
Name: mythtv
|
Name: mythtv
|
||||||
Version: 34.0
|
Version: 34.0
|
||||||
Release: 2mamba
|
Release: 3mamba
|
||||||
Summary: A digital video recorder (DVR) application
|
Summary: A digital video recorder (DVR) application
|
||||||
Group: Applications/Multimedia
|
Group: Applications/Multimedia
|
||||||
Vendor: openmamba
|
Vendor: openmamba
|
||||||
@ -24,11 +24,18 @@ Source11: mythtv-mysql.txt
|
|||||||
Source12: mythtv-PACKAGE-LICENSING
|
Source12: mythtv-PACKAGE-LICENSING
|
||||||
Patch1: mythtv-31.0-gcc-11.patch
|
Patch1: mythtv-31.0-gcc-11.patch
|
||||||
Patch3: mythtv-32.0-glibc-2.35.patch
|
Patch3: mythtv-32.0-glibc-2.35.patch
|
||||||
Patch4: mythtv-33.1-binutils-2.41.patch
|
Patch5: mythtv-34.0-x265-4.0.patch
|
||||||
License: GPL, LGPL
|
License: GPL, LGPL
|
||||||
## AUTOBUILDREQ-BEGIN
|
## AUTOBUILDREQ-BEGIN
|
||||||
BuildRequires: glibc-devel
|
BuildRequires: glibc-devel
|
||||||
|
BuildRequires: libQt5Core
|
||||||
|
BuildRequires: libQt5DBus
|
||||||
|
BuildRequires: libQt5Gui
|
||||||
|
BuildRequires: libQt5Network
|
||||||
|
BuildRequires: libQt5Sql
|
||||||
BuildRequires: libQt5WebKit-devel
|
BuildRequires: libQt5WebKit-devel
|
||||||
|
BuildRequires: libQt5Widgets
|
||||||
|
BuildRequires: libQt5Xml
|
||||||
BuildRequires: libSDL2-devel
|
BuildRequires: libSDL2-devel
|
||||||
BuildRequires: libX11-devel
|
BuildRequires: libX11-devel
|
||||||
BuildRequires: libXext-devel
|
BuildRequires: libXext-devel
|
||||||
@ -89,16 +96,17 @@ BuildRequires: perl-XML-Simple
|
|||||||
BuildRequires: perl-XML-TreeBuilder
|
BuildRequires: perl-XML-TreeBuilder
|
||||||
BuildRequires: perl-devel
|
BuildRequires: perl-devel
|
||||||
BuildRequires: perl-libwww
|
BuildRequires: perl-libwww
|
||||||
BuildRequires: qt5-qtbase-devel
|
|
||||||
BuildRequires: qt5-qtscript-devel
|
BuildRequires: qt5-qtscript-devel
|
||||||
|
BuildRequires: systemd
|
||||||
## AUTOBUILDREQ-END
|
## AUTOBUILDREQ-END
|
||||||
BuildRequires: libx265-devel >= 3.6-1mamba
|
BuildRequires: libx265-devel >= 0:4.0-1mamba
|
||||||
BuildRequires: python3-devel >= 3.11.5-3mamba
|
BuildRequires: python3-devel >= 3.11.5-3mamba
|
||||||
BuildRequires: desktop-file-utils
|
BuildRequires: desktop-file-utils
|
||||||
BuildRequires: gcc-c++
|
BuildRequires: gcc-c++
|
||||||
BuildRequires: nasm
|
BuildRequires: nasm
|
||||||
BuildRequires: yasm-devel
|
BuildRequires: yasm-devel
|
||||||
BuildRequires: xproto-devel
|
BuildRequires: xproto-devel
|
||||||
|
Provides: user(mythtv)
|
||||||
Requires: libmythtv = %{?epoch:%epoch:}%{version}-%{release}
|
Requires: libmythtv = %{?epoch:%epoch:}%{version}-%{release}
|
||||||
|
|
||||||
%description
|
%description
|
||||||
@ -168,7 +176,10 @@ This package contains the documentation for %{name},
|
|||||||
#:<< _EOF
|
#:<< _EOF
|
||||||
%patch 1 -p1
|
%patch 1 -p1
|
||||||
%patch 3 -p1
|
%patch 3 -p1
|
||||||
#%patch 4 -p1 -b .binutils-2.41
|
|
||||||
|
cd mythtv/external/FFmpeg
|
||||||
|
%patch 5 -p1 -b .x265-4.0
|
||||||
|
cd ../../..
|
||||||
|
|
||||||
rm -rf contrib/Win32 contrib/OSX
|
rm -rf contrib/Win32 contrib/OSX
|
||||||
#chmod -x themes/default/htmls/*.html
|
#chmod -x themes/default/htmls/*.html
|
||||||
@ -282,22 +293,17 @@ rm -rf %{buildroot}%{_libdir}/mythtv/filters/*.*a
|
|||||||
%{_sbindir}/useradd -c "mythtvbackend User" \
|
%{_sbindir}/useradd -c "mythtvbackend User" \
|
||||||
-s /sbin/nologin -r -d %{_localstatedir}/lib/mythtv -G video mythtv 2> /dev/null || :
|
-s /sbin/nologin -r -d %{_localstatedir}/lib/mythtv -G video mythtv 2> /dev/null || :
|
||||||
|
|
||||||
%post -n libmythtv -p /sbin/ldconfig
|
|
||||||
%postun -n libmythtv -p /sbin/ldconfig
|
|
||||||
|
|
||||||
%files
|
%files
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root)
|
||||||
%dir %{_sysconfdir}/mythtv
|
%dir %{_sysconfdir}/mythtv
|
||||||
%config(noreplace) %{_sysconfdir}/mythtv/mysql.txt
|
%config(noreplace) %{_sysconfdir}/mythtv/mysql.txt
|
||||||
%config(noreplace) %{_sysconfdir}/mythtv/config.xml
|
%config(noreplace) %{_sysconfdir}/mythtv/config.xml
|
||||||
%attr(-,mythtv,mythtv) %dir %{_localstatedir}/lib/mythtv
|
%attr(-,mythtv,video) %dir %{_localstatedir}/lib/mythtv
|
||||||
%attr(-,mythtv,mythtv) %dir %{_localstatedir}/cache/mythtv
|
%attr(-,mythtv,video) %dir %{_localstatedir}/cache/mythtv
|
||||||
%attr(-,mythtv,mythtv) %dir %{_localstatedir}/log/mythtv
|
%attr(-,mythtv,video) %dir %{_localstatedir}/log/mythtv
|
||||||
%{_bindir}/myth*
|
%{_bindir}/myth*
|
||||||
%{_unitdir}/mythbackend.service
|
%{_unitdir}/mythbackend.service
|
||||||
%dir %{_libdir}/mythtv
|
%dir %{_libdir}/mythtv
|
||||||
#%dir %{_libdir}/mythtv/filters
|
|
||||||
#%{_libdir}/mythtv/filters/*.so
|
|
||||||
%dir %{_libdir}/mythtv/plugins
|
%dir %{_libdir}/mythtv/plugins
|
||||||
%dir %{_datadir}/mythtv
|
%dir %{_datadir}/mythtv
|
||||||
%{_datadir}/mythtv/*.xml
|
%{_datadir}/mythtv/*.xml
|
||||||
@ -313,7 +319,6 @@ rm -rf %{buildroot}%{_libdir}/mythtv/filters/*.*a
|
|||||||
%{_datadir}/mythtv/locales
|
%{_datadir}/mythtv/locales
|
||||||
%{_datadir}/mythtv/metadata
|
%{_datadir}/mythtv/metadata
|
||||||
%{_datadir}/mythtv/themes
|
%{_datadir}/mythtv/themes
|
||||||
#%{_datadir}/mythtv/ttvdb
|
|
||||||
%{_datadir}/pixmaps/*.png
|
%{_datadir}/pixmaps/*.png
|
||||||
%{_datadir}/applications/*.desktop
|
%{_datadir}/applications/*.desktop
|
||||||
|
|
||||||
@ -355,6 +360,9 @@ rm -rf %{buildroot}%{_libdir}/mythtv/filters/*.*a
|
|||||||
##%doc contrib database
|
##%doc contrib database
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Sun Nov 10 2024 Automatic Build System <autodist@mambasoft.it> 34.0-3mamba
|
||||||
|
- rebuilt by autoport with build requirements: libx265-devel>=0:4.0-1mamba
|
||||||
|
|
||||||
* Sat May 04 2024 Automatic Build System <autodist@mambasoft.it> 34.0-2mamba
|
* Sat May 04 2024 Automatic Build System <autodist@mambasoft.it> 34.0-2mamba
|
||||||
- rebuilt by autoport with build requirements: libx265-devel>=3.6-1mamba
|
- rebuilt by autoport with build requirements: libx265-devel>=3.6-1mamba
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user