Sync from SUSE:SLFO:Main libdv revision 9f573eefb6c60fbaf76b83e8775543be
This commit is contained in:
commit
99c5b371f1
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
## Default LFS
|
||||
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||
*.png filter=lfs diff=lfs merge=lfs -text
|
||||
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||
*.zst filter=lfs diff=lfs merge=lfs -text
|
3
_multibuild
Normal file
3
_multibuild
Normal file
@ -0,0 +1,3 @@
|
||||
<multibuild>
|
||||
<package>playdv</package>
|
||||
</multibuild>
|
1
baselibs.conf
Normal file
1
baselibs.conf
Normal file
@ -0,0 +1 @@
|
||||
libdv4
|
1630
libdv-1.0.0-textrels-selinux.patch
Normal file
1630
libdv-1.0.0-textrels-selinux.patch
Normal file
File diff suppressed because it is too large
Load Diff
BIN
libdv-1.0.0.tar.gz
(Stored with Git LFS)
Normal file
BIN
libdv-1.0.0.tar.gz
(Stored with Git LFS)
Normal file
Binary file not shown.
71
libdv-endian.patch
Normal file
71
libdv-endian.patch
Normal file
@ -0,0 +1,71 @@
|
||||
--- libdv-1.0.0.orig/libdv/bitstream.h
|
||||
+++ libdv-1.0.0/libdv/bitstream.h
|
||||
@@ -42,16 +42,6 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
-//My new and improved vego-matic endian swapping routine
|
||||
-//(stolen from the kernel)
|
||||
-#if (BYTE_ORDER == BIG_ENDIAN)
|
||||
-#define swab32(x) (x)
|
||||
-#else // LITTLE_ENDIAN
|
||||
-# define swab32(x)\
|
||||
-((((uint8_t*)&x)[0] << 24) | (((uint8_t*)&x)[1] << 16) | \
|
||||
- (((uint8_t*)&x)[2] << 8) | (((uint8_t*)&x)[3]))
|
||||
-#endif // LITTLE_ENDIAN
|
||||
-
|
||||
bitstream_t *_dv_bitstream_init();
|
||||
void _dv_bitstream_set_fill_func(bitstream_t *bs,uint32_t (*next_function) (uint8_t **,void *),void *priv);
|
||||
void _dv_bitstream_next_buffer(bitstream_t * bs);
|
||||
@@ -66,7 +56,7 @@ static void bitstream_next_word(bitstrea
|
||||
|
||||
if ((bs->buflen - bs->bufoffset) >=4 ) {
|
||||
bs->next_word = *(uint32_t *)(bs->buf + bs->bufoffset);
|
||||
- bs->next_word = swab32(bs->next_word);
|
||||
+ bs->next_word = htobe32(bs->next_word);
|
||||
bs->next_bits = 32;
|
||||
// fprintf(stderr,"next_word is %08x at %d\n",bs->next_word,bs->bufoffset);
|
||||
bs->bufoffset += 4;
|
||||
@@ -195,10 +185,10 @@ static inline void bitstream_flush_large
|
||||
static inline void bitstream_seek_set(bitstream_t *bs, uint32_t offset) {
|
||||
bs->bufoffset = ((offset & (~0x1f)) >> 5) << 2;
|
||||
bs->current_word = *(uint32_t *)(bs->buf + bs->bufoffset);
|
||||
- bs->current_word = swab32(bs->current_word);
|
||||
+ bs->current_word = htobe32(bs->current_word);
|
||||
bs->bufoffset += 4;
|
||||
bs->next_word = *(uint32_t *)(bs->buf + bs->bufoffset);
|
||||
- bs->next_word = swab32(bs->next_word);
|
||||
+ bs->next_word = htobe32(bs->next_word);
|
||||
bs->bufoffset += 4;
|
||||
bs->bits_left = 32 - (offset & 0x1f);
|
||||
bs->next_bits = 32;
|
||||
--- libdv-1.0.0.orig/libdv/YUY2.c
|
||||
+++ libdv-1.0.0/libdv/YUY2.c
|
||||
@@ -275,7 +275,7 @@ dv_mb420_YUY2 (dv_macroblock_t *mb, uint
|
||||
cb_frame++;
|
||||
cr_frame++;
|
||||
|
||||
-#if (BYTE_ORDER == LITTLE_ENDIAN)
|
||||
+#if (__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__)
|
||||
*pwyuv0++ = ylut[CLAMP(*(Ytmp0 + 0), -256, 511)];
|
||||
*pwyuv0++ = cb;
|
||||
*pwyuv0++ = ylut[CLAMP(*(Ytmp0 + 1), -256, 511)];
|
||||
--- libdv-1.0.0.orig/libdv/dv_types.h
|
||||
+++ libdv-1.0.0/libdv/dv_types.h
|
||||
@@ -253,11 +253,13 @@ typedef struct {
|
||||
counter examples. If we do find out there is one, we'll have to
|
||||
fix it... */
|
||||
|
||||
-#if (BYTE_ORDER == LITTLE_ENDIAN)
|
||||
+#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
|
||||
#define LITTLE_ENDIAN_BITFIELD
|
||||
-#else
|
||||
+#elif __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
|
||||
#define BIG_ENDIAN_BITFIELD
|
||||
-#endif /* (BYTE_ORDER == LITTLE_ENDIAN) */
|
||||
+#else
|
||||
+#error "cannot determine endianness"
|
||||
+#endif
|
||||
|
||||
typedef struct {
|
||||
#if defined(LITTLE_ENDIAN_BITFIELD)
|
22
libdv-filesizecheck.patch
Normal file
22
libdv-filesizecheck.patch
Normal file
@ -0,0 +1,22 @@
|
||||
The patch checks if the file is smaller than the smallest
|
||||
video frame size, and if it's smaller, there can't be a
|
||||
valid video file in it, hence, the file is truncated
|
||||
and there is nothing to play in it.
|
||||
|
||||
See https://bugzilla.novell.com/show_bug.cgi?id=157631
|
||||
for further information.
|
||||
|
||||
--- libdv/playdv/playdv.c 2006/03/21 11:12:19 1.1
|
||||
+++ libdv/playdv/playdv.c 2006/03/21 11:33:05
|
||||
@@ -344,6 +344,11 @@
|
||||
if (!dv_player->no_mmap) {
|
||||
if(fstat(fd, &dv_player->statbuf)) goto fstatfail;
|
||||
eof = dv_player->statbuf.st_size;
|
||||
+ if (eof < sizeof(dv_header_t) + 120000) { /* 1st frame incomplete */
|
||||
+ fprintf(stderr, "playdv: File size of %d bytes "
|
||||
+ "smaller than frame size, nothing to play!\n", eof);
|
||||
+ exit(-1);
|
||||
+ }
|
||||
}
|
||||
|
||||
dv_player->decoder->quality = dv_player->decoder->video->quality;
|
75
libdv-fix-no-add-needed.patch
Normal file
75
libdv-fix-no-add-needed.patch
Normal file
@ -0,0 +1,75 @@
|
||||
---
|
||||
Makefile.am | 1 +
|
||||
configure.ac | 16 +++++++---------
|
||||
playdv/Makefile.am | 2 +-
|
||||
3 files changed, 9 insertions(+), 10 deletions(-)
|
||||
|
||||
Index: libdv-1.0.0/Makefile.am
|
||||
===================================================================
|
||||
--- libdv-1.0.0.orig/Makefile.am
|
||||
+++ libdv-1.0.0/Makefile.am
|
||||
@@ -1,3 +1,4 @@
|
||||
+ACLOCAL_AMFLAGS = -I m4
|
||||
if HAVE_GTK
|
||||
gtk_subdirs = playdv
|
||||
else
|
||||
Index: libdv-1.0.0/configure.ac
|
||||
===================================================================
|
||||
--- libdv-1.0.0.orig/configure.ac
|
||||
+++ libdv-1.0.0/configure.ac
|
||||
@@ -1,20 +1,22 @@
|
||||
dnl Process this file with autoconf to produce a configure script.
|
||||
-AC_INIT(libdv/parse.c)
|
||||
+AC_INIT
|
||||
+AC_CONFIG_SRCDIR([libdv/parse.c])
|
||||
dnl AC_CONFIG_AUX_DIR(config)
|
||||
-AM_CONFIG_HEADER(config.h)
|
||||
-
|
||||
+AC_CONFIG_HEADERS([config.h])
|
||||
+AC_CONFIG_MACRO_DIR([m4])
|
||||
RPM_RELEASE=1
|
||||
AC_CANONICAL_HOST
|
||||
AC_CANONICAL_TARGET
|
||||
AM_INIT_AUTOMAKE(libdv, 1.0.0)
|
||||
|
||||
AM_MAINTAINER_MODE
|
||||
-AC_LIBTOOL_PICMODE(no)
|
||||
|
||||
dnl Checks for programs.
|
||||
|
||||
AC_SUBST(CFLAGS)
|
||||
-AC_PROG_CC
|
||||
+AC_PROG_CC_STDC
|
||||
+AC_USE_SYSTEM_EXTENSIONS
|
||||
+AC_SYS_LARGEFILE
|
||||
AM_PROG_AS
|
||||
AS="${CC}" # stupid automake bug
|
||||
|
||||
@@ -25,9 +27,6 @@ if test "$GCC" = "yes"; then
|
||||
CFLAGS="$CFLAGS -Wall"
|
||||
fi
|
||||
|
||||
-AH_TEMPLATE([_GNU_SOURCE],
|
||||
- [Define to enable GNU extensions of glibc, notably large file support])
|
||||
-
|
||||
AH_TEMPLATE([YUV_420_USE_YV12],
|
||||
[Define to 1 to use planar YUV format for 420 blocks in IEC PAL])
|
||||
|
||||
@@ -49,7 +48,6 @@ AH_TEMPLATE([HAVE_GTK],
|
||||
AH_TEMPLATE([HAVE_LIBXV],
|
||||
[Define if you have the `Xv' library (-lXv).])
|
||||
|
||||
-AC_DEFINE(_GNU_SOURCE)
|
||||
|
||||
AC_PROG_INSTALL
|
||||
AC_PROG_LIBTOOL
|
||||
Index: libdv-1.0.0/playdv/Makefile.am
|
||||
===================================================================
|
||||
--- libdv-1.0.0.orig/playdv/Makefile.am
|
||||
+++ libdv-1.0.0/playdv/Makefile.am
|
||||
@@ -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
|
24
libdv-gtk2.patch
Normal file
24
libdv-gtk2.patch
Normal file
@ -0,0 +1,24 @@
|
||||
diff -urNad libdv-1.0.0~/configure libdv-1.0.0/configure
|
||||
--- libdv-1.0.0~/configure 2006-09-25 16:11:47.000000000 -0400
|
||||
+++ libdv-1.0.0/configure 2009-03-24 14:34:21.000000000 -0400
|
||||
@@ -20082,7 +20082,7 @@
|
||||
|
||||
have_gtk="false"
|
||||
if $use_gtk; then
|
||||
- REQUIRES='glib >= 1.2.4 gtk+ >= 1.2.4'
|
||||
+ REQUIRES='glib-2.0 >= 2.0.0 gtk+-2.0 >= 2.0.0'
|
||||
|
||||
|
||||
if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
|
||||
diff -urNad libdv-1.0.0~/configure.ac libdv-1.0.0/configure.ac
|
||||
--- libdv-1.0.0~/configure.ac 2006-08-06 17:38:30.000000000 -0400
|
||||
+++ libdv-1.0.0/configure.ac 2009-03-24 14:34:45.000000000 -0400
|
||||
@@ -162,7 +162,7 @@
|
||||
dnl Checks for libraries.
|
||||
have_gtk="false"
|
||||
if $use_gtk; then
|
||||
- REQUIRES='glib >= 1.2.4 gtk+ >= 1.2.4'
|
||||
+ REQUIRES='glib-2.0 >= 2.0.0 gtk+-2.0 >= 2.0.0'
|
||||
PKG_CHECK_MODULES(GTK,$REQUIRES,have_gtk="true",have_gtk="false")
|
||||
AC_DEFINE(HAVE_GTK)
|
||||
fi
|
48
libdv-v4l-2.6.38.patch
Normal file
48
libdv-v4l-2.6.38.patch
Normal file
@ -0,0 +1,48 @@
|
||||
diff -ur libdv-1.0.0.orig/config.h.in libdv-1.0.0/config.h.in
|
||||
--- libdv-1.0.0.orig/config.h.in 2011-07-08 16:39:36.355076949 +0200
|
||||
+++ libdv-1.0.0/config.h.in 2011-07-08 16:40:04.411076945 +0200
|
||||
@@ -39,8 +39,8 @@
|
||||
/* Define if you have the `Xv' library (-lXv). */
|
||||
#undef HAVE_LIBXV
|
||||
|
||||
-/* Define to 1 if you have the <linux/videodev.h> header file. */
|
||||
-#undef HAVE_LINUX_VIDEODEV_H
|
||||
+/* Define to 1 if you have the <libv4l1-videodev.h> header file. */
|
||||
+#undef HAVE_LIBV4L1_VIDEODEV_H
|
||||
|
||||
/* Define to 1 if you have the <machine/endian.h> header file. */
|
||||
#undef HAVE_MACHINE_ENDIAN_H
|
||||
diff -ur libdv-1.0.0.orig/configure.ac libdv-1.0.0/configure.ac
|
||||
--- libdv-1.0.0.orig/configure.ac 2011-07-08 16:39:36.354076949 +0200
|
||||
+++ libdv-1.0.0/configure.ac 2011-07-08 16:40:20.147076945 +0200
|
||||
@@ -230,7 +230,7 @@
|
||||
dnl Checks for header files.
|
||||
AC_PATH_X
|
||||
AC_HEADER_STDC
|
||||
-AC_CHECK_HEADERS(fcntl.h sys/time.h unistd.h linux/videodev.h sys/soundcard.h \
|
||||
+AC_CHECK_HEADERS(fcntl.h sys/time.h unistd.h libv4l1-videodev.h sys/soundcard.h \
|
||||
endian.h machine/endian.h inttypes.h)
|
||||
|
||||
dnl Checks for typedefs, structures, and compiler characteristics.
|
||||
diff -ur libdv-1.0.0.orig/libdv/enc_input.c libdv-1.0.0/libdv/enc_input.c
|
||||
--- libdv-1.0.0.orig/libdv/enc_input.c 2011-07-08 16:39:36.357076949 +0200
|
||||
+++ libdv-1.0.0/libdv/enc_input.c 2011-07-08 16:44:24.458076915 +0200
|
||||
@@ -42,7 +42,7 @@
|
||||
#include <math.h>
|
||||
#endif
|
||||
|
||||
-#if HAVE_LINUX_VIDEODEV_H
|
||||
+#if HAVE_LIBV4L1_VIDEODEV_H
|
||||
#define HAVE_DEV_VIDEO 1
|
||||
#endif
|
||||
|
||||
@@ -50,7 +50,8 @@
|
||||
#define _DEVICE_H_
|
||||
#define _LINUX_TIME_H
|
||||
#include <sys/types.h>
|
||||
-#include <linux/videodev.h>
|
||||
+#include <libv4l1-videodev.h>
|
||||
+#include <linux/videodev2.h>
|
||||
#include <sys/time.h>
|
||||
#include <unistd.h>
|
||||
#include <fcntl.h>
|
165
libdv-visibility.patch
Normal file
165
libdv-visibility.patch
Normal file
@ -0,0 +1,165 @@
|
||||
--- libdv-1.0.0.orig/libdv/Makefile.am
|
||||
+++ libdv-1.0.0/libdv/Makefile.am
|
||||
@@ -3,10 +3,13 @@ MAINTAINERCLEANFILES = Makefile.in
|
||||
|
||||
CLEANFILES = asmoff.h
|
||||
|
||||
-LIBTOOL = $(SHELL) $(top_builddir)/libtool --silent
|
||||
+AM_CFLAGS = -fvisibility=hidden
|
||||
+#LIBTOOL = $(SHELL) $(top_builddir)/libtool --silent
|
||||
|
||||
lib_LTLIBRARIES= libdv.la
|
||||
|
||||
+noinst_LTLIBRARIES = libdv-internal.la
|
||||
+
|
||||
if HOST_X86
|
||||
GASMOFF=gasmoff
|
||||
endif # HOST_X86
|
||||
@@ -59,16 +62,18 @@ libdv_la_SOURCES= dv.c dct.c idct_248.c
|
||||
encode.c headers.c enc_input.c enc_audio_input.c enc_output.c \
|
||||
$(libdv_la_ASMS)
|
||||
|
||||
-libdv_la_LDFLAGS = -version-info 4:3:0
|
||||
+libdv_la_LDFLAGS = -no-undefined -version-info 4:3:0
|
||||
+
|
||||
+libdv_internal_la_SOURCES = $(libdv_la_SOURCES)
|
||||
|
||||
dovlc_SOURCES= dovlc.c
|
||||
-dovlc_LDADD= libdv.la
|
||||
+dovlc_LDADD= libdv.la libdv-internal.la
|
||||
|
||||
testvlc_SOURCES= testvlc.c
|
||||
-testvlc_LDADD=libdv.la
|
||||
+testvlc_LDADD=libdv.la libdv-internal.la
|
||||
|
||||
testbitstream_SOURCES= testbitstream.c bitstream.h
|
||||
-testbitstream_LDADD=libdv.la
|
||||
+testbitstream_LDADD=libdv.la libdv-internal.la
|
||||
|
||||
recode_SOURCES=recode.c
|
||||
recode_LDADD=libdv.la
|
||||
--- libdv-1.0.0.orig/libdv/dv.h
|
||||
+++ libdv-1.0.0/libdv/dv.h
|
||||
@@ -43,7 +43,7 @@
|
||||
#include <stdio.h>
|
||||
#include <inttypes.h>
|
||||
#include <time.h>
|
||||
-
|
||||
+#pragma GCC visibility push(default)
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
@@ -154,7 +154,7 @@ extern int dv_get_num_samples (dv_decode
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
-
|
||||
+#pragma GCC visibility pop
|
||||
#endif // DV_H
|
||||
|
||||
/*@}*/
|
||||
--- libdv-1.0.0.orig/libdv/gasmoff.c
|
||||
+++ libdv-1.0.0/libdv/gasmoff.c
|
||||
@@ -25,9 +25,7 @@
|
||||
#include "dv_types.h"
|
||||
|
||||
#include <stdio.h>
|
||||
-
|
||||
-#define offsetof(S, M) \
|
||||
- ((int)&(((S*)NULL)->M))
|
||||
+#include <stddef.h>
|
||||
|
||||
#define declare(S, M) \
|
||||
printf("#define %-40s %d\n", #S "_" #M, offsetof(S, M))
|
||||
--- libdv-1.0.0.orig/libdv/headers.c
|
||||
+++ libdv-1.0.0/libdv/headers.c
|
||||
@@ -31,6 +31,7 @@
|
||||
#include <string.h>
|
||||
#include <inttypes.h>
|
||||
|
||||
+#include "dv.h"
|
||||
#include "headers.h"
|
||||
|
||||
static void write_header_block(unsigned char* target, int ds, int isPAL)
|
||||
--- libdv-1.0.0.orig/encodedv/Makefile.am
|
||||
+++ libdv-1.0.0/encodedv/Makefile.am
|
||||
@@ -5,22 +5,22 @@ EXTRA_DIST = $(man_MANS)
|
||||
|
||||
MAINTAINERCLEANFILES = Makefile.in $(AUX_DIST)
|
||||
|
||||
-LIBTOOL = $(SHELL) $(top_builddir)/libtool --silent
|
||||
-
|
||||
CLEANFILES =
|
||||
|
||||
+AM_CFLAGS = -fvisibility=hidden
|
||||
+
|
||||
bin_PROGRAMS= encodedv dvconnect dubdv
|
||||
|
||||
noinst_PROGRAMS= fix_headers scan_packet_headers steal_header ppmqscale dvavi
|
||||
|
||||
encodedv_SOURCES= encodedv.c
|
||||
-encodedv_LDADD= ../libdv/libdv.la $(POPT_LIB)
|
||||
+encodedv_LDADD= ../libdv/libdv.la ../libdv/libdv-internal.la $(POPT_LIB)
|
||||
|
||||
dubdv_SOURCES = insert_audio.c
|
||||
-dubdv_LDADD= ../libdv/libdv.la $(POPT_LIB)
|
||||
+dubdv_LDADD= ../libdv/libdv.la ../libdv/libdv-internal.la $(POPT_LIB)
|
||||
|
||||
fix_headers_SOURCES = fix_headers.c
|
||||
-fix_headers_LDADD= ../libdv/libdv.la
|
||||
+fix_headers_LDADD= ../libdv/libdv.la ../libdv/libdv-internal.la
|
||||
|
||||
scan_packet_headers_SOURCES = scan_packet_headers.c
|
||||
|
||||
@@ -32,4 +32,4 @@ dvconnect_SOURCES = dvconnect.c
|
||||
dvconnect_LDADD = $(PTHREAD_LIBS) $(POPT_LIB)
|
||||
|
||||
dvavi_SOURCES = dvavi.c
|
||||
-dvavi_LDADD= ../libdv/libdv.la
|
||||
+dvavi_LDADD= ../libdv/libdv.la ../libdv/libdv-internal.la
|
||||
--- libdv-1.0.0.orig/playdv/Makefile.am
|
||||
+++ libdv-1.0.0/playdv/Makefile.am
|
||||
@@ -6,13 +6,11 @@ MAINTAINERCLEANFILES = Makefile.in
|
||||
|
||||
CLEANFILES =
|
||||
|
||||
-LIBTOOL = $(SHELL) $(top_builddir)/libtool --silent
|
||||
-
|
||||
-AM_CFLAGS = $(SDL_CFLAGS) $(GTK_CFLAGS)
|
||||
+AM_CFLAGS = -fvisibility=hidden $(SDL_CFLAGS) $(GTK_CFLAGS)
|
||||
|
||||
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) -lX11 -lXext
|
||||
+playdv_LDADD= $(SDL_LIBS) $(GTK_LIBS) $(XV_LIB) ../libdv/libdv.la ../libdv/libdv-internal.la $(POPT_LIB) -lX11 -lXext
|
||||
--- libdv-1.0.0.orig/libdv/vlc_x86.S
|
||||
+++ libdv-1.0.0/libdv/vlc_x86.S
|
||||
@@ -88,6 +88,7 @@ dv_decode_vlc:
|
||||
.align 4
|
||||
.globl __dv_decode_vlc
|
||||
.type __dv_decode_vlc,@function
|
||||
+ .hidden __dv_decode_vlc
|
||||
__dv_decode_vlc:
|
||||
pushl %ebx
|
||||
pushl %ebp
|
||||
--- libdv-1.0.0.orig/libdv/vlc_x86_64.S
|
||||
+++ libdv-1.0.0/libdv/vlc_x86_64.S
|
||||
@@ -5,6 +5,7 @@
|
||||
.align 4
|
||||
.globl dv_decode_vlc
|
||||
.type dv_decode_vlc,@function
|
||||
+ .hidden dv_decode_vlc
|
||||
dv_decode_vlc:
|
||||
push %rbx
|
||||
push %rbp
|
||||
@@ -101,6 +102,7 @@ void __dv_decode_vlc(int bits, dv_vlc_t
|
||||
.align 4
|
||||
.globl __dv_decode_vlc
|
||||
.type __dv_decode_vlc,@function
|
||||
+ .hidden __dv_decode_vlc
|
||||
__dv_decode_vlc:
|
||||
push %rbx
|
||||
push %rbp
|
232
libdv.changes
Normal file
232
libdv.changes
Normal file
@ -0,0 +1,232 @@
|
||||
-------------------------------------------------------------------
|
||||
Tue May 17 06:59:27 UTC 2022 - Dominique Leuenberger <dimstar@opensuse.org>
|
||||
|
||||
- Replace SDL-devel BuildRequires with pkgconfig(sdl): allow to use
|
||||
sdl12_compat as an alternative.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jun 7 11:57:22 UTC 2021 - Jan Engelhardt <jengelh@inai.de>
|
||||
|
||||
- Drop --with-pic (no effect with --disable-static)
|
||||
- Upgrade old rpm constructs (rediffs libdv-fix-no-add-needed.patch
|
||||
as p1)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Feb 3 13:09:39 UTC 2020 - Stefan Brüns <stefan.bruens@rwth-aachen.de>
|
||||
|
||||
- Cleanup spec file, remove obsolete conditionals.
|
||||
- Build playdv as a separate package, removes X11, SDL1 and gtk2
|
||||
build dependencies from the library.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Mar 6 17:30:12 UTC 2015 - mpluskal@suse.com
|
||||
|
||||
- Cleanup spec file with spec-cleaner
|
||||
- User url for source
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jan 27 19:59:19 UTC 2015 - crrodriguez@opensuse.org
|
||||
|
||||
- libdv-endian.patch : Fix endiannnes tests to rely on the
|
||||
compiler instead on the precence of C library definitions
|
||||
This is more important for dv_types.h public header because
|
||||
BYTE_ORDER is only defined when USE_MISC is.
|
||||
- libdv-visibility.patch: Export only the public API (dv.h)
|
||||
private symbols are now hidden so the unprefixed ones
|
||||
do not name-clash with other components of the system.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Apr 22 17:42:04 UTC 2013 - dimstar@opensuse.org
|
||||
|
||||
- Add libXv-devel BuildRequires: this used to be pulled in by SDL,
|
||||
but those dependencies were cleaned up.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Nov 13 09:15:36 UTC 2011 - coolo@suse.com
|
||||
|
||||
- add libtool as explicit buildrequire to avoid implicit dependency from prjconf
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Sep 3 20:32:28 UTC 2011 - crrodriguez@opensuse.org
|
||||
|
||||
- Fix build with no-add-needed
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jul 8 14:41:23 UTC 2011 - idonmez@novell.com
|
||||
|
||||
- Apply libdv-v4l-2.6.38.patch on openSUSE >= 12.1 to enable v4l
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jun 4 15:47:33 UTC 2010 - cristian.rodriguez@opensuse.org
|
||||
|
||||
- make it work with selinux enforcing "execmod" (patch by PaxTeam)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Jan 2 17:03:14 CET 2010 - vuntz@opensuse.org
|
||||
|
||||
- Add trivial libdv-gtk2.patch to use GTK+ 2 instead of GTK+ 1. The
|
||||
patch comes from Debian.
|
||||
- Change gtk1-compat-devel BuildRequires to gtk2-devel.
|
||||
- Remove AutoReqProv: it's default now.
|
||||
- Use makeinstall macro.
|
||||
- Use includedir instead of /usr/include.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Dec 18 17:24:17 CET 2009 - jengelh@medozas.de
|
||||
|
||||
- add baselibs.conf as a source
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jan 13 20:18:26 CET 2009 - crrodriguez@suse.de
|
||||
|
||||
- remove static libraries and "la" files
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jan 7 12:34:56 CET 2009 - olh@suse.de
|
||||
|
||||
- obsolete old -XXbit packages (bnc#437293)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Apr 10 12:54:45 CEST 2008 - ro@suse.de
|
||||
|
||||
- added baselibs.conf file to build xxbit packages
|
||||
for multilib support
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Aug 6 16:39:35 CEST 2007 - olh@suse.de
|
||||
|
||||
- update to version 1.0.0
|
||||
split libdv4 package which contains only libraries
|
||||
remove unused update-desktop-files
|
||||
build parallel
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Sep 20 16:26:16 CEST 2006 - anosek@suse.cz
|
||||
|
||||
- fixed compiler warnings [#136823] (warnings.patch)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Mar 21 17:18:24 CET 2006 - bk@suse.de
|
||||
|
||||
- Fix playdv abort with Bus Error on empty file (#157631)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Mar 9 13:44:05 CET 2006 - bk@suse.de
|
||||
|
||||
- Fix reorder_block() on non-x86 (Brent Casavant, SGI) (#155889),
|
||||
restores the older, known good non-x86 loop (no change on x86*)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Feb 13 19:00:09 CET 2006 - bk@suse.de
|
||||
|
||||
- make use of MMX and x86 optimsations on x86_64, fixes playback
|
||||
of video, 90% of video frames are dropped without them (~3fps)
|
||||
- fix memory leak in DV encoder and fix segfault in dvplay
|
||||
- omit massive printout of warnings which cause interrupted play
|
||||
- do not require execution stack in assember functions
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Jan 29 17:18:14 CET 2006 - aj@suse.de
|
||||
|
||||
- Fix BuildRequires.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jan 25 21:37:25 CET 2006 - mls@suse.de
|
||||
|
||||
- converted neededforbuild to BuildRequires
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Oct 26 13:37:00 CEST 2005 - rguenther@suse.de
|
||||
|
||||
- put some meaningful constraints on the asms in mmx.h to
|
||||
allow compiling with gcc 4.1 on i386.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Oct 21 14:20:00 CEST 2005 - kraxel@suse.de
|
||||
|
||||
- splitted away -devel package.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Sep 26 16:31:46 CEST 2005 - sbrabec@suse.cz
|
||||
|
||||
- Force gtk2 using gtk1-compat-devel.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jan 24 16:10:37 CET 2005 - kraxel@suse.de
|
||||
|
||||
- update to version 0.104
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Aug 20 12:06:42 CEST 2004 - kraxel@suse.de
|
||||
|
||||
- update to version 0.103
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Apr 20 12:38:33 CEST 2004 - sf@suse.de
|
||||
|
||||
- update to version 0.102
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Feb 11 11:45:30 CET 2004 - kraxel@suse.de
|
||||
|
||||
- update to version 0.101.
|
||||
- file list updates.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Jan 10 18:22:40 CET 2004 - adrian@suse.de
|
||||
|
||||
- add %defattr and %run_ldconfig
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon May 26 14:28:48 CEST 2003 - kraxel@suse.de
|
||||
|
||||
- added dvconnect to the file list.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu May 22 15:37:27 CEST 2003 - coolo@suse.de
|
||||
|
||||
- use BuildRoot (dvconnect removed to build on beta)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jan 14 15:31:38 CET 2003 - kraxel@suse.de
|
||||
|
||||
- updated to version 0.99
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Aug 1 13:50:53 CEST 2002 - uli@suse.de
|
||||
|
||||
- update -> 0.98
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jul 5 10:35:36 CEST 2002 - kukuk@suse.de
|
||||
|
||||
- Use %ix86 macro
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed May 15 15:33:56 CEST 2002 - ro@suse.de
|
||||
|
||||
- fix location for pkgconfig file in filelist
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Apr 22 15:21:24 CEST 2002 - uli@suse.de
|
||||
|
||||
- update -> 0.9.5 (bugfixes, enhancements, overhaul of encoder api
|
||||
options relating to YUV mismatches, fixes annoying mmx init bug)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Apr 9 16:10:52 CEST 2002 - uli@suse.de
|
||||
|
||||
- replaced cpuid mmx detection method with parsing of /proc/cpuinfo
|
||||
(should be segfault-proof...)
|
||||
- enabled SDL support
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Apr 2 16:59:26 CEST 2002 - ray@suse.de
|
||||
|
||||
- force MMX-support on ix86 platform
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jan 22 12:42:51 CET 2002 - uli@suse.de
|
||||
|
||||
- initial package
|
||||
|
39
libdv.non_x86-reorder_block.patch
Normal file
39
libdv.non_x86-reorder_block.patch
Normal file
@ -0,0 +1,39 @@
|
||||
This patch simply restores the older reorder_block() inner loop
|
||||
-------------------------------------------------------------------
|
||||
https://bugzilla.novell.com/show_bug.cgi?id=155889
|
||||
Brent Casavant <bcasavan@sgi.com>:
|
||||
|
||||
I submitted the following patch to libdv-dev@lists.sourceforge.net, and it is
|
||||
currently pending acceptance.
|
||||
|
||||
Subject: [libdv-dev] [PATCH] Fix reorder_block() zigzag on non-x86
|
||||
|
||||
The reorder_block() zigzag behaves incorrectly in the !ARCH_X86 &&
|
||||
!ARCH_X86_64 case. The current code fails to take into account the
|
||||
effects of _dv_prepare_reorder_tables(), which changes the indexes
|
||||
contained in the reorder_88[] and reorder_248[] arrays.
|
||||
|
||||
---
|
||||
|
||||
Restore older, known good, reorder_block() inner loop.
|
||||
|
||||
encode.c | 7 +++----
|
||||
1 files changed, 3 insertions(+), 4 deletions(-)
|
||||
|
||||
diff -ru libdv-0.104-orig/libdv/encode.c libdv-0.104-fixed/libdv/encode.c
|
||||
--- libdv-0.104-orig/libdv/encode.c 2004-11-16 21:36:30.000000000 -0600
|
||||
+++ libdv-0.104-fixed/libdv/encode.c 2006-03-07 14:07:22.000000000 -0600
|
||||
@@ -512,10 +512,9 @@
|
||||
_dv_reorder_block_mmx_x86_64(bl->coeffs, reorder);
|
||||
emms();
|
||||
#else
|
||||
- for (i = 0; i < 64; i++) {
|
||||
- // *(unsigned short*) ((char*) zigzag + reorder[i])=bl->coeffs[i];
|
||||
- zigzag[reorder[i] - 1] = bl->coeffs[i];
|
||||
- }
|
||||
+ for (i = 0; i < 64; i++)
|
||||
+ *(unsigned short*) ((char*) zigzag + reorder[i])=bl->coeffs[i];
|
||||
+
|
||||
memcpy(bl->coeffs, zigzag, 64 * sizeof(dv_coeff_t));
|
||||
#endif
|
||||
}
|
32
libdv.omit-excessive-warnings.patch
Normal file
32
libdv.omit-excessive-warnings.patch
Normal file
@ -0,0 +1,32 @@
|
||||
# --- libdv-2006-01-15/ChangeLog 2006-01-15 22:23:15.000000000 +0100
|
||||
# +++ libdv-2006-01-15-bk/ChangeLog 2006-02-13 20:36:58.000000000 +0100
|
||||
# @@ -1,3 +1,7 @@
|
||||
# +2006-02-13 Bernhard Kaindl <bk@suse.de>
|
||||
# + * audio.c: reduced excessive warning messages which caused
|
||||
# + interrupted play on many streams due to excessive output
|
||||
# +
|
||||
# 2006-01-15 Dan Dennedy <dan@dennedy.org>
|
||||
# * encode.c: apply patch from Burkhard Plaum to use gcc
|
||||
# destructor attribute to invoke dv_cleanup() when unloading
|
||||
--- libdv-2006-01-15/libdv/audio.c 2006-02-13 18:45:35.000000000 +0100
|
||||
+++ libdv-2006-01-15-bk/libdv/audio.c 2006-02-13 20:35:21.000000000 +0100
|
||||
@@ -613,7 +613,7 @@ dv_decode_audio_block(dv_audio_t *dv_aud
|
||||
* check if some or all samples in block failed
|
||||
*/
|
||||
if (full_failure) {
|
||||
- if (dv_audio -> error_log) {
|
||||
+ if (dv_audio -> error_log && full_failure != 1) {
|
||||
if (dv_get_timestamp (dv_audio -> dv_decoder, err_msg1) &&
|
||||
dv_get_recording_datetime (dv_audio -> dv_decoder, err_msg2)) {
|
||||
fprintf (dv_audio -> error_log,
|
||||
--- libdv-2006-01-15/libdv/dv.c 2004-10-20 05:49:24.000000000 +0200
|
||||
+++ libdv-2006-01-15-bk/libdv/dv.c 2006-02-13 20:35:45.000000000 +0100
|
||||
@@ -569,7 +569,7 @@ dv_decode_full_audio(dv_decoder_t *dv, c
|
||||
} /* for */
|
||||
|
||||
if (dv -> audio -> sample_failure) {
|
||||
- if (dv -> audio -> error_log) {
|
||||
+ if (dv -> audio -> error_log && dv -> audio -> block_failure) {
|
||||
fprintf (dv -> audio -> error_log,
|
||||
"# audio block/sample failure for %d blocks, %d samples of %d\n",
|
||||
dv -> audio -> block_failure,
|
144
libdv.spec
Normal file
144
libdv.spec
Normal file
@ -0,0 +1,144 @@
|
||||
#
|
||||
# spec file
|
||||
#
|
||||
# Copyright (c) 2022 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
# upon. The license for this file, and modifications and additions to the
|
||||
# file, is the same license as for the pristine package itself (unless the
|
||||
# license for the pristine package is not an Open Source License, in which
|
||||
# case the license is the MIT License). An "Open Source License" is a
|
||||
# license that conforms to the Open Source Definition (Version 1.9)
|
||||
# published by the Open Source Initiative.
|
||||
|
||||
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
||||
#
|
||||
|
||||
|
||||
%global flavor @BUILD_FLAVOR@%{nil}
|
||||
|
||||
%if "%{flavor}" == "playdv"
|
||||
%bcond_without playdv
|
||||
%define tools_description playdv sample application
|
||||
%define psuffix -playdv
|
||||
%else
|
||||
%bcond_with playdv
|
||||
%define tools_description encodedv, dubdv and dvconnect tools
|
||||
%endif
|
||||
%define sname libdv
|
||||
|
||||
Name: libdv%{?psuffix}
|
||||
Version: 1.0.0
|
||||
Release: 0
|
||||
Summary: The Quasar DV Codec
|
||||
License: GPL-2.0-or-later
|
||||
Group: Development/Libraries/Other
|
||||
URL: http://libdv.sourceforge.net/
|
||||
Source: http://sourceforge.net/projects/libdv/files/libdv/%{version}/%{sname}-%{version}.tar.gz
|
||||
Source2: baselibs.conf
|
||||
# PATCH-FIX-UPSTREAM libdv-gtk2.patch vuntz@opensuse.org -- Patch from debian, to use GTK+ 2.x
|
||||
Patch1: libdv-gtk2.patch
|
||||
Patch2: libdv.omit-excessive-warnings.patch
|
||||
Patch3: libdv.non_x86-reorder_block.patch
|
||||
Patch4: libdv-filesizecheck.patch
|
||||
Patch5: libdv-1.0.0-textrels-selinux.patch
|
||||
Patch6: libdv-v4l-2.6.38.patch
|
||||
Patch7: libdv-fix-no-add-needed.patch
|
||||
Patch8: libdv-endian.patch
|
||||
Patch9: libdv-visibility.patch
|
||||
BuildRequires: libtool
|
||||
BuildRequires: libv4l-devel >= 0.8.4
|
||||
BuildRequires: pkg-config
|
||||
BuildRequires: popt-devel
|
||||
%if %{with playdv}
|
||||
BuildRequires: gtk2-devel
|
||||
BuildRequires: libXv-devel
|
||||
BuildRequires: xorg-x11-libX11-devel
|
||||
BuildRequires: xorg-x11-libXext-devel
|
||||
BuildRequires: pkgconfig(sdl)
|
||||
%endif
|
||||
|
||||
%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 (FireWire or i.Link) interface. Libdv was
|
||||
developed according to the official standards for DV video: IEC 61834
|
||||
and SMPTE 314M.
|
||||
|
||||
This package contains the %{tools_description}.
|
||||
|
||||
%package -n libdv4
|
||||
Summary: The Quasar DV Codec
|
||||
Group: Development/Libraries/Other
|
||||
|
||||
%description -n libdv4
|
||||
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 (FireWire or i.Link) interface. Libdv was
|
||||
developed according to the official standards for DV video: IEC 61834
|
||||
and SMPTE 314M.
|
||||
|
||||
%package devel
|
||||
Summary: The Quasar DV codec
|
||||
Group: Development/Libraries/Other
|
||||
Requires: libdv4 = %{version}
|
||||
|
||||
%description devel
|
||||
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.
|
||||
|
||||
%prep
|
||||
%autosetup -p1 -n %{sname}-%{version}
|
||||
|
||||
%build
|
||||
mkdir m4
|
||||
%if %{without playdv}
|
||||
# Dummy macro for ignored SDL, autoreconf fails otherwise
|
||||
echo "AC_DEFUN([AM_PATH_SDL], [true])" >> m4/dummy_sdl.m4
|
||||
%endif
|
||||
|
||||
autoreconf -fiv
|
||||
export CFLAGS="${RPM_OPT_FLAGS/O2/O3} -fomit-frame-pointer -fPIC -DPIC"
|
||||
export LDFLAGS="-pie"
|
||||
%configure \
|
||||
--disable-static \
|
||||
%if %{with playdv}
|
||||
--enable-sdl \
|
||||
%else
|
||||
--disable-sdl \
|
||||
--disable-gtk \
|
||||
%endif
|
||||
%{nil}
|
||||
make %{?_smp_mflags}
|
||||
|
||||
%install
|
||||
%if "%{flavor}" == "playdv"
|
||||
%make_install -C playdv
|
||||
%else
|
||||
%make_install
|
||||
find %{buildroot} -type f -name "*.la" -delete -print
|
||||
%endif
|
||||
|
||||
%post -n libdv4 -p /sbin/ldconfig
|
||||
|
||||
%postun -n libdv4 -p /sbin/ldconfig
|
||||
|
||||
%files
|
||||
%{_bindir}/*
|
||||
%doc %{_mandir}/man1/*.1.gz
|
||||
|
||||
%if "%{flavor}" != "playdv"
|
||||
%files -n libdv4
|
||||
%{_libdir}/libdv.so.*
|
||||
|
||||
%files devel
|
||||
%{_includedir}/libdv
|
||||
%{_libdir}/libdv.so
|
||||
%{_libdir}/pkgconfig/libdv.pc
|
||||
%endif
|
||||
|
||||
%changelog
|
Loading…
Reference in New Issue
Block a user