Compare commits

...

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

3
.gitignore vendored

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

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

@ -0,0 +1,137 @@
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

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

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

@ -0,0 +1,258 @@
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
* 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.

@ -1,20 +0,0 @@
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,146 +0,0 @@
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,104 +0,0 @@
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

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