File libdv-visibility.patch of Package libdv

--- 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