From 47b3936175fa3e8eaff2401301b31f149083e222 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Diego=20=27Flameeyes=27=20Petten=C3=B2?= Date: Tue, 11 Dec 2007 22:09:23 +0100 Subject: Use libavutil's crc routines rather than xine-utils's code. --- src/input/input_dvb.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'src/input/input_dvb.c') 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 +/* libavutil from FFmpeg */ +#include + /* XDG */ #include @@ -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; -- cgit v1.2.3 From 33e998789adf58391439dfbc9f6e67c8451b8c74 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Diego=20=27Flameeyes=27=20Petten=C3=B2?= Date: Tue, 11 Dec 2007 22:41:15 +0100 Subject: Actually use the context already allocated by libavutil. --- src/input/input_dvb.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'src/input/input_dvb.c') diff --git a/src/input/input_dvb.c b/src/input/input_dvb.c index 628c38c28..c8b0eb5fe 100644 --- a/src/input/input_dvb.c +++ b/src/input/input_dvb.c @@ -2448,9 +2448,8 @@ 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); + if ( ! *av_crc04C11DB7 ) + av_crc_init(av_crc04C11DB7, 0, 32, AV_CRC_32_IEEE, sizeof(AVCRC)*257); unsigned long crc; @@ -2463,7 +2462,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 = av_crc(&crc_ctx, 0xffffffff, originalPkt+1, 12); + crc = av_crc(av_crc04C11DB7, 0xffffffff, originalPkt+1, 12); originalPkt[13]=(crc>>24) & 0xff; originalPkt[14]=(crc>>16) & 0xff; -- cgit v1.2.3 From 4c7302685f04c453116112e3e0874d8b98420589 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Diego=20=27Flameeyes=27=20Petten=C3=B2?= Date: Sat, 5 Jan 2008 02:01:31 +0100 Subject: Update to the new crc API from FFmpeg. Note that I had to add a class pointer to demux_ts otherwise I would have to initialise it in the plugin structures (wasting space). --- src/input/input_dvb.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'src/input/input_dvb.c') diff --git a/src/input/input_dvb.c b/src/input/input_dvb.c index 9f53d6b90..51e4d47aa 100644 --- a/src/input/input_dvb.c +++ b/src/input/input_dvb.c @@ -298,6 +298,8 @@ typedef struct { int numchannels; char *autoplaylist[MAX_AUTOCHANNELS]; + + const AVCRC *av_crc; } dvb_input_class_t; typedef struct { @@ -2453,9 +2455,6 @@ static void ts_rewrite_packets (dvb_input_plugin_t *this, unsigned char * origin originalPkt+=data_offset; if (pid == 0 && sync_byte==0x47) { - if ( ! *av_crc04C11DB7 ) - av_crc_init(av_crc04C11DB7, 0, 32, AV_CRC_32_IEEE, sizeof(AVCRC)*257); - unsigned long crc; originalPkt[3]=13; /* section length including CRC - first 3 bytes */ @@ -2467,7 +2466,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 = av_crc(av_crc04C11DB7, 0xffffffff, originalPkt+1, 12); + crc = av_crc(this->class->av_crc, 0xffffffff, originalPkt+1, 12); originalPkt[13]=(crc>>24) & 0xff; originalPkt[14]=(crc>>16) & 0xff; @@ -3268,6 +3267,8 @@ static void *init_class (xine_t *xine, void *data) { this->mrls[4] = "dvba://"; this->mrls[5] = 0; + this->av_crc = av_crc_get_table(AV_CRC_32_IEEE); + xprintf(this->xine,XINE_VERBOSITY_DEBUG,"init class succeeded\n"); /* Enable remembering of last watched channel */ -- cgit v1.2.3 From 19357940a57c565ebe319729bd08d6e4800aff5d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Diego=20=27Flameeyes=27=20Petten=C3=B2?= Date: Sat, 1 Mar 2008 04:00:18 +0100 Subject: Update to the new FFmpeg's include directory. This also allows to remove the comment stating the includes come from libavutil, as it's now explicit. --- src/input/input_dvb.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'src/input/input_dvb.c') diff --git a/src/input/input_dvb.c b/src/input/input_dvb.c index 1b86fcac5..677085c65 100644 --- a/src/input/input_dvb.c +++ b/src/input/input_dvb.c @@ -100,8 +100,7 @@ #endif #include -/* libavutil from FFmpeg */ -#include +#include /* XDG */ #include -- cgit v1.2.3 From 8063ffb8c0b354d54834ba53b22003dac481de2c Mon Sep 17 00:00:00 2001 From: Darren Salt Date: Wed, 9 Apr 2008 19:10:58 +0100 Subject: Compilation fixes, mostly ffmpeg-related, and linkage fixes. Tests done on amd64 with ffmpeg 0.svn20080206 from Debian experimental. libavcodec 51.50.0, libavutil 49.6.0, libpostproc 51.1.0 --- src/input/input_dvb.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/input/input_dvb.c') diff --git a/src/input/input_dvb.c b/src/input/input_dvb.c index 677085c65..425f90fd9 100644 --- a/src/input/input_dvb.c +++ b/src/input/input_dvb.c @@ -100,7 +100,7 @@ #endif #include -#include +#include /* XDG */ #include -- cgit v1.2.3