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 SOURCES/libdv-1.0.0.tar.gz
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/configure.ac.orig 2007-01-19 15:48:43.000000000 -0500
--- libdv-1.0.0.old/configure.ac 2022-03-24 20:11:25.268668903 +0100 +++ libdv-1.0.0/configure.ac 2007-01-19 15:50:08.000000000 -0500
+++ 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)
@ -18,7 +17,7 @@ diff -Naur libdv-1.0.0.old/configure.ac libdv-1.0.0/configure.ac
AM_MAINTAINER_MODE AM_MAINTAINER_MODE
AC_LIBTOOL_PICMODE(no) AC_LIBTOOL_PICMODE(no)
@@ -162,7 +164,7 @@ @@ -164,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

@ -1,6 +1,9 @@
diff -Naur libdv-1.0.0.old/libdv/asm_common.S libdv-1.0.0/libdv/asm_common.S Patch downloaded from
--- libdv-1.0.0.old/libdv/asm_common.S 1970-01-01 01:00:00.000000000 +0100 http://bugs.gentoo.org/show_bug.cgi?id=121871
+++ libdv-1.0.0/libdv/asm_common.S 2022-03-24 20:13:32.551881896 +0100 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 @@ @@ -0,0 +1,29 @@
+/* public domain, do what you want */ +/* 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 +#else
+# define LOAD_PIC_REG(reg) +# define LOAD_PIC_REG(reg)
+#endif +#endif
diff -Naur libdv-1.0.0.old/libdv/dct_block_mmx.S libdv-1.0.0/libdv/dct_block_mmx.S --- libdv-0.104-old/libdv/dct_block_mmx.S
--- libdv-1.0.0.old/libdv/dct_block_mmx.S 2022-03-24 20:13:23.543725277 +0100 +++ libdv-0.104/libdv/dct_block_mmx.S
+++ libdv-1.0.0/libdv/dct_block_mmx.S 2022-03-24 20:13:32.551881896 +0100 @@ -55,19 +55,22 @@ scratch2: .quad 0
@@ -55,6 +55,8 @@
.section .note.GNU-stack, "", @progbits .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 .text
.align 8 .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: _dv_dct_88_block_mmx:
pushl %ebp 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 # column 0
movq 16*0(%esi), %mm0 # v0 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*3(%esi), %mm5 # v3
movq 16*4(%esi), %mm7 # v4 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 movq %mm0, %mm6 # duplicate v10
paddw %mm1, %mm0 # v10+v11 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 %mm6, 16*4(%esi) # out4: v10-v11
movq %mm4, %mm0 # mm0: v06 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 psllw $1, %mm4 # v35: compensate the coeefient scale
movq %mm4, %mm6 # duplicate v35 movq %mm4, %mm6 # duplicate v35
@@ -127,7 +130,7 @@ @@ -125,7 +130,7 @@ _dv_dct_88_block_mmx:
paddw %mm5, %mm3 # v22: v12+v13 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 psllw $16-NSHIFT, %mm3 # v32: compensate the coeefient scale
movq %mm5, %mm6 # duplicate v13 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 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-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
@@ -192,22 +195,22 @@ @@ -190,22 +195,22 @@ _dv_dct_88_block_mmx:
movq 16*3(%esi), %mm5 # v3 movq 16*3(%esi), %mm5 # v3
movq 16*4(%esi), %mm7 # v4 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 movq %mm0, %mm6 # duplicate v10
paddw %mm1, %mm0 # v10+v11 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 %mm6, 16*4(%esi) # out4: v10-v11
movq %mm4, %mm0 # mm0: v06 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 psllw $16-NSHIFT, %mm4 # v35: compensate the coeefient scale
movq %mm4, %mm6 # duplicate v35 movq %mm4, %mm6 # duplicate v35
@@ -229,7 +232,7 @@ @@ -227,7 +232,7 @@ _dv_dct_88_block_mmx:
paddw %mm5, %mm3 # v22: v12+v13 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 psllw $16-NSHIFT, %mm3 # v32: compensate the coeefient scale
movq %mm5, %mm6 # duplicate v13 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 %mm5, 16*2(%esi) # out2: v13+v32
movq %mm6, 16*6(%esi) # out6: 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-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
@@ -759,11 +762,12 @@ @@ -755,11 +762,12 @@ _dv_dct_block_mmx_postscale_88:
_dv_dct_248_block_mmx: _dv_dct_248_block_mmx:
pushl %ebp 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 # column 0
@@ -787,7 +791,7 @@ @@ -781,7 +791,7 @@ _dv_dct_248_block_mmx:
paddw %mm1, %mm0 # v20: v10+v11 paddw %mm1, %mm0 # v20: v10+v11
psubw %mm1, %mm3 # v21: 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 movq %mm4, %mm2
psllw $16-NSHIFT, %mm5 # v32: compensate the coeffient scale 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 paddw %mm1, %mm0 # v20: v10+v11
psubw %mm1, %mm3 # v21: 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 movq %mm4, %mm2
psllw $16-NSHIFT, %mm5 # v32: compensate the coeffient scale 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 paddw %mm1, %mm0 # v20: v10+v11
psubw %mm1, %mm3 # v21: 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 movq %mm4, %mm2
psllw $16-NSHIFT, %mm5 # v32: compensate the coeffient scale 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 paddw %mm1, %mm0 # v20: v10+v11
psubw %mm1, %mm3 # v21: 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 movq %mm4, %mm2
psllw $16-NSHIFT, %mm5 # v32: compensate the coeffient scale 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-0.104-old/libdv/dv.c
--- libdv-1.0.0.old/libdv/dv.c 2022-03-24 20:11:25.271668956 +0100 +++ libdv-0.104/libdv/dv.c
+++ libdv-1.0.0/libdv/dv.c 2022-03-24 20:13:32.551881896 +0100 @@ -205,6 +205,9 @@ dv_reconfigure(int clamp_luma, int clamp
@@ -205,6 +205,9 @@
} /* dv_reconfigure */ } /* 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 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 @@ @@ -218,7 +221,7 @@ dv_decode_macroblock(dv_decoder_t *dv, d
dv_idct_248 (co248, mb->b[i].coeffs); dv_idct_248 (co248, mb->b[i].coeffs);
} else { } else {
#if ARCH_X86 #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); _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 @@ @@ -250,7 +253,7 @@ dv_decode_video_segment(dv_decoder_t *dv
dv_idct_248 (co248, mb->b[b].coeffs); dv_idct_248 (co248, mb->b[b].coeffs);
} else { } else {
#if ARCH_X86 #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_weight_88_inverse(bl->coeffs);
_dv_idct_88(bl->coeffs); _dv_idct_88(bl->coeffs);
#elif ARCH_X86_64 #elif ARCH_X86_64
diff -Naur libdv-1.0.0.old/libdv/encode.c libdv-1.0.0/libdv/encode.c --- libdv-0.104-old/libdv/encode.c
--- libdv-1.0.0.old/libdv/encode.c 2022-03-24 20:11:25.272668973 +0100 +++ libdv-0.104/libdv/encode.c
+++ libdv-1.0.0/libdv/encode.c 2022-03-24 20:13:32.596882678 +0100 @@ -521,7 +521,8 @@ static void reorder_block(dv_block_t *bl
@@ -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,
@ -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, 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 @@ @@ -558,7 +559,7 @@ static unsigned long vlc_encode_block(dv
#elif ARCH_X86 #elif ARCH_X86
int num_bits; 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(); emms();
#else #else
int num_bits; int num_bits;
@@ -574,7 +575,7 @@ @@ -574,7 +575,7 @@ static unsigned long vlc_encode_block(dv
return num_bits; 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_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 @@ @@ -600,7 +601,7 @@ extern unsigned long _dv_vlc_num_bits_bl
#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
@ -325,9 +327,8 @@ diff -Naur libdv-1.0.0.old/libdv/encode.c libdv-1.0.0/libdv/encode.c
#endif #endif
} }
diff -Naur libdv-1.0.0.old/libdv/encode_x86.S libdv-1.0.0/libdv/encode_x86.S --- libdv-0.104-old/libdv/encode_x86.S
--- libdv-1.0.0.old/libdv/encode_x86.S 2022-03-24 20:13:23.544725294 +0100 +++ libdv-0.104/libdv/encode_x86.S
+++ 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/.
*/ */
@ -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 .section .note.GNU-stack, "", @progbits
@@ -50,11 +47,14 @@ @@ -49,11 +47,14 @@ _dv_vlc_encode_block_mmx:
movl $63, %ecx 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 xorl %ebp, %ebp
subl $8, %edx subl $8, %edx
vlc_encode_block_mmx_loop: vlc_encode_block_mmx_loop:
@@ -128,7 +128,7 @@ @@ -125,7 +128,7 @@ _dv_vlc_num_bits_block_x86:
addl $2, %edi addl $2, %edi
movl $63, %ecx 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: vlc_num_bits_block_x86_loop:
movw (%edi), %ax movw (%edi), %ax
@@ -594,8 +594,11 @@ @@ -583,8 +594,11 @@ _dv_need_dct_248_mmx_rows:
paddw %mm5, %mm1 paddw %mm5, %mm1
paddw %mm1, %mm0 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 movq %mm0, %mm1
psrlq $32, %mm1 psrlq $32, %mm1
paddd %mm1, %mm0 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-0.104-old/libdv/idct_block_mmx.S
--- libdv-1.0.0.old/libdv/idct_block_mmx.S 2022-03-24 20:13:23.544725294 +0100 +++ libdv-0.104/libdv/idct_block_mmx.S
+++ libdv-1.0.0/libdv/idct_block_mmx.S 2022-03-24 20:13:32.597882695 +0100 @@ -8,17 +8,21 @@
@@ -8,6 +8,8 @@
.section .note.GNU-stack, "", @progbits .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 .text
.align 4 .align 4
.global _dv_idct_block_mmx .global _dv_idct_block_mmx
@@ -15,10 +17,12 @@ .hidden _dv_idct_block_mmx
.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 @@ diff -Naur libdv-1.0.0.old/libdv/idct_block_mmx.S libdv-1.0.0/libdv/idct_block_m
/* /*
* column 0: even part * column 0: even part
@@ -36,7 +40,7 @@ @@ -34,7 +40,7 @@ _dv_idct_block_mmx:
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 @@ diff -Naur libdv-1.0.0.old/libdv/idct_block_mmx.S libdv-1.0.0/libdv/idct_block_m
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 */
@@ -77,7 +81,7 @@ @@ -75,7 +81,7 @@ _dv_idct_block_mmx:
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 @@ diff -Naur libdv-1.0.0.old/libdv/idct_block_mmx.S libdv-1.0.0/libdv/idct_block_m
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 */
@@ -85,15 +89,15 @@ @@ -83,15 +89,15 @@ _dv_idct_block_mmx:
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 @@ diff -Naur libdv-1.0.0.old/libdv/idct_block_mmx.S libdv-1.0.0/libdv/idct_block_m
nop nop
psubsw %mm1, %mm0 /* V38 */ psubsw %mm1, %mm0 /* V38 */
psubsw %mm7, %mm1 /* V37 ; free mm7 */ psubsw %mm7, %mm1 /* V37 ; free mm7 */
@@ -160,7 +164,7 @@ @@ -158,7 +164,7 @@ _dv_idct_block_mmx:
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 @@ 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 */ 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 */
@@ -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 * 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 @@ 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 */ movq %mm5, %mm6 /* duplicate V3 */
psraw $2, %mm4 /* t148=t150 */ psraw $2, %mm4 /* t148=t150 */
paddsw %mm4, %mm5 /* V61 */ paddsw %mm4, %mm5 /* V61 */
@@ -214,13 +218,13 @@ @@ -212,13 +218,13 @@ _dv_idct_block_mmx:
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 @@ diff -Naur libdv-1.0.0.old/libdv/idct_block_mmx.S libdv-1.0.0/libdv/idct_block_m
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 */
@@ -345,7 +349,7 @@ @@ -343,7 +349,7 @@ _dv_idct_block_mmx:
* movq 8*13(%esi), %mm4 tmt13 * movq 8*13(%esi), %mm4 tmt13
*/ */
psubsw %mm4, %mm3 /* V134 */ 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 */ 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 */
@@ -374,17 +378,17 @@ @@ -372,17 +378,17 @@ _dv_idct_block_mmx:
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 @@ 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 */ 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 */
@@ -410,7 +414,7 @@ @@ -408,7 +414,7 @@ _dv_idct_block_mmx:
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 @@ 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, %mm6
psraw $4, %mm4 psraw $4, %mm4
paddsw %mm5, %mm3 /* V162 */ paddsw %mm5, %mm3 /* V162 */
@@ -421,11 +425,11 @@ @@ -419,11 +425,11 @@ _dv_idct_block_mmx:
*/ */
movq %mm6, 8*9(%esi) /* out9 */ movq %mm6, 8*9(%esi) /* out9 */
paddsw %mm1, %mm0 /* V161 */ 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 %mm2, %mm4 /* duplicate V140 */
movq %mm5, 8*13(%esi) /* out13 */ movq %mm5, 8*13(%esi) /* out13 */
paddsw %mm7, %mm2 /* V160 */ paddsw %mm7, %mm2 /* V160 */
@@ -435,7 +439,7 @@ @@ -433,7 +439,7 @@ _dv_idct_block_mmx:
/* 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 @@ 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 */ /* moved from the next block */
movq %mm0, %mm1 movq %mm0, %mm1
movq %mm4, 8*15(%esi) /* out15 */ movq %mm4, 8*15(%esi) /* out15 */
@@ -492,15 +496,15 @@ @@ -490,15 +496,15 @@ _dv_idct_block_mmx:
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 @@ diff -Naur libdv-1.0.0.old/libdv/idct_block_mmx.S libdv-1.0.0/libdv/idct_block_m
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 */
@@ -518,7 +522,7 @@ @@ -516,7 +522,7 @@ _dv_idct_block_mmx:
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 @@ 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 %mm7, %mm5 /* duplicate tmt0 */
movq 8*8(%esi), %mm1 /* tmt8 */ movq 8*8(%esi), %mm1 /* tmt8 */
paddsw %mm1, %mm7 /* V103 */ paddsw %mm1, %mm7 /* V103 */
@@ -552,10 +556,10 @@ @@ -550,10 +556,10 @@ _dv_idct_block_mmx:
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 @@ 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 */ psubsw %mm4, %mm1 /* out14 ; free mm4 */
paddsw %mm3, %mm5 /* out2 */ paddsw %mm3, %mm5 /* out2 */
psraw $4, %mm1 psraw $4, %mm1
@@ -566,7 +570,7 @@ @@ -564,7 +570,7 @@ _dv_idct_block_mmx:
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 @@ 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 */ /* 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 */
@@ -580,7 +584,7 @@ @@ -578,7 +584,7 @@ _dv_idct_block_mmx:
* psraw $4, %mm0 * psraw $4, %mm0
* psraw $4, %mm6 * 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 psraw $4, %mm4
movq %mm0, 8*3(%esi) /* out3 */ movq %mm0, 8*3(%esi) /* out3 */
psraw $4, %mm1 psraw $4, %mm1
diff -Naur libdv-1.0.0.old/libdv/parse.c libdv-1.0.0/libdv/parse.c --- libdv-0.104-old/libdv/parse.c
--- libdv-1.0.0.old/libdv/parse.c 2022-03-24 20:11:25.272668973 +0100 +++ libdv-0.104/libdv/parse.c
+++ libdv-1.0.0/libdv/parse.c 2022-03-24 20:13:32.597882695 +0100 @@ -477,6 +477,13 @@ dv_parse_ac_coeffs(dv_videosegment_t *se
@@ -477,6 +477,13 @@
exit(0); exit(0);
#endif #endif
} /* dv_parse_ac_coeffs */ } /* 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-0.104-old/libdv/quant.c
--- libdv-1.0.0.old/libdv/quant.c 2022-03-24 20:11:25.272668973 +0100 +++ libdv-0.104/libdv/quant.c
+++ libdv-1.0.0/libdv/quant.c 2022-03-24 20:13:32.597882695 +0100 @@ -144,7 +144,7 @@ uint8_t dv_quant_offset[4] = { 6,3,0,1
@@ -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];
@ -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); 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 @@ @@ -210,7 +210,7 @@ void _dv_quant(dv_coeff_t *block,int qno
_dv_quant_x86_64(block, qno, klass); _dv_quant_x86_64(block, qno, klass);
emms(); emms();
#else #else
@ -644,10 +642,9 @@ diff -Naur libdv-1.0.0.old/libdv/quant.c libdv-1.0.0/libdv/quant.c
emms(); emms();
#endif #endif
} }
diff -Naur libdv-1.0.0.old/libdv/quant.h libdv-1.0.0/libdv/quant.h --- libdv-0.104-old/libdv/quant.h
--- libdv-1.0.0.old/libdv/quant.h 2022-03-24 20:11:25.271668956 +0100 +++ libdv-0.104/libdv/quant.h
+++ libdv-1.0.0/libdv/quant.h 2022-03-24 20:13:32.597882695 +0100 @@ -27,7 +27,7 @@ extern void _dv_quant(dv_coeff_t *block,
@@ -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);
@ -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_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
diff -Naur libdv-1.0.0.old/libdv/quant_x86.S libdv-1.0.0/libdv/quant_x86.S --- libdv-0.104-old/libdv/quant_x86.S
--- libdv-1.0.0.old/libdv/quant_x86.S 2022-03-24 20:13:23.545725311 +0100 +++ libdv-0.104/libdv/quant_x86.S
+++ libdv-1.0.0/libdv/quant_x86.S 2022-03-24 20:13:32.598882713 +0100 @@ -73,10 +75,13 @@ _dv_quant_88_inverse_x86:
@@ -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 */
@ -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); */ /* extra = (class == 3); */
/* 0 1 2 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]]; */ /* pq = dv_quant_shifts[qno + dv_quant_offset[class]]; */
movl ARGn(1),%eax /* qno */ 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); */ /* extra = (class == 3); */
/* 0 1 2 3 */ /* 0 1 2 3 */
diff -Naur libdv-1.0.0.old/libdv/rgbtoyuv.S libdv-1.0.0/libdv/rgbtoyuv.S --- libdv-0.104-old/libdv/rgbtoyuv.S
--- libdv-1.0.0.old/libdv/rgbtoyuv.S 2022-03-24 20:13:23.545725311 +0100 +++ libdv-0.104/libdv/rgbtoyuv.S
+++ 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
@ -705,7 +700,7 @@ diff -Naur libdv-1.0.0.old/libdv/rgbtoyuv.S libdv-1.0.0/libdv/rgbtoyuv.S
.data .data
.align 8 .align 8
@@ -110,17 +107,19 @@ @@ -110,25 +107,26 @@ VR0GR: .long 0,0
VBG0B: .long 0,0 VBG0B: .long 0,0
#endif #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 .global _dv_rgbtoycb_mmx
.hidden _dv_rgbtoycb_mmx .hidden _dv_rgbtoycb_mmx
@@ -128,7 +127,6 @@ .type _dv_rgbtoycb_mmx,@function
_dv_rgbtoycb_mmx: _dv_rgbtoycb_mmx:
pushl %ebp 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 %eax
pushl %ebx pushl %ebx
pushl %ecx pushl %ecx
@@ -136,46 +134,47 @@ @@ -133,46 +134,47 @@ _dv_rgbtoycb_mmx:
pushl %esi pushl %esi
pushl %edi 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: rgbtoycb_mmx_loop:
movq (%eax), %mm1 #load G2R2B1G1R1B0G0R0 movq (%eax), %mm1 #load G2R2B1G1R1B0G0R0
pxor %mm6, %mm6 #0 -> mm6 pxor %mm6, %mm6 #0 -> mm6
@@ -189,29 +188,29 @@ @@ -186,29 +188,29 @@ rgbtoycb_mmx_loop:
punpcklbw %mm6, %mm1 #B1G1R1B0 -> mm1 punpcklbw %mm6, %mm1 #B1G1R1B0 -> mm1
movq %mm0, %mm2 #R1B0G0R0 -> mm2 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 paddd %mm5, %mm4 #V1V0 -> mm4
movq %mm1, %mm5 #B3G3R3B2 -> mm5 movq %mm1, %mm5 #B3G3R3B2 -> mm5
@@ -219,29 +218,29 @@ @@ -216,29 +218,29 @@ rgbtoycb_mmx_loop:
paddd %mm7, %mm1 #R3B200+00G2R2=R3B2G2R2->mm1 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 psrad $FIXPSHIFT, %mm4 #32-bit scaled V1V0 -> mm4
movq 16(%eax), %mm1 #B7G7R7B6G6R6B5G5 -> mm7 movq 16(%eax), %mm1 #B7G7R7B6G6R6B5G5 -> mm7
@@ -256,58 +255,58 @@ @@ -253,58 +255,58 @@ rgbtoycb_mmx_loop:
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
@ -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, %mm0 #32-bit scaled U5U4 -> mm0
psrad $FIXPSHIFT, %mm2 #32-bit scaled Y5Y4 -> mm2 psrad $FIXPSHIFT, %mm2 #32-bit scaled Y5Y4 -> mm2
@@ -315,25 +314,25 @@ @@ -312,25 +314,25 @@ rgbtoycb_mmx_loop:
paddd %mm5, %mm6 #Y7Y6 -> mm6 paddd %mm5, %mm6 #Y7Y6 -> mm6
movq %mm7, %mm5 #R7B6G6R6 -> mm5 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, %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
@@ -343,8 +342,8 @@ @@ -340,8 +342,8 @@ rgbtoycb_mmx_loop:
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
@ -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 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: _dv_pgm_copy_y_block_mmx:
pushl %ebp 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 pxor %mm6, %mm6
movq (%esi), %mm0 movq (%esi), %mm0
@@ -578,14 +578,15 @@ @@ -571,14 +578,15 @@ _dv_pgm_copy_y_block_mmx:
_dv_video_copy_y_block_mmx: _dv_video_copy_y_block_mmx:
pushl %ebp 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 pxor %mm6, %mm6
movq (%esi), %mm0 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: _dv_pgm_copy_pal_c_block_mmx:
pushl %ebp 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 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: _dv_video_copy_pal_c_block_mmx:
pushl %ebp 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 paddw %mm7, %mm7
pxor %mm6, %mm6 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: _dv_ppm_copy_ntsc_c_block_mmx:
pushl %ebp 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: ppm_copy_ntsc_c_block_mmx_loop:
movq (%esi), %mm0 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: _dv_pgm_copy_ntsc_c_block_mmx:
pushl %ebp 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 paddw %mm7, %mm7
pxor %mm6, %mm6 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: _dv_video_copy_ntsc_c_block_mmx:
pushl %ebp 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 paddw %mm7, %mm7
pxor %mm6, %mm6 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-0.104-old/libdv/rgbtoyuv_x86_64.S
--- libdv-1.0.0.old/libdv/rgbtoyuv_x86_64.S 2022-03-24 20:13:23.546725329 +0100 +++ libdv-0.104/libdv/rgbtoyuv_x86_64.S
+++ 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
@ -1174,9 +1168,8 @@ diff -Naur libdv-1.0.0.old/libdv/rgbtoyuv_x86_64.S libdv-1.0.0/libdv/rgbtoyuv_x8
.data .data
.align 8 .align 8
diff -Naur libdv-1.0.0.old/libdv/vlc_x86.S libdv-1.0.0/libdv/vlc_x86.S --- libdv-0.104-old/libdv/vlc_x86.S
--- libdv-1.0.0.old/libdv/vlc_x86.S 2022-03-24 20:13:23.547725346 +0100 +++ libdv-0.104/libdv/vlc_x86.S
+++ 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
@ -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 movl (%edx,%ebx,4),%edx
/* Now %edx holds result, like this: /* Now %edx holds result, like this:
@@ -44,7 +52,7 @@ @@ -43,7 +52,7 @@ dv_decode_vlc:
movl %edx,%ecx movl %edx,%ecx
sarl $8,%ecx sarl $8,%ecx
andl $0xff,%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 andl %ebx,%eax
negl %eax negl %eax
sarl $31,%eax sarl $31,%eax
@@ -65,14 +73,14 @@ @@ -64,14 +73,14 @@ dv_decode_vlc:
*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)
*/ */
@ -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 popl %ebx
ret ret
@@ -82,21 +90,28 @@ @@ -81,21 +90,28 @@ dv_decode_vlc:
.type __dv_decode_vlc,@function .type __dv_decode_vlc,@function
__dv_decode_vlc: __dv_decode_vlc:
pushl %ebx 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 movl (%edx,%ebx,4),%edx
/* Now %edx holds result, like this: /* Now %edx holds result, like this:
@@ -114,7 +129,7 @@ @@ -113,7 +129,7 @@ __dv_decode_vlc:
movl %edx,%ecx movl %edx,%ecx
sarl $8,%ecx sarl $8,%ecx
andl $0xff,%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 andl %ecx,%eax
negl %eax negl %eax
sarl $31,%eax sarl $31,%eax
@@ -129,9 +144,9 @@ @@ -128,9 +144,9 @@ __dv_decode_vlc:
xorl %eax,%edx xorl %eax,%edx
subl %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 popl %ebx
ret ret
@@ -142,6 +157,10 @@ @@ -141,14 +157,20 @@ void dv_parse_ac_coeffs_pass0(bitstream_
*/ */
.text .text
.align 4 .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 .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:
@@ -150,6 +169,8 @@ pushl %ebx
pushl %edi
pushl %esi pushl %esi
pushl %ebp 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) #define ARGn(N) (20+(4*(N)))(%esp)
/* /*
@@ -162,8 +183,10 @@ @@ -160,8 +183,10 @@ dv_parse_ac_coeffs_pass0:
ebp bl ebp bl
*/ */
movl ARGn(2),%ebp 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_offset(%ebp),%edi
movl dv_block_t_reorder(%ebp),%ebx 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 movq dv_block_t_coeffs(%ebp),%mm1
pxor %mm0,%mm0 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 %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)
@@ -194,9 +221,17 @@ @@ -192,9 +221,17 @@ dv_parse_ac_coeffs_pass0:
readloop: readloop:
movl %edi,%ecx movl %edi,%ecx
shrl $3,%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 $16,%eax
shll $8,%edx shll $8,%edx
orl %ecx,%eax orl %ecx,%eax
@@ -220,7 +255,11 @@ @@ -218,7 +255,11 @@ readloop:
/* 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. */
@ -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 test $0x80,%edx
je done_decode je done_decode
@@ -231,12 +270,19 @@ @@ -229,12 +270,19 @@ readloop:
movl %ebx,dv_block_t_reorder(%ebp) movl %ebx,dv_block_t_reorder(%ebp)
/* %eax is bits */ /* %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 andl %eax,%ebx
sarl %cl,%ebx sarl %cl,%ebx
@@ -259,7 +305,11 @@ @@ -257,7 +305,11 @@ readloop:
movl %edx,%ecx movl %edx,%ecx
sarl $8,%ecx sarl $8,%ecx
andl $0xff,%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 andl %ecx,%eax
negl %eax negl %eax
sarl $31,%eax sarl $31,%eax
@@ -329,10 +379,16 @@ @@ -327,10 +379,16 @@ alldone:
slowpath: slowpath:
/* slow path: use dv_decode_vlc */; /* 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 addl $12,%esp
test $0x80,%edx /* If (vlc.run < 0) break */ test $0x80,%edx /* If (vlc.run < 0) break */
jne escape jne escape
@@ -369,6 +425,8 @@ @@ -367,6 +425,8 @@ show16:
pushl %esi pushl %esi
pushl %ebp 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) #define ARGn(N) (20+(4*(N)))(%esp)
movl ARGn(1),%eax /* quality */ movl ARGn(1),%eax /* quality */
@@ -377,7 +435,11 @@ @@ -374,7 +435,11 @@ dv_parse_video_segment:
jz its_mono jz its_mono
movl $6,%ebx movl $6,%ebx
its_mono: 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 * ebx seg/b
@@ -388,15 +450,22 @@ @@ -385,15 +450,22 @@ its_mono:
* ebp bl * ebp bl
*/ */
movl ARGn(0),%ebx 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 movl ARGn(0),%ebx
@@ -404,7 +473,13 @@ @@ -401,7 +473,13 @@ macloop:
/* mb->qno = bitstream_get(bs,4); */ /* mb->qno = bitstream_get(bs,4); */
movl %ecx,%edx movl %ecx,%edx
shr $3,%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 andl $0xf,%edx
movl %edx,dv_macroblock_t_qno(%edi) movl %edx,dv_macroblock_t_qno(%edi)
@@ -415,7 +490,11 @@ @@ -412,7 +490,11 @@ macloop:
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); */
@ -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 movl dv_videosegment_t_i(%ebx),%ecx
addl %ecx,%edx addl %ecx,%edx
@@ -426,11 +505,20 @@ @@ -423,11 +505,20 @@ skarly:
andl $1,%ecx andl $1,%ecx
shll $5,%ecx /* ecx = (isPAL ? 32 : 0) */ 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) movl %edx,dv_macroblock_t_j(%edi)
/* mb->k = seg->k; */ /* mb->k = seg->k; */
@@ -449,12 +537,28 @@ @@ -446,12 +537,28 @@ blkloop:
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
*/ */
/* dc = bitstream_get(bs,9); */ /* 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 shll $8,%eax
orl %ecx,%eax orl %ecx,%eax
@@ -481,7 +585,11 @@ @@ -478,7 +585,11 @@ blkloop:
/* bl->reorder = &dv_reorder[bl->dct_mode][1]; */ /* bl->reorder = &dv_reorder[bl->dct_mode][1]; */
shll $6,%eax 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) movl %eax,dv_block_t_reorder(%ebp)
/* bl->reorder_sentinel = bl->reorder + 63; */ /* bl->reorder_sentinel = bl->reorder + 63; */
@@ -489,13 +597,22 @@ @@ -486,13 +597,22 @@ blkloop:
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]; */
@ -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 addl %ecx,%eax
movl %eax,dv_block_t_end(%ebp) 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 */ /* 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
@ -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 %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)
@@ -532,18 +653,27 @@ @@ -529,18 +653,27 @@ do_ac_pass:
pushl %ebp pushl %ebp
pushl %edi pushl %edi
pushl %eax 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 $(8 * 80),%ecx
addl $dv_macroblock_t_size,%edi addl $dv_macroblock_t_size,%edi
incl %eax incl %eax
@@ -561,7 +691,7 @@ @@ -558,7 +691,7 @@ done_ac:
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,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