Compare commits

...

No commits in common. 'i8c' and 'epel9' have entirely different histories.
i8c ... epel9

3
.gitignore vendored

@ -1 +1,2 @@
SOURCES/libdv-1.0.0.tar.gz libdv-0.104.tar.gz
libdv-1.0.0.tar.gz

@ -1 +0,0 @@
2e5ba0e95f665d60e72cbebcf1c4989e0d6c92c8 SOURCES/libdv-1.0.0.tar.gz

@ -1,137 +0,0 @@
Make sure that the asm files don't incorrectly trigger an executable
stack marking in the final shared library. That's bad, mmmkay.
Upstream has already fixed this in their cvs.
--- libdv/dct_block_mmx.S
+++ libdv/dct_block_mmx.S
@@ -1217,3 +1217,7 @@ _dv_dct_block_mmx_postscale_248:
popl %esi
popl %ebp
ret
+
+#ifdef __ELF__
+.section .note.GNU-stack,"",@progbits
+#endif
--- libdv/dct_block_mmx_x86_64.S
+++ libdv/dct_block_mmx_x86_64.S
@@ -1207,3 +1207,7 @@ _dv_dct_block_mmx_x86_64_postscale_248:
pop %r12
ret
+
+#ifdef __ELF__
+.section .note.GNU-stack,"",@progbits
+#endif
--- libdv/encode_x86.S
+++ libdv/encode_x86.S
@@ -611,3 +611,6 @@ _dv_need_dct_248_mmx_rows:
+#ifdef __ELF__
+.section .note.GNU-stack,"",@progbits
+#endif
--- libdv/encode_x86_64.S
+++ libdv/encode_x86_64.S
@@ -612,3 +612,6 @@ _dv_need_dct_248_mmx_x86_64_rows:
+#ifdef __ELF__
+.section .note.GNU-stack,"",@progbits
+#endif
--- libdv/idct_block_mmx.S
+++ libdv/idct_block_mmx.S
@@ -649,3 +649,6 @@ x0:
.long 0,0
.align 8
+#ifdef __ELF__
+.section .note.GNU-stack,"",@progbits
+#endif
--- libdv/idct_block_mmx_x86_64.S
+++ libdv/idct_block_mmx_x86_64.S
@@ -654,3 +654,6 @@ x0:
.long 0,0
.align 8
+#ifdef __ELF__
+.section .note.GNU-stack,"",@progbits
+#endif
--- libdv/quant_x86.S
+++ libdv/quant_x86.S
@@ -458,3 +458,6 @@ _dv_quant_x86:
+#ifdef __ELF__
+.section .note.GNU-stack,"",@progbits
+#endif
--- libdv/quant_x86_64.S
+++ libdv/quant_x86_64.S
@@ -463,3 +463,6 @@ _dv_quant_x86_64:
+#ifdef __ELF__
+.section .note.GNU-stack,"",@progbits
+#endif
--- libdv/rgbtoyuv.S
+++ libdv/rgbtoyuv.S
@@ -1451,3 +1451,6 @@ video_copy_ntsc_c_block_mmx_loop:
+#ifdef __ELF__
+.section .note.GNU-stack,"",@progbits
+#endif
--- libdv/rgbtoyuv_x86_64.S
+++ libdv/rgbtoyuv_x86_64.S
@@ -1391,3 +1391,6 @@ video_copy_ntsc_c_block_mmx_loop:
+#ifdef __ELF__
+.section .note.GNU-stack,"",@progbits
+#endif
--- libdv/transpose_x86.S
+++ libdv/transpose_x86.S
@@ -190,3 +190,7 @@ popl %esi
popl %ebp
ret $0
+
+#ifdef __ELF__
+.section .note.GNU-stack,"",@progbits
+#endif
--- libdv/transpose_x86_64.S
+++ libdv/transpose_x86_64.S
@@ -190,3 +190,7 @@ all_done_ready_to_exit:
pop %r12
ret $0
+
+#ifdef __ELF__
+.section .note.GNU-stack,"",@progbits
+#endif
--- libdv/vlc_x86.S
+++ libdv/vlc_x86.S
@@ -587,3 +587,7 @@ mod_12:
.align 16
const_f_0_0_0:
.short 0xffff,0,0,0
+
+#ifdef __ELF__
+.section .note.GNU-stack,"",@progbits
+#endif
--- libdv/vlc_x86_64.S
+++ libdv/vlc_x86_64.S
@@ -673,3 +673,7 @@ mod_12:
.align 16
const_f_0_0_0:
.short 0xffff,0,0,0
+
+#ifdef __ELF__
+.section .note.GNU-stack,"",@progbits
+#endif

@ -1,22 +0,0 @@
We now need to explicitly link to libraries that we use because we can no
longer depend on our dependencies to pull them in for us. See
http://fedoraproject.org/wiki/UnderstandingDSOLinkChange
--- libdv-1.0.0/playdv/#Makefile.am~ 2010-02-15 14:49:06.000000000 -0500
+++ libdv-1.0.0/playdv/Makefile.am 2010-02-15 14:49:06.000000000 -0500
@@ -15,4 +15,4 @@ bin_PROGRAMS= playdv
noinst_HEADERS= display.h oss.h
playdv_SOURCES= playdv.c display.c display.h oss.c
-playdv_LDADD= $(SDL_LIBS) $(GTK_LIBS) $(XV_LIB) ../libdv/libdv.la $(POPT_LIB)
+playdv_LDADD= $(SDL_LIBS) $(GTK_LIBS) $(XV_LIB) ../libdv/libdv.la $(POPT_LIB) -lX11 -lXext
--- libdv-1.0.0/Makefile.orig.am 2006-08-06 22:10:42.000000000 +0200
+++ libdv-1.0.0/Makefile.am 2016-08-01 12:31:11.622234099 +0200
@@ -5,6 +5,7 @@
endif
SUBDIRS = libdv encodedv $(gtk_subdirs)
+ACLOCAL_AMFLAGS = -I m4
AUX_DIST = $(ac_aux_dir)/config.guess \
$(ac_aux_dir)/config.sub \

@ -1,261 +0,0 @@
Summary: Software decoder for DV format video
Name: libdv
Version: 1.0.0
Release: 27%{?dist}
License: LGPLv2+
Group: System Environment/Libraries
URL: http://libdv.sourceforge.net/
Source: http://downloads.sourceforge.net/libdv/libdv-%{version}.tar.gz
Patch1: libdv-0.104-no-exec-stack.patch
Patch2: libdv-1.0.0-pic.patch
Patch3: libdv-1.0.0-gtk2.patch
Patch4: libdv-1.0.0-dso-linking.patch
BuildRequires: gtk2-devel
BuildRequires: libXt-devel
BuildRequires: libXv-devel
BuildRequires: popt-devel
BuildRequires: SDL-devel
BuildRequires: autoconf, automake, libtool
%description
The Quasar DV codec (libdv) is a software codec for DV video, the
encoding format used by most digital camcorders, typically those that
support the IEEE 1394 (a.k.a. FireWire or i.Link) interface. libdv was
developed according to the official standards for DV video: IEC 61834
and SMPTE 314M.
%package tools
Summary: Basic tools to manipulate Digital Video streams
Group: Applications/Multimedia
Requires: %{name}%{?_isa} = %{version}-%{release}
%description tools
This package contains some basic programs to display and encode
digital video streams. This programs uses the Quasar DV codec (libdv),
a software codec for DV video, the encoding format used by most
digital camcorders, typically those that support the IEEE 1394
(a.k.a. FireWire or i.Link) interface.
%package devel
Summary: Development package for libdv
Group: Development/Libraries
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: pkgconfig
%description devel
This package contains development files for libdv.
%prep
%setup -q
%patch1 -p0 -b .no-exec-stack
%patch2 -p1 -b .pic
%patch3 -p1 -b .gtk2
%patch4 -p1 -b .dso-linking
# Required for libtool 2.2
libtoolize
# Required for the gtk2 patch
autoreconf -vif
%build
%configure --with-pic
make %{?_smp_mflags}
%install
make DESTDIR=$RPM_BUILD_ROOT install
rm $RPM_BUILD_ROOT%{_libdir}/libdv.a
rm $RPM_BUILD_ROOT%{_libdir}/libdv.la
%ldconfig_scriptlets
%files
%doc ChangeLog
%license COPYING COPYRIGHT
%{_libdir}/libdv.so.*
%files tools
%doc README.* AUTHORS
%{_bindir}/dubdv
%{_bindir}/dvconnect
%{_bindir}/encodedv
%{_bindir}/playdv
%{_mandir}/man1/dubdv.1*
%{_mandir}/man1/dvconnect.1*
%{_mandir}/man1/encodedv.1*
%{_mandir}/man1/playdv.1*
%files devel
%{_includedir}/libdv/
%{_libdir}/libdv.so
%{_libdir}/pkgconfig/libdv.pc
%changelog
* Wed Jul 26 2023 MSVSphere Packaging Team <packager@msvsphere.ru> - 1.0.0-27
- Rebuilt for MSVSphere 8.8
* Sat Feb 17 2018 Antonio Trande <sagitter@fedoraproject.org> - 1.0.0-27
- Use %%ldconfig_scriptlets
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.0-26
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.0-25
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.0-24
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.0-23
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Mon Aug 01 2016 Antonio Trande <sagitter@fedoraproject.org> 1.0.0-22
- Rebuild for new branches
- Use %%license tag
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.0-21
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.0-20
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.0-19
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.0-18
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Sun May 4 2014 Peter Robinson <pbrobinson@fedoraproject.org> 1.0.0-17
- Fix FTBFS and cleanup spec
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.0-16
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.0-15
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.0-14
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.0-13
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
* Tue Dec 06 2011 Adam Jackson <ajax@redhat.com> - 1.0.0-12
- Rebuild for new libpng
* Thu May 05 2011 Dan Horák <dan[at]danny.cz> - 1.0.0-11
- don't exclude s390(x)
* Mon Feb 07 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.0-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
* Mon Feb 15 2010 Jay Fenlason <fenlason@redhat.com> 1.0.0-9
- Add dso-linking patch to explicitly pull in the X libraries that
playdv depends on.
* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.0-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
* Tue Mar 03 2009 Robert Scheck <robert@fedoraproject.org> 1.0.0-7
- Rebuilt against libtool 2.2
* Wed Feb 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.0-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
* Mon Jul 7 2008 Tom "spot" Callaway <tcallawa@redhat.com> 1.0.0-5
- fix conditional comparison
* Thu Feb 14 2008 Jarod Wilson <jwilson@redhat.com> 1.0.0-4
- Bump and rebuild with gcc 4.3
* Wed Sep 12 2007 Jarod Wilson <jwilson@redhat.com> 1.0.0-3
- A few more fixes from Matthias Saou:
- List man pages in %%files consistently w/o gz extension
- Add BR: popt-devel for f8+, its now split fromm rpm-devel
* Wed Sep 12 2007 Jarod Wilson <jwilson@redhat.com> 1.0.0-2
- Update License field (Matthias Saou)
- Remove useless zero epoch (Matthias Saou)
- Add pkgconfig devel sub-package req (Matthias Saou)
- Minor spec formatting changes and clean-ups
* Fri Jan 19 2007 Jarod Wilson <jwilson@redhat.com> 1.0.0-1
- New upstream release
- PIC patch from Mike Frysinger <vapier@gentoo.org> (#146596)
- Re-enable asm on i386
* Thu Sep 21 2006 Jarod Wilson <jwilson@redhat.com> 0.104-5
- Disable asm on i386 for now to prevent text relocations in DSO
* Wed Jul 12 2006 Jesse Keating <jkeating@redhat.com> - 0:0.104-4.fc6.1
- rebuild
* Wed May 24 2006 Jarod Wilson <jwilson@redhat.com> 0.104-4
- disable PIC patch for now, it reliably causes segfaults on x86
* Sat May 13 2006 Jarod Wilson <jwilson@redhat.com> 0.104-3
- rebuilt against latest X libs
* Tue Mar 07 2006 Warren Togami <wtogami@redhat.com> 0.104-2
- remove instead of exclude static libs
* Wed Feb 15 2006 Matthias Saou <http://freshrpms.net/> 0.104-1
- Update to 0.104 at last (#147311)
- Include no-exec-stack, pic-fix, amd64reloc and gtk2 patches from Gentoo
and PLD (merge gcc4 fix to the pic-fix patch).
- Now build against gtk2 (thanks to the patch above).
- Exclude static library.
* Mon Feb 13 2006 Paul Nasrat <pnasrat@redhat.com> - 0:0.103-4.3
- Patch to build with gcc 4.1
* Fri Feb 10 2006 Jesse Keating <jkeating@redhat.com> - 0:0.103-4.2.1
- bump again for double-long bug on ppc(64)
* Tue Feb 07 2006 Jesse Keating <jkeating@redhat.com> - 0:0.103-4.2
- rebuilt for new gcc4.1 snapshot and glibc changes
* Fri Dec 09 2005 Jesse Keating <jkeating@redhat.com>
- rebuilt
* Wed Mar 16 2005 Elliot Lee <sopwith@redhat.com>
- rebuilt
* Mon Feb 28 2005 Warren Togami <wtogami@redhat.com> - 0:0.103-3
- gcc4 rebuild
* Sun Feb 06 2005 Warren Togami <wtogami@redhat.com> - 0:0.103-2
- Fix erroneously requiring an executable stack (Nicholas Miell #146590)
* Sun Sep 19 2004 Warren Togami <wtogami@redhat.com> - 0:0.103-1
- upgrade to 0.103
* Sun Jun 20 2004 Jeremy Katz <katzj@redhat.com> - 0:0.102-4
- gtk+ doesn't need to be in the .pc file (committed upstream, reported
- don't require gtk+-devel for -devel package (unneeded)
to fedora-devel-list by John Thacker)
* Tue Jun 15 2004 Elliot Lee <sopwith@redhat.com>
- rebuilt
* Sun May 30 2004 Warren Togami <wtogami@redhat.com> 0:0.102-2
- Bug #123367 -devel Req gtk+-devel
* Mon Mar 29 2004 Warren Togami <wtogami@redhat.com> 0:0.102-1
- update to 0.102
* Tue Mar 02 2004 Elliot Lee <sopwith@redhat.com>
- rebuilt
* Sat Feb 14 2004 Warren Togami <wtogami@redhat.com> 0:0.101-2
- upgrade to 0.101
- spec cleanup
- exclude from mainframes
- GPL -> LGPL
* Sun Apr 27 2003 Dams <anvil[AT]livna.org> 0:0.99-0.fdr.2
- Added post/postun scriptlets
* Fri Apr 25 2003 Dams <anvil[AT]livna.org>
- Initial build.

@ -0,0 +1,20 @@
diff -Naur libdv-1.0.0.old/Makefile.am libdv-1.0.0/Makefile.am
--- libdv-1.0.0.old/Makefile.am 2022-03-24 20:11:25.269668921 +0100
+++ libdv-1.0.0/Makefile.am 2022-03-24 20:14:29.849878099 +0100
@@ -5,6 +5,7 @@
endif
SUBDIRS = libdv encodedv $(gtk_subdirs)
+ACLOCAL_AMFLAGS = -I m4
AUX_DIST = $(ac_aux_dir)/config.guess \
$(ac_aux_dir)/config.sub \
diff -Naur libdv-1.0.0.old/playdv/Makefile.am libdv-1.0.0/playdv/Makefile.am
--- libdv-1.0.0.old/playdv/Makefile.am 2022-03-24 20:11:25.274669008 +0100
+++ libdv-1.0.0/playdv/Makefile.am 2022-03-24 20:14:29.815877508 +0100
@@ -15,4 +15,4 @@
noinst_HEADERS= display.h oss.h
playdv_SOURCES= playdv.c display.c display.h oss.c
-playdv_LDADD= $(SDL_LIBS) $(GTK_LIBS) $(XV_LIB) ../libdv/libdv.la $(POPT_LIB)
+playdv_LDADD= $(SDL_LIBS) $(GTK_LIBS) $(XV_LIB) ../libdv/libdv.la $(POPT_LIB) -lX11 -lXext

@ -1,5 +1,6 @@
--- libdv-1.0.0/configure.ac.orig 2007-01-19 15:48:43.000000000 -0500 diff -Naur libdv-1.0.0.old/configure.ac libdv-1.0.0/configure.ac
+++ libdv-1.0.0/configure.ac 2007-01-19 15:50:08.000000000 -0500 --- libdv-1.0.0.old/configure.ac 2022-03-24 20:11:25.268668903 +0100
+++ libdv-1.0.0/configure.ac 2022-03-24 20:14:11.568560254 +0100
@@ -1,12 +1,14 @@ @@ -1,12 +1,14 @@
dnl Process this file with autoconf to produce a configure script. dnl Process this file with autoconf to produce a configure script.
-AC_INIT(libdv/parse.c) -AC_INIT(libdv/parse.c)
@ -17,7 +18,7 @@
AM_MAINTAINER_MODE AM_MAINTAINER_MODE
AC_LIBTOOL_PICMODE(no) AC_LIBTOOL_PICMODE(no)
@@ -164,7 +164,7 @@ @@ -162,7 +164,7 @@
dnl Checks for libraries. dnl Checks for libraries.
have_gtk="false" have_gtk="false"
if $use_gtk; then if $use_gtk; then

@ -0,0 +1,146 @@
diff -Naur libdv-1.0.0.old/libdv/dct_block_mmx.S libdv-1.0.0/libdv/dct_block_mmx.S
--- libdv-1.0.0.old/libdv/dct_block_mmx.S 2022-03-24 20:11:25.273668990 +0100
+++ libdv-1.0.0/libdv/dct_block_mmx.S 2022-03-24 20:12:54.495220228 +0100
@@ -1217,3 +1217,7 @@
popl %esi
popl %ebp
ret
+
+#ifdef __ELF__
+.section .note.GNU-stack,"",@progbits
+#endif
diff -Naur libdv-1.0.0.old/libdv/dct_block_mmx_x86_64.S libdv-1.0.0/libdv/dct_block_mmx_x86_64.S
--- libdv-1.0.0.old/libdv/dct_block_mmx_x86_64.S 2022-03-24 20:11:25.273668990 +0100
+++ libdv-1.0.0/libdv/dct_block_mmx_x86_64.S 2022-03-24 20:12:54.507220437 +0100
@@ -1207,3 +1207,7 @@
pop %r12
ret
+
+#ifdef __ELF__
+.section .note.GNU-stack,"",@progbits
+#endif
diff -Naur libdv-1.0.0.old/libdv/encode_x86_64.S libdv-1.0.0/libdv/encode_x86_64.S
--- libdv-1.0.0.old/libdv/encode_x86_64.S 2022-03-24 20:11:25.273668990 +0100
+++ libdv-1.0.0/libdv/encode_x86_64.S 2022-03-24 20:12:54.508220455 +0100
@@ -612,3 +612,6 @@
+#ifdef __ELF__
+.section .note.GNU-stack,"",@progbits
+#endif
diff -Naur libdv-1.0.0.old/libdv/encode_x86.S libdv-1.0.0/libdv/encode_x86.S
--- libdv-1.0.0.old/libdv/encode_x86.S 2022-03-24 20:11:25.273668990 +0100
+++ libdv-1.0.0/libdv/encode_x86.S 2022-03-24 20:12:54.508220455 +0100
@@ -611,3 +611,6 @@
+#ifdef __ELF__
+.section .note.GNU-stack,"",@progbits
+#endif
diff -Naur libdv-1.0.0.old/libdv/idct_block_mmx.S libdv-1.0.0/libdv/idct_block_mmx.S
--- libdv-1.0.0.old/libdv/idct_block_mmx.S 2022-03-24 20:11:25.273668990 +0100
+++ libdv-1.0.0/libdv/idct_block_mmx.S 2022-03-24 20:12:54.508220455 +0100
@@ -649,3 +649,6 @@
.long 0,0
.align 8
+#ifdef __ELF__
+.section .note.GNU-stack,"",@progbits
+#endif
diff -Naur libdv-1.0.0.old/libdv/idct_block_mmx_x86_64.S libdv-1.0.0/libdv/idct_block_mmx_x86_64.S
--- libdv-1.0.0.old/libdv/idct_block_mmx_x86_64.S 2022-03-24 20:11:25.272668973 +0100
+++ libdv-1.0.0/libdv/idct_block_mmx_x86_64.S 2022-03-24 20:12:54.508220455 +0100
@@ -654,3 +654,6 @@
.long 0,0
.align 8
+#ifdef __ELF__
+.section .note.GNU-stack,"",@progbits
+#endif
diff -Naur libdv-1.0.0.old/libdv/quant_x86_64.S libdv-1.0.0/libdv/quant_x86_64.S
--- libdv-1.0.0.old/libdv/quant_x86_64.S 2022-03-24 20:11:25.272668973 +0100
+++ libdv-1.0.0/libdv/quant_x86_64.S 2022-03-24 20:12:54.509220472 +0100
@@ -463,3 +463,6 @@
+#ifdef __ELF__
+.section .note.GNU-stack,"",@progbits
+#endif
diff -Naur libdv-1.0.0.old/libdv/quant_x86.S libdv-1.0.0/libdv/quant_x86.S
--- libdv-1.0.0.old/libdv/quant_x86.S 2022-03-24 20:11:25.273668990 +0100
+++ libdv-1.0.0/libdv/quant_x86.S 2022-03-24 20:12:54.509220472 +0100
@@ -458,3 +458,6 @@
+#ifdef __ELF__
+.section .note.GNU-stack,"",@progbits
+#endif
diff -Naur libdv-1.0.0.old/libdv/rgbtoyuv.S libdv-1.0.0/libdv/rgbtoyuv.S
--- libdv-1.0.0.old/libdv/rgbtoyuv.S 2022-03-24 20:11:25.273668990 +0100
+++ libdv-1.0.0/libdv/rgbtoyuv.S 2022-03-24 20:12:54.509220472 +0100
@@ -1451,3 +1451,6 @@
+#ifdef __ELF__
+.section .note.GNU-stack,"",@progbits
+#endif
diff -Naur libdv-1.0.0.old/libdv/rgbtoyuv_x86_64.S libdv-1.0.0/libdv/rgbtoyuv_x86_64.S
--- libdv-1.0.0.old/libdv/rgbtoyuv_x86_64.S 2022-03-24 20:11:25.273668990 +0100
+++ libdv-1.0.0/libdv/rgbtoyuv_x86_64.S 2022-03-24 20:12:54.509220472 +0100
@@ -1391,3 +1391,6 @@
+#ifdef __ELF__
+.section .note.GNU-stack,"",@progbits
+#endif
diff -Naur libdv-1.0.0.old/libdv/transpose_x86_64.S libdv-1.0.0/libdv/transpose_x86_64.S
--- libdv-1.0.0.old/libdv/transpose_x86_64.S 2022-03-24 20:11:25.273668990 +0100
+++ libdv-1.0.0/libdv/transpose_x86_64.S 2022-03-24 20:12:54.509220472 +0100
@@ -190,3 +190,7 @@
pop %r12
ret $0
+
+#ifdef __ELF__
+.section .note.GNU-stack,"",@progbits
+#endif
diff -Naur libdv-1.0.0.old/libdv/transpose_x86.S libdv-1.0.0/libdv/transpose_x86.S
--- libdv-1.0.0.old/libdv/transpose_x86.S 2022-03-24 20:11:25.273668990 +0100
+++ libdv-1.0.0/libdv/transpose_x86.S 2022-03-24 20:12:54.509220472 +0100
@@ -190,3 +190,7 @@
popl %ebp
ret $0
+
+#ifdef __ELF__
+.section .note.GNU-stack,"",@progbits
+#endif
diff -Naur libdv-1.0.0.old/libdv/vlc_x86_64.S libdv-1.0.0/libdv/vlc_x86_64.S
--- libdv-1.0.0.old/libdv/vlc_x86_64.S 2022-03-24 20:11:25.272668973 +0100
+++ libdv-1.0.0/libdv/vlc_x86_64.S 2022-03-24 20:12:54.510220489 +0100
@@ -673,3 +673,7 @@
.align 16
const_f_0_0_0:
.short 0xffff,0,0,0
+
+#ifdef __ELF__
+.section .note.GNU-stack,"",@progbits
+#endif
diff -Naur libdv-1.0.0.old/libdv/vlc_x86.S libdv-1.0.0/libdv/vlc_x86.S
--- libdv-1.0.0.old/libdv/vlc_x86.S 2022-03-24 20:11:25.273668990 +0100
+++ libdv-1.0.0/libdv/vlc_x86.S 2022-03-24 20:12:54.510220489 +0100
@@ -587,3 +587,7 @@
.align 16
const_f_0_0_0:
.short 0xffff,0,0,0
+
+#ifdef __ELF__
+.section .note.GNU-stack,"",@progbits
+#endif

@ -1,9 +1,6 @@
Patch downloaded from diff -Naur libdv-1.0.0.old/libdv/asm_common.S libdv-1.0.0/libdv/asm_common.S
http://bugs.gentoo.org/show_bug.cgi?id=121871 --- libdv-1.0.0.old/libdv/asm_common.S 1970-01-01 01:00:00.000000000 +0100
http://bugs.gentoo.org/attachment.cgi?id=98094 +++ libdv-1.0.0/libdv/asm_common.S 2022-03-24 20:13:32.551881896 +0100
--- libdv-0.104-old/libdv/asm_common.S
+++ libdv-0.104/libdv/asm_common.S
@@ -0,0 +1,29 @@ @@ -0,0 +1,29 @@
+/* public domain, do what you want */ +/* public domain, do what you want */
+ +
@ -34,9 +31,10 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
+#else +#else
+# define LOAD_PIC_REG(reg) +# define LOAD_PIC_REG(reg)
+#endif +#endif
--- libdv-0.104-old/libdv/dct_block_mmx.S diff -Naur libdv-1.0.0.old/libdv/dct_block_mmx.S libdv-1.0.0/libdv/dct_block_mmx.S
+++ libdv-0.104/libdv/dct_block_mmx.S --- libdv-1.0.0.old/libdv/dct_block_mmx.S 2022-03-24 20:13:23.543725277 +0100
@@ -55,19 +55,22 @@ scratch2: .quad 0 +++ libdv-1.0.0/libdv/dct_block_mmx.S 2022-03-24 20:13:32.551881896 +0100
@@ -55,6 +55,8 @@
.section .note.GNU-stack, "", @progbits .section .note.GNU-stack, "", @progbits
@ -45,9 +43,7 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
.text .text
.align 8 .align 8
.global _dv_dct_88_block_mmx @@ -64,10 +66,11 @@
.hidden _dv_dct_88_block_mmx
.type _dv_dct_88_block_mmx,@function
_dv_dct_88_block_mmx: _dv_dct_88_block_mmx:
pushl %ebp pushl %ebp
@ -61,7 +57,7 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
# column 0 # column 0
movq 16*0(%esi), %mm0 # v0 movq 16*0(%esi), %mm0 # v0
@@ -88,22 +93,22 @@ _dv_dct_88_block_mmx: @@ -90,22 +93,22 @@
movq 16*3(%esi), %mm5 # v3 movq 16*3(%esi), %mm5 # v3
movq 16*4(%esi), %mm7 # v4 movq 16*4(%esi), %mm7 # v4
@ -94,7 +90,7 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
movq %mm0, %mm6 # duplicate v10 movq %mm0, %mm6 # duplicate v10
paddw %mm1, %mm0 # v10+v11 paddw %mm1, %mm0 # v10+v11
@@ -113,10 +118,10 @@ _dv_dct_88_block_mmx: @@ -115,10 +118,10 @@
movq %mm6, 16*4(%esi) # out4: v10-v11 movq %mm6, 16*4(%esi) # out4: v10-v11
movq %mm4, %mm0 # mm0: v06 movq %mm4, %mm0 # mm0: v06
@ -107,7 +103,7 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
psllw $1, %mm4 # v35: compensate the coeefient scale psllw $1, %mm4 # v35: compensate the coeefient scale
movq %mm4, %mm6 # duplicate v35 movq %mm4, %mm6 # duplicate v35
@@ -125,7 +130,7 @@ _dv_dct_88_block_mmx: @@ -127,7 +130,7 @@
paddw %mm5, %mm3 # v22: v12+v13 paddw %mm5, %mm3 # v22: v12+v13
@ -116,7 +112,7 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
psllw $16-NSHIFT, %mm3 # v32: compensate the coeefient scale psllw $16-NSHIFT, %mm3 # v32: compensate the coeefient scale
movq %mm5, %mm6 # duplicate v13 movq %mm5, %mm6 # duplicate v13
@@ -136,13 +141,13 @@ _dv_dct_88_block_mmx: @@ -138,13 +141,13 @@
movq %mm6, 16*6(%esi) # out6: v13-v32 movq %mm6, 16*6(%esi) # out6: v13-v32
@ -134,7 +130,7 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
psllw $16-WA4_SHIFT, %mm5 # v36: compensate the coeefient scale psllw $16-WA4_SHIFT, %mm5 # v36: compensate the coeefient scale
psllw $16-NSHIFT, %mm7 # v34: compensate the coeefient scale psllw $16-NSHIFT, %mm7 # v34: compensate the coeefient scale
@@ -190,22 +195,22 @@ _dv_dct_88_block_mmx: @@ -192,22 +195,22 @@
movq 16*3(%esi), %mm5 # v3 movq 16*3(%esi), %mm5 # v3
movq 16*4(%esi), %mm7 # v4 movq 16*4(%esi), %mm7 # v4
@ -167,7 +163,7 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
movq %mm0, %mm6 # duplicate v10 movq %mm0, %mm6 # duplicate v10
paddw %mm1, %mm0 # v10+v11 paddw %mm1, %mm0 # v10+v11
@@ -215,10 +220,10 @@ _dv_dct_88_block_mmx: @@ -217,10 +220,10 @@
movq %mm6, 16*4(%esi) # out4: v10-v11 movq %mm6, 16*4(%esi) # out4: v10-v11
movq %mm4, %mm0 # mm0: v06 movq %mm4, %mm0 # mm0: v06
@ -180,7 +176,7 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
psllw $16-NSHIFT, %mm4 # v35: compensate the coeefient scale psllw $16-NSHIFT, %mm4 # v35: compensate the coeefient scale
movq %mm4, %mm6 # duplicate v35 movq %mm4, %mm6 # duplicate v35
@@ -227,7 +232,7 @@ _dv_dct_88_block_mmx: @@ -229,7 +232,7 @@
paddw %mm5, %mm3 # v22: v12+v13 paddw %mm5, %mm3 # v22: v12+v13
@ -189,7 +185,7 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
psllw $16-NSHIFT, %mm3 # v32: compensate the coeefient scale psllw $16-NSHIFT, %mm3 # v32: compensate the coeefient scale
movq %mm5, %mm6 # duplicate v13 movq %mm5, %mm6 # duplicate v13
@@ -237,13 +242,13 @@ _dv_dct_88_block_mmx: @@ -239,13 +242,13 @@
movq %mm5, 16*2(%esi) # out2: v13+v32 movq %mm5, 16*2(%esi) # out2: v13+v32
movq %mm6, 16*6(%esi) # out6: v13-v32 movq %mm6, 16*6(%esi) # out6: v13-v32
@ -207,7 +203,7 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
psllw $16-NSHIFT, %mm7 psllw $16-NSHIFT, %mm7
psllw $16-WA4_SHIFT, %mm5 # v36: compensate the coeffient psllw $16-WA4_SHIFT, %mm5 # v36: compensate the coeffient
# scale note that WA4 is shifted 1 bit less than the others # scale note that WA4 is shifted 1 bit less than the others
@@ -755,11 +762,12 @@ _dv_dct_block_mmx_postscale_88: @@ -759,11 +762,12 @@
_dv_dct_248_block_mmx: _dv_dct_248_block_mmx:
pushl %ebp pushl %ebp
@ -222,7 +218,7 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
# column 0 # column 0
@@ -781,7 +791,7 @@ _dv_dct_248_block_mmx: @@ -787,7 +791,7 @@
paddw %mm1, %mm0 # v20: v10+v11 paddw %mm1, %mm0 # v20: v10+v11
psubw %mm1, %mm3 # v21: v10-v11 psubw %mm1, %mm3 # v21: v10-v11
@ -231,7 +227,7 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
movq %mm4, %mm2 movq %mm4, %mm2
psllw $16-NSHIFT, %mm5 # v32: compensate the coeffient scale psllw $16-NSHIFT, %mm5 # v32: compensate the coeffient scale
@@ -820,7 +830,7 @@ _dv_dct_248_block_mmx: @@ -826,7 +830,7 @@
paddw %mm1, %mm0 # v20: v10+v11 paddw %mm1, %mm0 # v20: v10+v11
psubw %mm1, %mm3 # v21: v10-v11 psubw %mm1, %mm3 # v21: v10-v11
@ -240,7 +236,7 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
movq %mm4, %mm2 movq %mm4, %mm2
psllw $16-NSHIFT, %mm5 # v32: compensate the coeffient scale psllw $16-NSHIFT, %mm5 # v32: compensate the coeffient scale
@@ -857,7 +867,7 @@ _dv_dct_248_block_mmx: @@ -863,7 +867,7 @@
paddw %mm1, %mm0 # v20: v10+v11 paddw %mm1, %mm0 # v20: v10+v11
psubw %mm1, %mm3 # v21: v10-v11 psubw %mm1, %mm3 # v21: v10-v11
@ -249,7 +245,7 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
movq %mm4, %mm2 movq %mm4, %mm2
psllw $16-NSHIFT, %mm5 # v32: compensate the coeffient scale psllw $16-NSHIFT, %mm5 # v32: compensate the coeffient scale
@@ -894,7 +904,7 @@ _dv_dct_248_block_mmx: @@ -900,7 +904,7 @@
paddw %mm1, %mm0 # v20: v10+v11 paddw %mm1, %mm0 # v20: v10+v11
psubw %mm1, %mm3 # v21: v10-v11 psubw %mm1, %mm3 # v21: v10-v11
@ -258,9 +254,10 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
movq %mm4, %mm2 movq %mm4, %mm2
psllw $16-NSHIFT, %mm5 # v32: compensate the coeffient scale psllw $16-NSHIFT, %mm5 # v32: compensate the coeffient scale
--- libdv-0.104-old/libdv/dv.c diff -Naur libdv-1.0.0.old/libdv/dv.c libdv-1.0.0/libdv/dv.c
+++ libdv-0.104/libdv/dv.c --- libdv-1.0.0.old/libdv/dv.c 2022-03-24 20:11:25.271668956 +0100
@@ -205,6 +205,9 @@ dv_reconfigure(int clamp_luma, int clamp +++ libdv-1.0.0/libdv/dv.c 2022-03-24 20:13:32.551881896 +0100
@@ -205,6 +205,9 @@
} /* dv_reconfigure */ } /* dv_reconfigure */
@ -270,7 +267,7 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
static inline void static inline void
dv_decode_macroblock(dv_decoder_t *dv, dv_macroblock_t *mb, unsigned int quality) { dv_decode_macroblock(dv_decoder_t *dv, dv_macroblock_t *mb, unsigned int quality) {
int i; int i;
@@ -218,7 +221,7 @@ dv_decode_macroblock(dv_decoder_t *dv, d @@ -218,7 +221,7 @@
dv_idct_248 (co248, mb->b[i].coeffs); dv_idct_248 (co248, mb->b[i].coeffs);
} else { } else {
#if ARCH_X86 #if ARCH_X86
@ -279,7 +276,7 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
_dv_idct_88(mb->b[i].coeffs); _dv_idct_88(mb->b[i].coeffs);
#elif ARCH_X86_64 #elif ARCH_X86_64
_dv_quant_88_inverse_x86_64(mb->b[i].coeffs,mb->qno,mb->b[i].class_no); _dv_quant_88_inverse_x86_64(mb->b[i].coeffs,mb->qno,mb->b[i].class_no);
@@ -250,7 +253,7 @@ dv_decode_video_segment(dv_decoder_t *dv @@ -250,7 +253,7 @@
dv_idct_248 (co248, mb->b[b].coeffs); dv_idct_248 (co248, mb->b[b].coeffs);
} else { } else {
#if ARCH_X86 #if ARCH_X86
@ -288,9 +285,10 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
_dv_weight_88_inverse(bl->coeffs); _dv_weight_88_inverse(bl->coeffs);
_dv_idct_88(bl->coeffs); _dv_idct_88(bl->coeffs);
#elif ARCH_X86_64 #elif ARCH_X86_64
--- libdv-0.104-old/libdv/encode.c diff -Naur libdv-1.0.0.old/libdv/encode.c libdv-1.0.0/libdv/encode.c
+++ libdv-0.104/libdv/encode.c --- libdv-1.0.0.old/libdv/encode.c 2022-03-24 20:11:25.272668973 +0100
@@ -521,7 +521,8 @@ static void reorder_block(dv_block_t *bl +++ libdv-1.0.0/libdv/encode.c 2022-03-24 20:13:32.596882678 +0100
@@ -521,7 +521,8 @@
} }
extern unsigned long _dv_vlc_encode_block_mmx(dv_coeff_t* coeffs, extern unsigned long _dv_vlc_encode_block_mmx(dv_coeff_t* coeffs,
@ -300,7 +298,7 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
extern unsigned long _dv_vlc_encode_block_mmx_x86_64(dv_coeff_t* coeffs, extern unsigned long _dv_vlc_encode_block_mmx_x86_64(dv_coeff_t* coeffs,
dv_vlc_entry_t ** out); dv_vlc_entry_t ** out);
@@ -558,7 +559,7 @@ static unsigned long vlc_encode_block(dv @@ -558,7 +559,7 @@
#elif ARCH_X86 #elif ARCH_X86
int num_bits; int num_bits;
@ -309,7 +307,7 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
emms(); emms();
#else #else
int num_bits; int num_bits;
@@ -574,7 +575,7 @@ static unsigned long vlc_encode_block(dv @@ -574,7 +575,7 @@
return num_bits; return num_bits;
} }
@ -318,7 +316,7 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
extern unsigned long _dv_vlc_num_bits_block_x86_64(dv_coeff_t* coeffs); extern unsigned long _dv_vlc_num_bits_block_x86_64(dv_coeff_t* coeffs);
extern unsigned long _dv_vlc_num_bits_block(dv_coeff_t* coeffs) extern unsigned long _dv_vlc_num_bits_block(dv_coeff_t* coeffs)
@@ -600,7 +601,7 @@ extern unsigned long _dv_vlc_num_bits_bl @@ -600,7 +601,7 @@
#elif ARCH_X86_64 #elif ARCH_X86_64
return _dv_vlc_num_bits_block_x86_64(coeffs); return _dv_vlc_num_bits_block_x86_64(coeffs);
#else #else
@ -327,8 +325,9 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
#endif #endif
} }
--- libdv-0.104-old/libdv/encode_x86.S diff -Naur libdv-1.0.0.old/libdv/encode_x86.S libdv-1.0.0/libdv/encode_x86.S
+++ libdv-0.104/libdv/encode_x86.S --- libdv-1.0.0.old/libdv/encode_x86.S 2022-03-24 20:13:23.544725294 +0100
+++ libdv-1.0.0/libdv/encode_x86.S 2022-03-24 20:13:32.596882678 +0100
@@ -23,9 +23,6 @@ @@ -23,9 +23,6 @@
* The libdv homepage is http://libdv.sourceforge.net/. * The libdv homepage is http://libdv.sourceforge.net/.
*/ */
@ -339,7 +338,7 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
.section .note.GNU-stack, "", @progbits .section .note.GNU-stack, "", @progbits
@@ -49,11 +47,14 @@ _dv_vlc_encode_block_mmx: @@ -50,11 +47,14 @@
movl $63, %ecx movl $63, %ecx
@ -356,7 +355,7 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
xorl %ebp, %ebp xorl %ebp, %ebp
subl $8, %edx subl $8, %edx
vlc_encode_block_mmx_loop: vlc_encode_block_mmx_loop:
@@ -125,7 +128,7 @@ _dv_vlc_num_bits_block_x86: @@ -128,7 +128,7 @@
addl $2, %edi addl $2, %edi
movl $63, %ecx movl $63, %ecx
@ -365,7 +364,7 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
vlc_num_bits_block_x86_loop: vlc_num_bits_block_x86_loop:
movw (%edi), %ax movw (%edi), %ax
@@ -583,8 +594,11 @@ _dv_need_dct_248_mmx_rows: @@ -594,8 +594,11 @@
paddw %mm5, %mm1 paddw %mm5, %mm1
paddw %mm1, %mm0 paddw %mm1, %mm0
@ -379,9 +378,10 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
movq %mm0, %mm1 movq %mm0, %mm1
psrlq $32, %mm1 psrlq $32, %mm1
paddd %mm1, %mm0 paddd %mm1, %mm0
--- libdv-0.104-old/libdv/idct_block_mmx.S diff -Naur libdv-1.0.0.old/libdv/idct_block_mmx.S libdv-1.0.0/libdv/idct_block_mmx.S
+++ libdv-0.104/libdv/idct_block_mmx.S --- libdv-1.0.0.old/libdv/idct_block_mmx.S 2022-03-24 20:13:23.544725294 +0100
@@ -8,17 +8,21 @@ +++ libdv-1.0.0/libdv/idct_block_mmx.S 2022-03-24 20:13:32.597882695 +0100
@@ -8,6 +8,8 @@
.section .note.GNU-stack, "", @progbits .section .note.GNU-stack, "", @progbits
@ -390,7 +390,7 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
.text .text
.align 4 .align 4
.global _dv_idct_block_mmx .global _dv_idct_block_mmx
.hidden _dv_idct_block_mmx @@ -15,10 +17,12 @@
.type _dv_idct_block_mmx,@function .type _dv_idct_block_mmx,@function
_dv_idct_block_mmx: _dv_idct_block_mmx:
pushl %ebp pushl %ebp
@ -406,7 +406,7 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
/* /*
* column 0: even part * column 0: even part
@@ -34,7 +40,7 @@ _dv_idct_block_mmx: @@ -36,7 +40,7 @@
movq %mm1, %mm2 /* added 11/1/96 */ movq %mm1, %mm2 /* added 11/1/96 */
pmulhw 8*8(%esi),%mm5 /* V8 */ pmulhw 8*8(%esi),%mm5 /* V8 */
psubsw %mm0, %mm1 /* V16 */ psubsw %mm0, %mm1 /* V16 */
@ -415,7 +415,7 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
paddsw %mm0, %mm2 /* V17 */ paddsw %mm0, %mm2 /* V17 */
movq %mm2, %mm0 /* duplicate V17 */ movq %mm2, %mm0 /* duplicate V17 */
psraw $1, %mm2 /* t75=t82 */ psraw $1, %mm2 /* t75=t82 */
@@ -75,7 +81,7 @@ _dv_idct_block_mmx: @@ -77,7 +81,7 @@
paddsw %mm0, %mm3 /* V29 ; free mm0 */ paddsw %mm0, %mm3 /* V29 ; free mm0 */
movq %mm7, %mm1 /* duplicate V26 */ movq %mm7, %mm1 /* duplicate V26 */
psraw $1, %mm3 /* t91=t94 */ psraw $1, %mm3 /* t91=t94 */
@ -424,7 +424,7 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
psraw $1, %mm1 /* t96 */ psraw $1, %mm1 /* t96 */
movq %mm5, %mm0 /* duplicate V2 */ movq %mm5, %mm0 /* duplicate V2 */
psraw $2, %mm4 /* t85=t87 */ psraw $2, %mm4 /* t85=t87 */
@@ -83,15 +89,15 @@ _dv_idct_block_mmx: @@ -85,15 +89,15 @@
psubsw %mm4, %mm0 /* V28 ; free mm4 */ psubsw %mm4, %mm0 /* V28 ; free mm4 */
movq %mm0, %mm2 /* duplicate V28 */ movq %mm0, %mm2 /* duplicate V28 */
psraw $1, %mm5 /* t90=t93 */ psraw $1, %mm5 /* t90=t93 */
@ -443,7 +443,7 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
nop nop
psubsw %mm1, %mm0 /* V38 */ psubsw %mm1, %mm0 /* V38 */
psubsw %mm7, %mm1 /* V37 ; free mm7 */ psubsw %mm7, %mm1 /* V37 ; free mm7 */
@@ -158,7 +164,7 @@ _dv_idct_block_mmx: @@ -160,7 +164,7 @@
psubsw %mm7, %mm1 /* V50 */ psubsw %mm7, %mm1 /* V50 */
pmulhw 8*9(%esi), %mm5 /* V9 */ pmulhw 8*9(%esi), %mm5 /* V9 */
paddsw %mm7, %mm2 /* V51 */ paddsw %mm7, %mm2 /* V51 */
@ -452,7 +452,7 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
movq %mm2, %mm6 /* duplicate V51 */ movq %mm2, %mm6 /* duplicate V51 */
psraw $1, %mm2 /* t138=t144 */ psraw $1, %mm2 /* t138=t144 */
movq %mm3, %mm4 /* duplicate V1 */ movq %mm3, %mm4 /* duplicate V1 */
@@ -199,11 +205,11 @@ _dv_idct_block_mmx: @@ -201,11 +205,11 @@
* even more by doing the correction step in a later stage when the number * even more by doing the correction step in a later stage when the number
* is actually multiplied by 16 * is actually multiplied by 16
*/ */
@ -466,7 +466,7 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
movq %mm5, %mm6 /* duplicate V3 */ movq %mm5, %mm6 /* duplicate V3 */
psraw $2, %mm4 /* t148=t150 */ psraw $2, %mm4 /* t148=t150 */
paddsw %mm4, %mm5 /* V61 */ paddsw %mm4, %mm5 /* V61 */
@@ -212,13 +218,13 @@ _dv_idct_block_mmx: @@ -214,13 +218,13 @@
psllw $1, %mm1 /* t169 */ psllw $1, %mm1 /* t169 */
paddsw %mm0, %mm5 /* V65 -> result */ paddsw %mm0, %mm5 /* V65 -> result */
psubsw %mm0, %mm4 /* V64 ; free mm0 */ psubsw %mm0, %mm4 /* V64 ; free mm0 */
@ -483,7 +483,7 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
psraw $1, %mm2 /* t172 */ psraw $1, %mm2 /* t172 */
/* moved from next block */ /* moved from next block */
movq 8*5(%esi), %mm0 /* V56 */ movq 8*5(%esi), %mm0 /* V56 */
@@ -343,7 +349,7 @@ _dv_idct_block_mmx: @@ -345,7 +349,7 @@
* movq 8*13(%esi), %mm4 tmt13 * movq 8*13(%esi), %mm4 tmt13
*/ */
psubsw %mm4, %mm3 /* V134 */ psubsw %mm4, %mm3 /* V134 */
@ -492,7 +492,7 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
movq 8*9(%esi), %mm6 /* tmt9 */ movq 8*9(%esi), %mm6 /* tmt9 */
paddsw %mm4, %mm5 /* V135 ; mm4 free */ paddsw %mm4, %mm5 /* V135 ; mm4 free */
movq %mm0, %mm4 /* duplicate tmt1 */ movq %mm0, %mm4 /* duplicate tmt1 */
@@ -372,17 +378,17 @@ _dv_idct_block_mmx: @@ -374,17 +378,17 @@
psubsw %mm7, %mm0 /* V144 */ psubsw %mm7, %mm0 /* V144 */
movq %mm0, %mm3 /* duplicate V144 */ movq %mm0, %mm3 /* duplicate V144 */
paddsw %mm7, %mm2 /* V147 ; free mm7 */ paddsw %mm7, %mm2 /* V147 ; free mm7 */
@ -514,7 +514,7 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
paddsw %mm2, %mm7 /* V149 ; free mm2 */ paddsw %mm2, %mm7 /* V149 ; free mm2 */
psllw $1, %mm1 /* t313 */ psllw $1, %mm1 /* t313 */
nop /* without the nop - freeze here for one clock */ nop /* without the nop - freeze here for one clock */
@@ -408,7 +414,7 @@ _dv_idct_block_mmx: @@ -410,7 +414,7 @@
paddsw %mm3, %mm6 /* V164 ; free mm3 */ paddsw %mm3, %mm6 /* V164 ; free mm3 */
movq %mm4, %mm3 /* duplicate V142 */ movq %mm4, %mm3 /* duplicate V142 */
psubsw %mm5, %mm4 /* V165 ; free mm5 */ psubsw %mm5, %mm4 /* V165 ; free mm5 */
@ -523,7 +523,7 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
psraw $4, %mm6 psraw $4, %mm6
psraw $4, %mm4 psraw $4, %mm4
paddsw %mm5, %mm3 /* V162 */ paddsw %mm5, %mm3 /* V162 */
@@ -419,11 +425,11 @@ _dv_idct_block_mmx: @@ -421,11 +425,11 @@
*/ */
movq %mm6, 8*9(%esi) /* out9 */ movq %mm6, 8*9(%esi) /* out9 */
paddsw %mm1, %mm0 /* V161 */ paddsw %mm1, %mm0 /* V161 */
@ -537,7 +537,7 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
movq %mm2, %mm4 /* duplicate V140 */ movq %mm2, %mm4 /* duplicate V140 */
movq %mm5, 8*13(%esi) /* out13 */ movq %mm5, 8*13(%esi) /* out13 */
paddsw %mm7, %mm2 /* V160 */ paddsw %mm7, %mm2 /* V160 */
@@ -433,7 +439,7 @@ _dv_idct_block_mmx: @@ -435,7 +439,7 @@
/* moved from the next block */ /* moved from the next block */
movq 8*3(%esi), %mm7 movq 8*3(%esi), %mm7
psraw $4, %mm4 psraw $4, %mm4
@ -546,7 +546,7 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
/* moved from the next block */ /* moved from the next block */
movq %mm0, %mm1 movq %mm0, %mm1
movq %mm4, 8*15(%esi) /* out15 */ movq %mm4, 8*15(%esi) /* out15 */
@@ -490,15 +496,15 @@ _dv_idct_block_mmx: @@ -492,15 +496,15 @@
paddsw %mm4, %mm3 /* V113 ; free mm4 */ paddsw %mm4, %mm3 /* V113 ; free mm4 */
movq %mm0, %mm4 /* duplicate V110 */ movq %mm0, %mm4 /* duplicate V110 */
paddsw %mm1, %mm2 /* V111 */ paddsw %mm1, %mm2 /* V111 */
@ -566,7 +566,7 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
psllw $2, %mm0 /* t266 */ psllw $2, %mm0 /* t266 */
movq %mm1, (%esi) /* save V115 */ movq %mm1, (%esi) /* save V115 */
psllw $1, %mm5 /* t268 */ psllw $1, %mm5 /* t268 */
@@ -516,7 +522,7 @@ _dv_idct_block_mmx: @@ -518,7 +522,7 @@
movq %mm6, %mm3 /* duplicate tmt4 */ movq %mm6, %mm3 /* duplicate tmt4 */
psubsw %mm0, %mm6 /* V100 */ psubsw %mm0, %mm6 /* V100 */
paddsw %mm0, %mm3 /* V101 ; free mm0 */ paddsw %mm0, %mm3 /* V101 ; free mm0 */
@ -575,7 +575,7 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
movq %mm7, %mm5 /* duplicate tmt0 */ movq %mm7, %mm5 /* duplicate tmt0 */
movq 8*8(%esi), %mm1 /* tmt8 */ movq 8*8(%esi), %mm1 /* tmt8 */
paddsw %mm1, %mm7 /* V103 */ paddsw %mm1, %mm7 /* V103 */
@@ -550,10 +556,10 @@ _dv_idct_block_mmx: @@ -552,10 +556,10 @@
movq 8*2(%esi), %mm3 /* V123 */ movq 8*2(%esi), %mm3 /* V123 */
paddsw %mm4, %mm7 /* out0 */ paddsw %mm4, %mm7 /* out0 */
/* moved up from next block */ /* moved up from next block */
@ -588,7 +588,7 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
psubsw %mm4, %mm1 /* out14 ; free mm4 */ psubsw %mm4, %mm1 /* out14 ; free mm4 */
paddsw %mm3, %mm5 /* out2 */ paddsw %mm3, %mm5 /* out2 */
psraw $4, %mm1 psraw $4, %mm1
@@ -564,7 +570,7 @@ _dv_idct_block_mmx: @@ -566,7 +570,7 @@
movq %mm5, 8*2(%esi) /* out2 ; free mm5 */ movq %mm5, 8*2(%esi) /* out2 ; free mm5 */
psraw $4, %mm2 psraw $4, %mm2
/* moved up to the prev block */ /* moved up to the prev block */
@ -597,7 +597,7 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
/* moved up to the prev block */ /* moved up to the prev block */
psraw $4, %mm0 psraw $4, %mm0
movq %mm2, 8*12(%esi) /* out12 ; free mm2 */ movq %mm2, 8*12(%esi) /* out12 ; free mm2 */
@@ -578,7 +584,7 @@ _dv_idct_block_mmx: @@ -580,7 +584,7 @@
* psraw $4, %mm0 * psraw $4, %mm0
* psraw $4, %mm6 * psraw $4, %mm6
*/ */
@ -606,9 +606,10 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
psraw $4, %mm4 psraw $4, %mm4
movq %mm0, 8*3(%esi) /* out3 */ movq %mm0, 8*3(%esi) /* out3 */
psraw $4, %mm1 psraw $4, %mm1
--- libdv-0.104-old/libdv/parse.c diff -Naur libdv-1.0.0.old/libdv/parse.c libdv-1.0.0/libdv/parse.c
+++ libdv-0.104/libdv/parse.c --- libdv-1.0.0.old/libdv/parse.c 2022-03-24 20:11:25.272668973 +0100
@@ -477,6 +477,13 @@ dv_parse_ac_coeffs(dv_videosegment_t *se +++ libdv-1.0.0/libdv/parse.c 2022-03-24 20:13:32.597882695 +0100
@@ -477,6 +477,13 @@
exit(0); exit(0);
#endif #endif
} /* dv_parse_ac_coeffs */ } /* dv_parse_ac_coeffs */
@ -622,9 +623,10 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
/* --------------------------------------------------------------------------- /* ---------------------------------------------------------------------------
*/ */
--- libdv-0.104-old/libdv/quant.c diff -Naur libdv-1.0.0.old/libdv/quant.c libdv-1.0.0/libdv/quant.c
+++ libdv-0.104/libdv/quant.c --- libdv-1.0.0.old/libdv/quant.c 2022-03-24 20:11:25.272668973 +0100
@@ -144,7 +144,7 @@ uint8_t dv_quant_offset[4] = { 6,3,0,1 +++ libdv-1.0.0/libdv/quant.c 2022-03-24 20:13:32.597882695 +0100
@@ -144,7 +144,7 @@
uint32_t dv_quant_248_mul_tab [2] [22] [64]; uint32_t dv_quant_248_mul_tab [2] [22] [64];
uint32_t dv_quant_88_mul_tab [2] [22] [64]; uint32_t dv_quant_88_mul_tab [2] [22] [64];
@ -633,7 +635,7 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
extern void _dv_quant_x86_64(dv_coeff_t *block,int qno,int klass); extern void _dv_quant_x86_64(dv_coeff_t *block,int qno,int klass);
static void quant_248_inverse_std(dv_coeff_t *block,int qno,int klass,dv_248_coeff_t *co); static void quant_248_inverse_std(dv_coeff_t *block,int qno,int klass,dv_248_coeff_t *co);
static void quant_248_inverse_mmx(dv_coeff_t *block,int qno,int klass,dv_248_coeff_t *co); static void quant_248_inverse_mmx(dv_coeff_t *block,int qno,int klass,dv_248_coeff_t *co);
@@ -210,7 +210,7 @@ void _dv_quant(dv_coeff_t *block,int qno @@ -210,7 +210,7 @@
_dv_quant_x86_64(block, qno, klass); _dv_quant_x86_64(block, qno, klass);
emms(); emms();
#else #else
@ -642,9 +644,10 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
emms(); emms();
#endif #endif
} }
--- libdv-0.104-old/libdv/quant.h diff -Naur libdv-1.0.0.old/libdv/quant.h libdv-1.0.0/libdv/quant.h
+++ libdv-0.104/libdv/quant.h --- libdv-1.0.0.old/libdv/quant.h 2022-03-24 20:11:25.271668956 +0100
@@ -27,7 +27,7 @@ extern void _dv_quant(dv_coeff_t *block, +++ libdv-1.0.0/libdv/quant.h 2022-03-24 20:13:32.597882695 +0100
@@ -27,7 +27,7 @@
extern void _dv_quant_88_inverse(dv_coeff_t *block,int qno,int klass); extern void _dv_quant_88_inverse(dv_coeff_t *block,int qno,int klass);
extern void (*_dv_quant_248_inverse) (dv_coeff_t *block,int qno,int klass, extern void (*_dv_quant_248_inverse) (dv_coeff_t *block,int qno,int klass,
dv_248_coeff_t *co); dv_248_coeff_t *co);
@ -653,9 +656,10 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
extern void _dv_quant_88_inverse_x86_64(dv_coeff_t *block,int qno,int klass); extern void _dv_quant_88_inverse_x86_64(dv_coeff_t *block,int qno,int klass);
extern void dv_quant_init (void); extern void dv_quant_init (void);
#ifdef __cplusplus #ifdef __cplusplus
--- libdv-0.104-old/libdv/quant_x86.S diff -Naur libdv-1.0.0.old/libdv/quant_x86.S libdv-1.0.0/libdv/quant_x86.S
+++ libdv-0.104/libdv/quant_x86.S --- libdv-1.0.0.old/libdv/quant_x86.S 2022-03-24 20:13:23.545725311 +0100
@@ -73,10 +75,13 @@ _dv_quant_88_inverse_x86: +++ libdv-1.0.0/libdv/quant_x86.S 2022-03-24 20:13:32.598882713 +0100
@@ -75,10 +75,13 @@
/* pq = dv_quant_shifts[qno + dv_quant_offset[class]]; */ /* pq = dv_quant_shifts[qno + dv_quant_offset[class]]; */
movl ARGn(1),%eax /* qno */ movl ARGn(1),%eax /* qno */
@ -671,7 +675,7 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
/* extra = (class == 3); */ /* extra = (class == 3); */
/* 0 1 2 3 */ /* 0 1 2 3 */
@@ -214,11 +221,13 @@ _dv_quant_x86: @@ -218,11 +221,13 @@
/* pq = dv_quant_shifts[qno + dv_quant_offset[class]]; */ /* pq = dv_quant_shifts[qno + dv_quant_offset[class]]; */
movl ARGn(1),%eax /* qno */ movl ARGn(1),%eax /* qno */
@ -688,8 +692,9 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
/* extra = (class == 3); */ /* extra = (class == 3); */
/* 0 1 2 3 */ /* 0 1 2 3 */
--- libdv-0.104-old/libdv/rgbtoyuv.S diff -Naur libdv-1.0.0.old/libdv/rgbtoyuv.S libdv-1.0.0/libdv/rgbtoyuv.S
+++ libdv-0.104/libdv/rgbtoyuv.S --- libdv-1.0.0.old/libdv/rgbtoyuv.S 2022-03-24 20:13:23.545725311 +0100
+++ libdv-1.0.0/libdv/rgbtoyuv.S 2022-03-24 20:13:32.598882713 +0100
@@ -41,9 +41,6 @@ @@ -41,9 +41,6 @@
#define DV_WIDTH_SHORT_HALF 720 #define DV_WIDTH_SHORT_HALF 720
#define DV_WIDTH_BYTE_HALF 360 #define DV_WIDTH_BYTE_HALF 360
@ -700,7 +705,7 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
.data .data
.align 8 .align 8
@@ -110,25 +107,26 @@ VR0GR: .long 0,0 @@ -110,17 +107,19 @@
VBG0B: .long 0,0 VBG0B: .long 0,0
#endif #endif
@ -727,7 +732,7 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
.global _dv_rgbtoycb_mmx .global _dv_rgbtoycb_mmx
.hidden _dv_rgbtoycb_mmx .hidden _dv_rgbtoycb_mmx
.type _dv_rgbtoycb_mmx,@function @@ -128,7 +127,6 @@
_dv_rgbtoycb_mmx: _dv_rgbtoycb_mmx:
pushl %ebp pushl %ebp
@ -735,7 +740,7 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
pushl %eax pushl %eax
pushl %ebx pushl %ebx
pushl %ecx pushl %ecx
@@ -133,46 +134,47 @@ _dv_rgbtoycb_mmx: @@ -136,46 +134,47 @@
pushl %esi pushl %esi
pushl %edi pushl %edi
@ -810,7 +815,7 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
rgbtoycb_mmx_loop: rgbtoycb_mmx_loop:
movq (%eax), %mm1 #load G2R2B1G1R1B0G0R0 movq (%eax), %mm1 #load G2R2B1G1R1B0G0R0
pxor %mm6, %mm6 #0 -> mm6 pxor %mm6, %mm6 #0 -> mm6
@@ -186,29 +188,29 @@ rgbtoycb_mmx_loop: @@ -189,29 +188,29 @@
punpcklbw %mm6, %mm1 #B1G1R1B0 -> mm1 punpcklbw %mm6, %mm1 #B1G1R1B0 -> mm1
movq %mm0, %mm2 #R1B0G0R0 -> mm2 movq %mm0, %mm2 #R1B0G0R0 -> mm2
@ -847,7 +852,7 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
paddd %mm5, %mm4 #V1V0 -> mm4 paddd %mm5, %mm4 #V1V0 -> mm4
movq %mm1, %mm5 #B3G3R3B2 -> mm5 movq %mm1, %mm5 #B3G3R3B2 -> mm5
@@ -216,29 +218,29 @@ rgbtoycb_mmx_loop: @@ -219,29 +218,29 @@
paddd %mm7, %mm1 #R3B200+00G2R2=R3B2G2R2->mm1 paddd %mm7, %mm1 #R3B200+00G2R2=R3B2G2R2->mm1
@ -885,7 +890,7 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
psrad $FIXPSHIFT, %mm4 #32-bit scaled V1V0 -> mm4 psrad $FIXPSHIFT, %mm4 #32-bit scaled V1V0 -> mm4
movq 16(%eax), %mm1 #B7G7R7B6G6R6B5G5 -> mm7 movq 16(%eax), %mm1 #B7G7R7B6G6R6B5G5 -> mm7
@@ -253,58 +255,58 @@ rgbtoycb_mmx_loop: @@ -256,58 +255,58 @@
movq %mm7, %mm5 #R7B6G6R6B5G500 -> mm5 movq %mm7, %mm5 #R7B6G6R6B5G500 -> mm5
psrad $FIXPSHIFT, %mm3 #32-bit scaled V3V2 -> mm3 psrad $FIXPSHIFT, %mm3 #32-bit scaled V3V2 -> mm3
@ -959,7 +964,7 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
psrad $FIXPSHIFT, %mm0 #32-bit scaled U5U4 -> mm0 psrad $FIXPSHIFT, %mm0 #32-bit scaled U5U4 -> mm0
psrad $FIXPSHIFT, %mm2 #32-bit scaled Y5Y4 -> mm2 psrad $FIXPSHIFT, %mm2 #32-bit scaled Y5Y4 -> mm2
@@ -312,25 +314,25 @@ rgbtoycb_mmx_loop: @@ -315,25 +314,25 @@
paddd %mm5, %mm6 #Y7Y6 -> mm6 paddd %mm5, %mm6 #Y7Y6 -> mm6
movq %mm7, %mm5 #R7B6G6R6 -> mm5 movq %mm7, %mm5 #R7B6G6R6 -> mm5
@ -991,7 +996,7 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
pmaddwd %mm6, %mm0 #U7U6U5U4 averaged -> (U7U6)(U5U4)=UU3 UU2->mm0 pmaddwd %mm6, %mm0 #U7U6U5U4 averaged -> (U7U6)(U5U4)=UU3 UU2->mm0
pmaddwd %mm6, %mm4 #U3U2U1U0 averaged -> (U3U2)(U1U0)=UU1 UU0->mm4 pmaddwd %mm6, %mm4 #U3U2U1U0 averaged -> (U3U2)(U1U0)=UU1 UU0->mm4
@@ -340,8 +342,8 @@ rgbtoycb_mmx_loop: @@ -343,8 +342,8 @@
psrad $FIXPSHIFT, %mm1 #32-bit scaled V7V6 -> mm1 psrad $FIXPSHIFT, %mm1 #32-bit scaled V7V6 -> mm1
psraw $1, %mm4 #divide UU3 UU2 UU1 UU0 by 2 -> mm4 psraw $1, %mm4 #divide UU3 UU2 UU1 UU0 by 2 -> mm4
@ -1002,7 +1007,7 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
movq %mm4, (%ecx) # store U movq %mm4, (%ecx) # store U
@@ -429,14 +433,15 @@ _dv_ppm_copy_y_block_mmx: @@ -434,14 +433,15 @@
_dv_pgm_copy_y_block_mmx: _dv_pgm_copy_y_block_mmx:
pushl %ebp pushl %ebp
@ -1023,7 +1028,7 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
pxor %mm6, %mm6 pxor %mm6, %mm6
movq (%esi), %mm0 movq (%esi), %mm0
@@ -571,14 +578,15 @@ _dv_pgm_copy_y_block_mmx: @@ -578,14 +578,15 @@
_dv_video_copy_y_block_mmx: _dv_video_copy_y_block_mmx:
pushl %ebp pushl %ebp
@ -1044,7 +1049,7 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
pxor %mm6, %mm6 pxor %mm6, %mm6
movq (%esi), %mm0 movq (%esi), %mm0
@@ -859,16 +871,16 @@ _dv_ppm_copy_pal_c_block_mmx: @@ -870,16 +871,16 @@
_dv_pgm_copy_pal_c_block_mmx: _dv_pgm_copy_pal_c_block_mmx:
pushl %ebp pushl %ebp
@ -1066,7 +1071,7 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
pxor %mm6, %mm6 pxor %mm6, %mm6
@@ -1007,15 +1021,16 @@ _dv_pgm_copy_pal_c_block_mmx: @@ -1020,15 +1021,16 @@
_dv_video_copy_pal_c_block_mmx: _dv_video_copy_pal_c_block_mmx:
pushl %ebp pushl %ebp
@ -1088,7 +1093,7 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
paddw %mm7, %mm7 paddw %mm7, %mm7
pxor %mm6, %mm6 pxor %mm6, %mm6
@@ -1102,18 +1119,18 @@ video_copy_pal_c_block_mmx_loop: @@ -1117,18 +1119,18 @@
_dv_ppm_copy_ntsc_c_block_mmx: _dv_ppm_copy_ntsc_c_block_mmx:
pushl %ebp pushl %ebp
@ -1113,7 +1118,7 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
ppm_copy_ntsc_c_block_mmx_loop: ppm_copy_ntsc_c_block_mmx_loop:
movq (%esi), %mm0 movq (%esi), %mm0
@@ -1175,14 +1194,15 @@ ppm_copy_ntsc_c_block_mmx_loop: @@ -1192,14 +1194,15 @@
_dv_pgm_copy_ntsc_c_block_mmx: _dv_pgm_copy_ntsc_c_block_mmx:
pushl %ebp pushl %ebp
@ -1134,7 +1139,7 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
paddw %mm7, %mm7 paddw %mm7, %mm7
pxor %mm6, %mm6 pxor %mm6, %mm6
@@ -1332,15 +1354,16 @@ _dv_pgm_copy_ntsc_c_block_mmx: @@ -1351,15 +1354,16 @@
_dv_video_copy_ntsc_c_block_mmx: _dv_video_copy_ntsc_c_block_mmx:
pushl %ebp pushl %ebp
@ -1156,8 +1161,9 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
paddw %mm7, %mm7 paddw %mm7, %mm7
pxor %mm6, %mm6 pxor %mm6, %mm6
--- libdv-0.104-old/libdv/rgbtoyuv_x86_64.S diff -Naur libdv-1.0.0.old/libdv/rgbtoyuv_x86_64.S libdv-1.0.0/libdv/rgbtoyuv_x86_64.S
+++ libdv-0.104/libdv/rgbtoyuv_x86_64.S --- libdv-1.0.0.old/libdv/rgbtoyuv_x86_64.S 2022-03-24 20:13:23.546725329 +0100
+++ libdv-1.0.0/libdv/rgbtoyuv_x86_64.S 2022-03-24 20:13:32.598882713 +0100
@@ -41,9 +41,6 @@ @@ -41,9 +41,6 @@
#define DV_WIDTH_SHORT_HALF 720 #define DV_WIDTH_SHORT_HALF 720
#define DV_WIDTH_BYTE_HALF 360 #define DV_WIDTH_BYTE_HALF 360
@ -1168,8 +1174,9 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
.data .data
.align 8 .align 8
--- libdv-0.104-old/libdv/vlc_x86.S diff -Naur libdv-1.0.0.old/libdv/vlc_x86.S libdv-1.0.0/libdv/vlc_x86.S
+++ libdv-0.104/libdv/vlc_x86.S --- libdv-1.0.0.old/libdv/vlc_x86.S 2022-03-24 20:13:23.547725346 +0100
+++ libdv-1.0.0/libdv/vlc_x86.S 2022-03-24 20:13:32.599882730 +0100
@@ -1,31 +1,39 @@ @@ -1,31 +1,39 @@
#include "asmoff.h" #include "asmoff.h"
.section .note.GNU-stack, "", @progbits .section .note.GNU-stack, "", @progbits
@ -1219,7 +1226,7 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
movl (%edx,%ebx,4),%edx movl (%edx,%ebx,4),%edx
/* Now %edx holds result, like this: /* Now %edx holds result, like this:
@@ -43,7 +52,7 @@ dv_decode_vlc: @@ -44,7 +52,7 @@
movl %edx,%ecx movl %edx,%ecx
sarl $8,%ecx sarl $8,%ecx
andl $0xff,%ecx andl $0xff,%ecx
@ -1228,7 +1235,7 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
andl %ebx,%eax andl %ebx,%eax
negl %eax negl %eax
sarl $31,%eax sarl $31,%eax
@@ -64,14 +73,14 @@ dv_decode_vlc: @@ -65,14 +73,14 @@
*result = broken; *result = broken;
Note that the 'broken' pattern is all ones (i.e. 0xffffffff) Note that the 'broken' pattern is all ones (i.e. 0xffffffff)
*/ */
@ -1246,7 +1253,7 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
popl %ebx popl %ebx
ret ret
@@ -81,21 +90,28 @@ dv_decode_vlc: @@ -82,21 +90,28 @@
.type __dv_decode_vlc,@function .type __dv_decode_vlc,@function
__dv_decode_vlc: __dv_decode_vlc:
pushl %ebx pushl %ebx
@ -1281,7 +1288,7 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
movl (%edx,%ebx,4),%edx movl (%edx,%ebx,4),%edx
/* Now %edx holds result, like this: /* Now %edx holds result, like this:
@@ -113,7 +129,7 @@ __dv_decode_vlc: @@ -114,7 +129,7 @@
movl %edx,%ecx movl %edx,%ecx
sarl $8,%ecx sarl $8,%ecx
andl $0xff,%ecx andl $0xff,%ecx
@ -1290,7 +1297,7 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
andl %ecx,%eax andl %ecx,%eax
negl %eax negl %eax
sarl $31,%eax sarl $31,%eax
@@ -128,9 +144,9 @@ __dv_decode_vlc: @@ -129,9 +144,9 @@
xorl %eax,%edx xorl %eax,%edx
subl %eax,%edx subl %eax,%edx
@ -1302,7 +1309,7 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
popl %ebx popl %ebx
ret ret
@@ -141,14 +157,20 @@ void dv_parse_ac_coeffs_pass0(bitstream_ @@ -142,6 +157,10 @@
*/ */
.text .text
.align 4 .align 4
@ -1313,8 +1320,7 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
.globl dv_parse_ac_coeffs_pass0 .globl dv_parse_ac_coeffs_pass0
.type dv_parse_ac_coeffs_pass0,@function .type dv_parse_ac_coeffs_pass0,@function
dv_parse_ac_coeffs_pass0: dv_parse_ac_coeffs_pass0:
pushl %ebx @@ -150,6 +169,8 @@
pushl %edi
pushl %esi pushl %esi
pushl %ebp pushl %ebp
@ -1323,7 +1329,7 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
#define ARGn(N) (20+(4*(N)))(%esp) #define ARGn(N) (20+(4*(N)))(%esp)
/* /*
@@ -160,8 +183,10 @@ dv_parse_ac_coeffs_pass0: @@ -162,8 +183,10 @@
ebp bl ebp bl
*/ */
movl ARGn(2),%ebp movl ARGn(2),%ebp
@ -1334,7 +1340,7 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
movl dv_block_t_offset(%ebp),%edi movl dv_block_t_offset(%ebp),%edi
movl dv_block_t_reorder(%ebp),%ebx movl dv_block_t_reorder(%ebp),%ebx
@@ -171,7 +196,11 @@ dv_parse_ac_coeffs_pass0: @@ -173,7 +196,11 @@
movq dv_block_t_coeffs(%ebp),%mm1 movq dv_block_t_coeffs(%ebp),%mm1
pxor %mm0,%mm0 pxor %mm0,%mm0
@ -1346,7 +1352,7 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
movq %mm1,dv_block_t_coeffs(%ebp) movq %mm1,dv_block_t_coeffs(%ebp)
movq %mm0,(dv_block_t_coeffs + 8)(%ebp) movq %mm0,(dv_block_t_coeffs + 8)(%ebp)
movq %mm0,(dv_block_t_coeffs + 16)(%ebp) movq %mm0,(dv_block_t_coeffs + 16)(%ebp)
@@ -192,9 +221,17 @@ dv_parse_ac_coeffs_pass0: @@ -194,9 +221,17 @@
readloop: readloop:
movl %edi,%ecx movl %edi,%ecx
shrl $3,%ecx shrl $3,%ecx
@ -1364,7 +1370,7 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
shll $16,%eax shll $16,%eax
shll $8,%edx shll $8,%edx
orl %ecx,%eax orl %ecx,%eax
@@ -218,7 +255,11 @@ readloop: @@ -220,7 +255,11 @@
/* Attempt to use the shortcut first. If it hits, then /* Attempt to use the shortcut first. If it hits, then
this vlc term has been decoded. */ this vlc term has been decoded. */
@ -1376,7 +1382,7 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
test $0x80,%edx test $0x80,%edx
je done_decode je done_decode
@@ -229,12 +270,19 @@ readloop: @@ -231,12 +270,19 @@
movl %ebx,dv_block_t_reorder(%ebp) movl %ebx,dv_block_t_reorder(%ebp)
/* %eax is bits */ /* %eax is bits */
@ -1397,7 +1403,7 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
andl %eax,%ebx andl %eax,%ebx
sarl %cl,%ebx sarl %cl,%ebx
@@ -257,7 +305,11 @@ readloop: @@ -259,7 +305,11 @@
movl %edx,%ecx movl %edx,%ecx
sarl $8,%ecx sarl $8,%ecx
andl $0xff,%ecx andl $0xff,%ecx
@ -1409,7 +1415,7 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
andl %ecx,%eax andl %ecx,%eax
negl %eax negl %eax
sarl $31,%eax sarl $31,%eax
@@ -327,10 +379,16 @@ alldone: @@ -329,10 +379,16 @@
slowpath: slowpath:
/* slow path: use dv_decode_vlc */; /* slow path: use dv_decode_vlc */;
@ -1427,7 +1433,7 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
addl $12,%esp addl $12,%esp
test $0x80,%edx /* If (vlc.run < 0) break */ test $0x80,%edx /* If (vlc.run < 0) break */
jne escape jne escape
@@ -367,6 +425,8 @@ show16: @@ -369,6 +425,8 @@
pushl %esi pushl %esi
pushl %ebp pushl %ebp
@ -1436,7 +1442,7 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
#define ARGn(N) (20+(4*(N)))(%esp) #define ARGn(N) (20+(4*(N)))(%esp)
movl ARGn(1),%eax /* quality */ movl ARGn(1),%eax /* quality */
@@ -374,7 +435,11 @@ dv_parse_video_segment: @@ -377,7 +435,11 @@
jz its_mono jz its_mono
movl $6,%ebx movl $6,%ebx
its_mono: its_mono:
@ -1448,7 +1454,7 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
/* /*
* ebx seg/b * ebx seg/b
@@ -385,15 +450,22 @@ its_mono: @@ -388,15 +450,22 @@
* ebp bl * ebp bl
*/ */
movl ARGn(0),%ebx movl ARGn(0),%ebx
@ -1471,7 +1477,7 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
movl ARGn(0),%ebx movl ARGn(0),%ebx
@@ -401,7 +473,13 @@ macloop: @@ -404,7 +473,13 @@
/* mb->qno = bitstream_get(bs,4); */ /* mb->qno = bitstream_get(bs,4); */
movl %ecx,%edx movl %ecx,%edx
shr $3,%edx shr $3,%edx
@ -1485,7 +1491,7 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
andl $0xf,%edx andl $0xf,%edx
movl %edx,dv_macroblock_t_qno(%edi) movl %edx,dv_macroblock_t_qno(%edi)
@@ -412,7 +490,11 @@ macloop: @@ -415,7 +490,11 @@
movl %edx,dv_macroblock_t_eob_count(%edi) movl %edx,dv_macroblock_t_eob_count(%edi)
/* mb->i = (seg->i + dv_super_map_vertical[m]) % (seg->isPAL?12:10); */ /* mb->i = (seg->i + dv_super_map_vertical[m]) % (seg->isPAL?12:10); */
@ -1497,7 +1503,7 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
movl dv_videosegment_t_i(%ebx),%ecx movl dv_videosegment_t_i(%ebx),%ecx
addl %ecx,%edx addl %ecx,%edx
@@ -423,11 +505,20 @@ skarly: @@ -426,11 +505,20 @@
andl $1,%ecx andl $1,%ecx
shll $5,%ecx /* ecx = (isPAL ? 32 : 0) */ shll $5,%ecx /* ecx = (isPAL ? 32 : 0) */
@ -1518,7 +1524,7 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
movl %edx,dv_macroblock_t_j(%edi) movl %edx,dv_macroblock_t_j(%edi)
/* mb->k = seg->k; */ /* mb->k = seg->k; */
@@ -446,12 +537,28 @@ blkloop: @@ -449,12 +537,28 @@
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
*/ */
/* dc = bitstream_get(bs,9); */ /* dc = bitstream_get(bs,9); */
@ -1547,7 +1553,7 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
shll $8,%eax shll $8,%eax
orl %ecx,%eax orl %ecx,%eax
@@ -478,7 +585,11 @@ blkloop: @@ -481,7 +585,11 @@
/* bl->reorder = &dv_reorder[bl->dct_mode][1]; */ /* bl->reorder = &dv_reorder[bl->dct_mode][1]; */
shll $6,%eax shll $6,%eax
@ -1559,7 +1565,7 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
movl %eax,dv_block_t_reorder(%ebp) movl %eax,dv_block_t_reorder(%ebp)
/* bl->reorder_sentinel = bl->reorder + 63; */ /* bl->reorder_sentinel = bl->reorder + 63; */
@@ -486,13 +597,22 @@ blkloop: @@ -489,13 +597,22 @@
movl %eax,dv_block_t_reorder_sentinel(%ebp) movl %eax,dv_block_t_reorder_sentinel(%ebp)
/* bl->offset= mb_start + dv_parse_bit_start[b]; */ /* bl->offset= mb_start + dv_parse_bit_start[b]; */
@ -1582,7 +1588,7 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
addl %ecx,%eax addl %ecx,%eax
movl %eax,dv_block_t_end(%ebp) movl %eax,dv_block_t_end(%ebp)
@@ -504,7 +624,11 @@ blkloop: @@ -507,7 +624,11 @@
/* no AC pass. Just zero out the remaining coeffs */ /* no AC pass. Just zero out the remaining coeffs */
movq dv_block_t_coeffs(%ebp),%mm1 movq dv_block_t_coeffs(%ebp),%mm1
pxor %mm0,%mm0 pxor %mm0,%mm0
@ -1594,7 +1600,7 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
movq %mm1,dv_block_t_coeffs(%ebp) movq %mm1,dv_block_t_coeffs(%ebp)
movq %mm0,(dv_block_t_coeffs + 8)(%ebp) movq %mm0,(dv_block_t_coeffs + 8)(%ebp)
movq %mm0,(dv_block_t_coeffs + 16)(%ebp) movq %mm0,(dv_block_t_coeffs + 16)(%ebp)
@@ -529,18 +653,27 @@ do_ac_pass: @@ -532,18 +653,27 @@
pushl %ebp pushl %ebp
pushl %edi pushl %edi
pushl %eax pushl %eax
@ -1623,7 +1629,7 @@ http://bugs.gentoo.org/attachment.cgi?id=98094
addl $(8 * 80),%ecx addl $(8 * 80),%ecx
addl $dv_macroblock_t_size,%edi addl $dv_macroblock_t_size,%edi
incl %eax incl %eax
@@ -558,7 +691,7 @@ done_ac: @@ -561,7 +691,7 @@
andl $DV_QUALITY_AC_MASK,%eax andl $DV_QUALITY_AC_MASK,%eax
cmpl $DV_QUALITY_AC_2,%eax cmpl $DV_QUALITY_AC_2,%eax

@ -0,0 +1,104 @@
Name: libdv
Version: 1.0.0
Release: 36%{?dist}
Summary: Software decoder for DV format video
License: LGPLv2+
URL: http://libdv.sourceforge.net/
Source: http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.gz
Patch1: %{name}-no-exec-stack.patch
Patch2: %{name}-pic.patch
Patch3: %{name}-gtk2.patch
Patch4: %{name}-dso-linking.patch
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: pkgconfig(glib-2.0) >= 2.1.0
BuildRequires: pkgconfig(gtk+-x11-2.0) >= 2.1.0
BuildRequires: libtool
BuildRequires: libXt-devel
BuildRequires: libXv-devel
BuildRequires: make
BuildRequires: popt-devel
BuildRequires: SDL-devel
%description
The Quasar DV codec (libdv) is a software codec for DV video, the encoding
format used by most digital camcorders, typically those that support the IEEE
1394 (a.k.a. FireWire or i.Link) interface. libdv was developed according to the
official standards for DV video: IEC 61834 and SMPTE 314M.
%package tools
Summary: Basic tools to manipulate Digital Video streams
Requires: %{name}%{?_isa} = %{version}-%{release}
%description tools
This package contains some basic programs to display and encode digital video
streams. This programs uses the Quasar DV codec (libdv), a software codec for DV
video, the encoding format used by most digital camcorders, typically those that
support the IEEE 1394 (a.k.a. FireWire or i.Link) interface.
%package devel
Summary: Development package for %{name}
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: pkgconfig
%description devel
This package contains development files for %{name}.
%prep
%autosetup -p1
%build
autoreconf -vif
%configure --with-pic --disable-static
%make_build
%install
%make_install
find %{buildroot} -name "*.la" -delete
%{?ldconfig_scriptlets}
%files
%doc ChangeLog
%license COPYING COPYRIGHT
%{_libdir}/%{name}.so.4
%{_libdir}/%{name}.so.4.0.3
%files tools
%doc README.* AUTHORS
%{_bindir}/dubdv
%{_bindir}/dvconnect
%{_bindir}/encodedv
%{_bindir}/playdv
%{_mandir}/man1/dubdv.1*
%{_mandir}/man1/dvconnect.1*
%{_mandir}/man1/encodedv.1*
%{_mandir}/man1/playdv.1*
%files devel
%{_includedir}/%{name}/
%{_libdir}/%{name}.so
%{_libdir}/pkgconfig/%{name}.pc
%changelog
* Thu Mar 24 2022 Simone Caronni <negativo17@gmail.com> - 1.0.0-36
- Clean up SPEC file.
- Trim changelog.
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.0-35
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.0-34
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.0-33
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.0-32
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.0-31
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild

@ -0,0 +1 @@
f895162161cfa4bb4a94c070a7caa6c7 libdv-1.0.0.tar.gz
Loading…
Cancel
Save