summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDiego 'Flameeyes' Pettenò <flameeyes@gmail.com>2007-12-11 22:09:23 +0100
committerDiego 'Flameeyes' Pettenò <flameeyes@gmail.com>2007-12-11 22:09:23 +0100
commit47b3936175fa3e8eaff2401301b31f149083e222 (patch)
tree9dcce1db779f4602cdd31bb087cecb359d93b3a9
parent5705e09528602172a0d3a50d36844ff4777a6a60 (diff)
downloadxine-lib-47b3936175fa3e8eaff2401301b31f149083e222.tar.gz
xine-lib-47b3936175fa3e8eaff2401301b31f149083e222.tar.bz2
Use libavutil's crc routines rather than xine-utils's code.
-rw-r--r--src/input/Makefile.am6
-rw-r--r--src/input/input_dvb.c9
2 files changed, 11 insertions, 4 deletions
diff --git a/src/input/Makefile.am b/src/input/Makefile.am
index ed32ad7c5..bd1b9a939 100644
--- a/src/input/Makefile.am
+++ b/src/input/Makefile.am
@@ -106,9 +106,9 @@ xineplug_inp_pnm_la_SOURCES = input_pnm.c net_buf_ctrl.c pnm.c
xineplug_inp_pnm_la_LIBADD = $(XINE_LIB) $(PTHREAD_LIBS) $(LTLIBINTL)
xineplug_inp_dvb_la_SOURCES = input_dvb.c net_buf_ctrl.c
-xineplug_inp_dvb_la_DEPS = $(XDG_BASEDIR_DEPS)
-xineplug_inp_dvb_la_LIBADD = $(XINE_LIB) $(PTHREAD_LIBS) $(LTLIBINTL) $(XDG_BASEDIR_LIBS)
-xineplug_inp_dvb_la_CPPFLAGS = $(AM_CPPFLAGS) $(XDG_BASEDIR_CPPFLAGS)
+xineplug_inp_dvb_la_DEPS = $(XDG_BASEDIR_DEPS) $(AVUTIL_DEPS)
+xineplug_inp_dvb_la_LIBADD = $(XINE_LIB) $(PTHREAD_LIBS) $(LTLIBINTL) $(XDG_BASEDIR_LIBS) $(AVUTIL_LIBS)
+xineplug_inp_dvb_la_CPPFLAGS = $(AM_CPPFLAGS) $(XDG_BASEDIR_CPPFLAGS) $(AVUTIL_CFLAGS)
xineplug_inp_rtsp_la_SOURCES = input_rtsp.c net_buf_ctrl.c
xineplug_inp_rtsp_la_LIBADD = $(XINE_LIB) $(PTHREAD_LIBS) $(LTLIBINTL) libreal/libreal.la librtsp/librtsp.la
diff --git a/src/input/input_dvb.c b/src/input/input_dvb.c
index fbfc62921..628c38c28 100644
--- a/src/input/input_dvb.c
+++ b/src/input/input_dvb.c
@@ -100,6 +100,9 @@
#endif
#include <ctype.h>
+/* libavutil from FFmpeg */
+#include <crc.h>
+
/* XDG */
#include <basedir.h>
@@ -2445,6 +2448,10 @@ static void ts_rewrite_packets (dvb_input_plugin_t *this, unsigned char * origin
originalPkt+=data_offset;
if (pid == 0 && sync_byte==0x47) {
+ static AVCRC crc_ctx; static int ctx_init = 0;
+ if ( ! ctx_init )
+ ctx_init = !av_crc_init(&crc_ctx, 0, 32, AV_CRC_32_IEEE, sizeof(AVCRC)*257);
+
unsigned long crc;
originalPkt[3]=13; /* section length including CRC - first 3 bytes */
@@ -2456,7 +2463,7 @@ static void ts_rewrite_packets (dvb_input_plugin_t *this, unsigned char * origin
originalPkt[11]=(this->channels[this->channel].pmtpid >> 8) & 0xff;
originalPkt[12]=this->channels[this->channel].pmtpid & 0xff;
- crc= _x_compute_crc32 (originalPkt+1, 12, 0xffffffff);
+ crc = av_crc(&crc_ctx, 0xffffffff, originalPkt+1, 12);
originalPkt[13]=(crc>>24) & 0xff;
originalPkt[14]=(crc>>16) & 0xff;