summaryrefslogtreecommitdiff
path: root/multimedia/libxine/files
diff options
context:
space:
mode:
authorTobias Kortkamp <tobik@FreeBSD.org>2018-08-31 08:16:18 +0000
committerTobias Kortkamp <tobik@FreeBSD.org>2018-08-31 08:16:18 +0000
commit4ee3a387ce90c6a3c7da89a2ee092730ce926d9b (patch)
treef80111d8f78611b92c5cb5250a9facec6916a907 /multimedia/libxine/files
parentFix race condition on setting USES. (diff)
multimedia/libxine: Update to 1.2.9
- Cleanup options - Enable IMAGEMAGICK by default - Make DVB support optional but leave it enabled by default - Add SNDIO option - Properly order pkg-plist - Unbreak on aarch64 - Bump revision of dependent ports [1] Changes: https://sourceforge.net/projects/xine/files/xine-lib/1.2.9/README.txt/view ABI: https://abi-laboratory.pro/tracker/timeline/xine-lib/ [1] PR: 219921 Reported by: emorrasg@yahoo.es Submitted by: w.schwarzenfeld@utanet.at (initial version), Nathan <ndowens@yahoo.com> Reviewed by: mat, tobik Differential Revision: https://reviews.freebsd.org/D16840
Notes
Notes: svn path=/head/; revision=478529
Diffstat (limited to 'multimedia/libxine/files')
-rw-r--r--multimedia/libxine/files/patch-configure14
-rw-r--r--multimedia/libxine/files/patch-ffmpeg357
-rw-r--r--multimedia/libxine/files/patch-ffmpeg4278
-rw-r--r--multimedia/libxine/files/patch-include-xine-xine_internal.h127
-rw-r--r--multimedia/libxine/files/patch-include-xine-xineutils.h11
-rw-r--r--multimedia/libxine/files/patch-include_config.h18
-rw-r--r--multimedia/libxine/files/patch-src-audio_dec-xine_lpcm_decoder.c12
-rw-r--r--multimedia/libxine/files/patch-src-combined-ffmpeg-Makefile.in.diff13
-rw-r--r--multimedia/libxine/files/patch-src-post-deinterlace-plugins-greedy2frame_template_sse2.c28
-rw-r--r--multimedia/libxine/files/patch-src-post-planar-eq2.c11
-rw-r--r--multimedia/libxine/files/patch-src-vdr-input_vdr.c12
11 files changed, 36 insertions, 545 deletions
diff --git a/multimedia/libxine/files/patch-configure b/multimedia/libxine/files/patch-configure
index db9a5b876cc6..2bec61c76694 100644
--- a/multimedia/libxine/files/patch-configure
+++ b/multimedia/libxine/files/patch-configure
@@ -1,24 +1,24 @@
---- configure.orig
+--- configure.orig 2018-01-11 12:51:16 UTC
+++ configure
-@@ -20349,7 +20349,7 @@ $as_echo "#define ARCH_SPARC /**/" >>con
+@@ -21288,7 +21288,7 @@ $as_echo "#define ARCH_X86_X32 /**/" >>confdefs.h
;;
- x86_64-*)
+ x86_64-*|amd64-*)
- arch_x86=64
+ arch_x86=64
- $as_echo "#define ARCH_X86_64 /**/" >>confdefs.h
-@@ -20685,7 +20685,7 @@ fi
+
+@@ -21752,7 +21752,7 @@ fi
if test "$sarchopt" != "no"; then
case "$host_or_hostalias" in
- i386-*) archopt_val="i386" ;;
-+ i386-*) ;;
++ i386-*) ;;
i486-*) archopt_val="i486" ;;
i586-*) archopt_val="pentium" ;;
pentium-mmx-*) archopt_val="pentium-mmx" ;;
-@@ -26280,7 +26280,7 @@ fi
+@@ -28089,7 +28089,7 @@ fi
if test x"$enable_dvb" != x"no"; then
case "$host_os" in
diff --git a/multimedia/libxine/files/patch-ffmpeg3 b/multimedia/libxine/files/patch-ffmpeg3
deleted file mode 100644
index 5f939bac43c4..000000000000
--- a/multimedia/libxine/files/patch-ffmpeg3
+++ /dev/null
@@ -1,57 +0,0 @@
-Index: src/combined/ffmpeg/ff_audio_decoder.c
-===================================================================
---- xine-lib-1.2.6.orig/src/combined/ffmpeg/ff_audio_decoder.c
-+++ src/combined/ffmpeg/ff_audio_decoder.c
-@@ -590,7 +590,7 @@ static int ff_audio_decode (ff_audio_dec
- int got_frame;
- float gain = this->class->gain;
- if (!this->av_frame)
-- this->av_frame = avcodec_alloc_frame ();
-+ this->av_frame = av_frame_alloc ();
-
- consumed = avcodec_decode_audio4 (this->context, this->av_frame, &got_frame, &avpkt);
- if ((consumed >= 0) && got_frame) {
-@@ -1071,7 +1071,7 @@ static void ff_audio_reset (audio_decode
- /* try to reset the wma decoder */
- if( this->decoder_ok ) {
- #if AVAUDIO > 3
-- avcodec_free_frame (&this->av_frame);
-+ av_frame_free (&this->av_frame);
- #endif
- pthread_mutex_lock (&ffmpeg_lock);
- avcodec_close (this->context);
-@@ -1105,7 +1105,7 @@ static void ff_audio_dispose (audio_deco
-
- if( this->context && this->decoder_ok ) {
- #if AVAUDIO > 3
-- avcodec_free_frame (&this->av_frame);
-+ av_frame_free (&this->av_frame);
- #endif
- pthread_mutex_lock (&ffmpeg_lock);
- avcodec_close (this->context);
-Index: src/combined/ffmpeg/ff_video_decoder.c
-===================================================================
---- xine-lib-1.2.6.orig/src/combined/ffmpeg/ff_video_decoder.c
-+++ src/combined/ffmpeg/ff_video_decoder.c
-@@ -2523,7 +2523,7 @@ static video_decoder_t *ff_video_open_pl
- this->stream = stream;
- this->class = (ff_video_class_t *) class_gen;
-
-- this->av_frame = avcodec_alloc_frame();
-+ this->av_frame = av_frame_alloc();
- this->context = avcodec_alloc_context();
- this->context->opaque = this;
- #if AVPALETTE == 1
-Index: src/dxr3/ffmpeg_encoder.c
-===================================================================
---- src/dxr3/ffmpeg_encoder.c.orig 2016-02-17 07:54:31.950881580 +0000
-+++ src/dxr3/ffmpeg_encoder.c 2016-02-17 07:55:42.897237494 +0000
-@@ -161,7 +161,7 @@
- "dxr3_mpeg_encoder: Couldn't start the ffmpeg library\n");
- return 0;
- }
-- this->picture = avcodec_alloc_frame();
-+ this->picture = av_frame_alloc();
- if (!this->picture) {
- xprintf(drv->class->xine, XINE_VERBOSITY_LOG,
- "dxr3_mpeg_encoder: Couldn't allocate ffmpeg frame\n");
diff --git a/multimedia/libxine/files/patch-ffmpeg4 b/multimedia/libxine/files/patch-ffmpeg4
deleted file mode 100644
index 4b490359fb7c..000000000000
--- a/multimedia/libxine/files/patch-ffmpeg4
+++ /dev/null
@@ -1,278 +0,0 @@
-https://sourceforge.net/p/xine/xine-lib-1.2/ci/e35492bfce45/
-https://sourceforge.net/p/xine/xine-lib-1.2/ci/abd6e04c7a53/
-
---- src/combined/ffmpeg/ff_audio_decoder.c.orig 2014-06-09 16:08:42 UTC
-+++ src/combined/ffmpeg/ff_audio_decoder.c
-@@ -137,7 +137,7 @@ static void ff_audio_ensure_buffer_size(ff_audio_decod
- xprintf(this->stream->xine, XINE_VERBOSITY_LOG,
- _("ffmpeg_audio_dec: increasing buffer to %d to avoid overflow.\n"),
- this->bufsize);
-- this->buf = realloc16 (this->buf, this->bufsize + FF_INPUT_BUFFER_PADDING_SIZE);
-+ this->buf = realloc16 (this->buf, this->bufsize + AV_INPUT_BUFFER_PADDING_SIZE);
- }
- }
-
-@@ -148,9 +148,9 @@ static void ff_audio_handle_special_buffer(ff_audio_de
-
- free (this->context->extradata);
- this->context->extradata_size = buf->decoder_info[2];
-- this->context->extradata = malloc (buf->decoder_info[2] + FF_INPUT_BUFFER_PADDING_SIZE);
-+ this->context->extradata = malloc (buf->decoder_info[2] + AV_INPUT_BUFFER_PADDING_SIZE);
- memcpy (this->context->extradata, buf->decoder_info_ptr[2], buf->decoder_info[2]);
-- memset (this->context->extradata + buf->decoder_info[2], 0, FF_INPUT_BUFFER_PADDING_SIZE);
-+ memset (this->context->extradata + buf->decoder_info[2], 0, AV_INPUT_BUFFER_PADDING_SIZE);
- }
- }
-
-@@ -363,10 +363,10 @@ static void ff_handle_header_buffer(ff_audio_decoder_t
- this->ff_channels, this->ff_bits, this->ff_sample_rate,
- this->context->block_align);
- if (!data_len) break;
-- e = malloc (data_len + FF_INPUT_BUFFER_PADDING_SIZE);
-+ e = malloc (data_len + AV_INPUT_BUFFER_PADDING_SIZE);
- if (!e) break;
- xine_fast_memcpy (e, p, data_len);
-- memset (e + data_len, 0, FF_INPUT_BUFFER_PADDING_SIZE);
-+ memset (e + data_len, 0, AV_INPUT_BUFFER_PADDING_SIZE);
- this->context->extradata = e;
- this->context->extradata_size = data_len;
- break;
-@@ -886,7 +886,7 @@ static void ff_audio_decode_data (audio_decoder_t *thi
- offset = 0;
-
- /* pad input data */
-- memset(&this->buf[this->size], 0, FF_INPUT_BUFFER_PADDING_SIZE);
-+ memset(&this->buf[this->size], 0, AV_INPUT_BUFFER_PADDING_SIZE);
-
- while (this->size>=0) {
- decode_buffer_size = AVCODEC_MAX_AUDIO_FRAME_SIZE;
---- src/combined/ffmpeg/ff_mpeg_parser.c.orig 2013-09-18 10:04:54 UTC
-+++ src/combined/ffmpeg/ff_mpeg_parser.c
-@@ -26,6 +26,7 @@
- #define LOG
- */
- #include "ff_mpeg_parser.h"
-+#include "ffmpeg_compat.h"
-
- /* mpeg frame rate table from lavc */
- static const int frame_rate_tab[][2] = {
-@@ -50,7 +51,7 @@ static const int frame_rate_tab[][2] = {
-
- void mpeg_parser_init (mpeg_parser_t *parser)
- {
-- parser->chunk_buffer = malloc(BUFFER_SIZE + FF_INPUT_BUFFER_PADDING_SIZE);
-+ parser->chunk_buffer = malloc(BUFFER_SIZE + AV_INPUT_BUFFER_PADDING_SIZE);
- mpeg_parser_reset(parser);
- }
-
---- src/combined/ffmpeg/ff_video_decoder.c.orig 2014-06-24 16:21:06 UTC
-+++ src/combined/ffmpeg/ff_video_decoder.c
-@@ -1,5 +1,5 @@
- /*
-- * Copyright (C) 2001-2014 the xine project
-+ * Copyright (C) 2001-2015 the xine project
- *
- * This file is part of xine, a free video player.
- *
-@@ -722,23 +722,28 @@ static void init_video_codec (ff_video_decoder_t *this
-
- this->context->width = this->bih.biWidth;
- this->context->height = this->bih.biHeight;
-- this->context->stream_codec_tag = this->context->codec_tag =
-+#ifdef AVCODEC_HAS_STREAM_CODEC_TAG
-+ this->context->stream_codec_tag =
-+#endif
-+ this->context->codec_tag =
- _x_stream_info_get(this->stream, XINE_STREAM_INFO_VIDEO_FOURCC);
-
-
- this->stream->video_out->open (this->stream->video_out, this->stream);
-
- this->edge = 0;
-- if(this->codec->capabilities & CODEC_CAP_DR1 && this->class->enable_dri) {
-+ if(this->codec->capabilities & AV_CODEC_CAP_DR1 && this->class->enable_dri) {
- if (this->stream->video_out->get_capabilities (this->stream->video_out) & VO_CAP_CROP) {
- /* We can crop. Fine. Lets allow decoders to paint over the frame edges.
- This will be slightly faster. And it is also a workaround for buggy
- v54 who likes to ignore EMU_EDGE for wmv2 and xvid. */
-+#ifdef CODEC_FLAG_EMU_EDGE
- this->edge = avcodec_get_edge_width ();
- } else {
- /* Some codecs (eg rv10) copy flags in init so it's necessary to set
- * this flag here in case we are going to use direct rendering */
- this->context->flags |= CODEC_FLAG_EMU_EDGE;
-+#endif
- }
- }
-
-@@ -747,7 +752,7 @@ static void init_video_codec (ff_video_decoder_t *this
- this->context->codec_type = this->codec->type;
-
- if (this->class->choose_speed_over_accuracy)
-- this->context->flags2 |= CODEC_FLAG2_FAST;
-+ this->context->flags2 |= AV_CODEC_FLAG2_FAST;
-
- #ifdef DEPRECATED_AVCODEC_THREAD_INIT
- if (this->class->thread_count > 1) {
-@@ -769,7 +774,7 @@ static void init_video_codec (ff_video_decoder_t *this
- /* enable direct rendering by default */
- this->output_format = XINE_IMGFMT_YV12;
- #ifdef ENABLE_DIRECT_RENDERING
-- if( this->codec->capabilities & CODEC_CAP_DR1 && this->class->enable_dri ) {
-+ if( this->codec->capabilities & AV_CODEC_CAP_DR1 && this->class->enable_dri ) {
- #ifdef AV_BUFFER
- this->context->get_buffer2 = get_buffer;
- this->context->thread_safe_callbacks = 1;
-@@ -1246,7 +1251,7 @@ static void ff_check_bufsize (ff_video_decoder_t *this
- xprintf(this->stream->xine, XINE_VERBOSITY_LOG,
- _("ffmpeg_video_dec: increasing buffer to %d to avoid overflow.\n"),
- this->bufsize);
-- this->buf = realloc(this->buf, this->bufsize + FF_INPUT_BUFFER_PADDING_SIZE );
-+ this->buf = realloc(this->buf, this->bufsize + AV_INPUT_BUFFER_PADDING_SIZE );
- }
- }
-
-@@ -1386,7 +1391,7 @@ static void ff_handle_header_buffer (ff_video_decoder_
- if (this->bih.biSize > sizeof(xine_bmiheader)) {
- this->context->extradata_size = this->bih.biSize - sizeof(xine_bmiheader);
- this->context->extradata = malloc(this->context->extradata_size +
-- FF_INPUT_BUFFER_PADDING_SIZE);
-+ AV_INPUT_BUFFER_PADDING_SIZE);
- memcpy(this->context->extradata, this->buf + sizeof(xine_bmiheader),
- this->context->extradata_size);
- }
-@@ -1409,7 +1414,7 @@ static void ff_handle_header_buffer (ff_video_decoder_
- if (this->context->extradata_size < 8) {
- this->context->extradata_size= 8;
- this->context->extradata = malloc(this->context->extradata_size +
-- FF_INPUT_BUFFER_PADDING_SIZE);
-+ AV_INPUT_BUFFER_PADDING_SIZE);
- ((uint32_t *)this->context->extradata)[0] = 0;
- if (codec_type == BUF_VIDEO_RV10)
- ((uint32_t *)this->context->extradata)[1] = 0x10000000;
-@@ -1417,7 +1422,7 @@ static void ff_handle_header_buffer (ff_video_decoder_
- ((uint32_t *)this->context->extradata)[1] = 0x10003001;
- } else {
- this->context->extradata = malloc(this->context->extradata_size +
-- FF_INPUT_BUFFER_PADDING_SIZE);
-+ AV_INPUT_BUFFER_PADDING_SIZE);
- memcpy(this->context->extradata, this->buf + 26,
- this->context->extradata_size);
- }
-@@ -1451,7 +1456,7 @@ static void ff_handle_special_buffer (ff_video_decoder
- lprintf("BUF_SPECIAL_STSD_ATOM\n");
- this->context->extradata_size = buf->decoder_info[2];
- this->context->extradata = malloc(buf->decoder_info[2] +
-- FF_INPUT_BUFFER_PADDING_SIZE);
-+ AV_INPUT_BUFFER_PADDING_SIZE);
- memcpy(this->context->extradata, buf->decoder_info_ptr[2],
- buf->decoder_info[2]);
-
-@@ -1461,7 +1466,7 @@ static void ff_handle_special_buffer (ff_video_decoder
- lprintf("BUF_SPECIAL_DECODER_CONFIG\n");
- this->context->extradata_size = buf->decoder_info[2];
- this->context->extradata = malloc(buf->decoder_info[2] +
-- FF_INPUT_BUFFER_PADDING_SIZE);
-+ AV_INPUT_BUFFER_PADDING_SIZE);
- memcpy(this->context->extradata, buf->decoder_info_ptr[2],
- buf->decoder_info[2]);
-
-@@ -1826,7 +1831,7 @@ static void ff_handle_buffer (ff_video_decoder_t *this
- /* data accumulation */
- if (buf->size > 0) {
- if ((this->size == 0) &&
-- ((buf->size + FF_INPUT_BUFFER_PADDING_SIZE) < buf->max_size) &&
-+ ((buf->size + AV_INPUT_BUFFER_PADDING_SIZE) < buf->max_size) &&
- (buf->decoder_flags & BUF_FLAG_FRAME_END)) {
- /* buf contains a complete frame */
- /* no memcpy needed */
-@@ -1859,7 +1864,7 @@ static void ff_handle_buffer (ff_video_decoder_t *this
- /* note: bitstream, alt bitstream reader or something will cause
- * severe mpeg4 artifacts if padding is less than 32 bits.
- */
-- memset(&chunk_buf[this->size], 0, FF_INPUT_BUFFER_PADDING_SIZE);
-+ memset(&chunk_buf[this->size], 0, AV_INPUT_BUFFER_PADDING_SIZE);
-
- while (this->size > 0) {
-
-@@ -2532,7 +2537,7 @@ static video_decoder_t *ff_video_open_plugin (video_de
-
- this->decoder_ok = 0;
- this->decoder_init_mode = 1;
-- this->buf = calloc(1, VIDEOBUFSIZE + FF_INPUT_BUFFER_PADDING_SIZE);
-+ this->buf = calloc(1, VIDEOBUFSIZE + AV_INPUT_BUFFER_PADDING_SIZE);
- this->bufsize = VIDEOBUFSIZE;
-
- this->is_mpeg12 = 0;
---- src/combined/ffmpeg/ffmpeg_compat.h.orig 2014-04-30 11:40:50 UTC
-+++ src/combined/ffmpeg/ffmpeg_compat.h
-@@ -1,5 +1,5 @@
- /*
-- * Copyright (C) 2000-2014 the xine project
-+ * Copyright (C) 2000-2015 the xine project
- *
- * This file is part of xine, a unix video player.
- *
-@@ -58,6 +58,11 @@
- # define AVCODEC_HAS_SUB_ID
- #endif
-
-+/* not 100% sure about this (between 55.19 and 56.56) */
-+#if LIBAVCODEC_VERSION_MAJOR < 56
-+# define AVCODEC_HAS_STREAM_CODEC_TAG
-+#endif
-+
- /**/
- #if LIBAVCODEC_VERSION_MAJOR > 53 || (LIBAVCODEC_VERSION_MAJOR == 53 && LIBAVCODEC_VERSION_MINOR >= 8)
- # define avcodec_init() do {} while(0)
-@@ -192,5 +197,16 @@
- #if LIBAVCODEC_VERSION_INT >= ((55<<16)|100)
- # define AV_BUFFER 1
- #endif
-+
-+#ifndef AV_INPUT_BUFFER_PADDING_SIZE
-+# define AV_INPUT_BUFFER_PADDING_SIZE FF_INPUT_BUFFER_PADDING_SIZE
-+#endif
-+#ifndef AV_CODEC_CAP_DR1
-+# define AV_CODEC_CAP_DR1 CODEC_CAP_DR1
-+#endif
-+#ifndef AV_CODEC_FLAG2_FAST
-+# define AV_CODEC_FLAG2_FAST CODEC_FLAG2_FAST
-+#endif
-+
-
- #endif /* XINE_AVCODEC_COMPAT_H */
---- src/dxr3/ffmpeg_encoder.c.orig 2014-03-13 04:06:09 UTC
-+++ src/dxr3/ffmpeg_encoder.c
-@@ -207,7 +207,9 @@ static int lavc_on_update_format(dxr3_driver_t *drv, d
- this->context->height = frame->oheight;
-
- this->context->gop_size = 0; /*intra frames only */
-+#if defined(LIBAVCODEC_VERSION_MAJOR) && LIBAVCODEC_VERSION_MAJOR < 58
- this->context->me_method = ME_ZERO; /*motion estimation type*/
-+#endif
-
- this->context->time_base.den = 90000;
- if (frame->vo_frame.duration > 90000 / 24)
---- src/video_out/video_out_vaapi.c.orig 2014-06-09 16:08:42 UTC
-+++ src/video_out/video_out_vaapi.c
-@@ -3119,15 +3119,15 @@ static void vaapi_update_frame_format (vo_driver_t *th
- frame->vo_frame.pitches[0] = 8*((width + 7) / 8);
- frame->vo_frame.pitches[1] = 8*((width + 15) / 16);
- frame->vo_frame.pitches[2] = 8*((width + 15) / 16);
-- frame->vo_frame.base[0] = av_mallocz (frame->vo_frame.pitches[0] * height + FF_INPUT_BUFFER_PADDING_SIZE);
-- frame->vo_frame.base[1] = av_mallocz (frame->vo_frame.pitches[1] * ((height+1)/2) + FF_INPUT_BUFFER_PADDING_SIZE);
-- frame->vo_frame.base[2] = av_mallocz (frame->vo_frame.pitches[2] * ((height+1)/2) + FF_INPUT_BUFFER_PADDING_SIZE);
-+ frame->vo_frame.base[0] = av_mallocz (frame->vo_frame.pitches[0] * height + AV_INPUT_BUFFER_PADDING_SIZE);
-+ frame->vo_frame.base[1] = av_mallocz (frame->vo_frame.pitches[1] * ((height+1)/2) + AV_INPUT_BUFFER_PADDING_SIZE);
-+ frame->vo_frame.base[2] = av_mallocz (frame->vo_frame.pitches[2] * ((height+1)/2) + AV_INPUT_BUFFER_PADDING_SIZE);
- frame->vo_frame.proc_duplicate_frame_data = NULL;
- frame->vo_frame.proc_provide_standard_frame_data = NULL;
- lprintf("XINE_IMGFMT_YV12 width %d height %d\n", width, height);
- } else if (format == XINE_IMGFMT_YUY2){
- frame->vo_frame.pitches[0] = 8*((width + 3) / 4);
-- frame->vo_frame.base[0] = av_mallocz (frame->vo_frame.pitches[0] * height + FF_INPUT_BUFFER_PADDING_SIZE);
-+ frame->vo_frame.base[0] = av_mallocz (frame->vo_frame.pitches[0] * height + AV_INPUT_BUFFER_PADDING_SIZE);
- frame->vo_frame.proc_duplicate_frame_data = NULL;
- frame->vo_frame.proc_provide_standard_frame_data = NULL;
- lprintf("XINE_IMGFMT_YUY2 width %d height %d\n", width, height);
diff --git a/multimedia/libxine/files/patch-include-xine-xine_internal.h b/multimedia/libxine/files/patch-include-xine-xine_internal.h
deleted file mode 100644
index 5def658ac837..000000000000
--- a/multimedia/libxine/files/patch-include-xine-xine_internal.h
+++ /dev/null
@@ -1,127 +0,0 @@
---- include/xine/xine_internal.h.orig
-+++ include/xine/xine_internal.h
-@@ -72,6 +72,124 @@
- # include <xine/alphablend.h>
- #endif
-
-+#ifndef INT8_MIN
-+#define INT8_MIN (-0x7f-1)
-+#endif
-+
-+#ifndef INT8_MAX
-+#define INT8_MAX 0x7f
-+#endif
-+
-+#ifndef INT16_MAX
-+#define INT16_MAX 0x7fff
-+#endif
-+
-+#ifndef INT16_MIN
-+#define INT16_MIN (-0x7fff-1)
-+#endif
-+
-+#ifndef INT32_MAX
-+#define INT32_MAX 0x7fffffff
-+#endif
-+
-+#ifndef INT32_MIN
-+#define INT32_MIN (-0x7fffffff-1)
-+#endif
-+
-+#ifndef PRIdMAX
-+#define PRIdMAX "lld"
-+#endif
-+
-+#ifndef SCNdMAX
-+#define SCNdMAX "lld"
-+#endif
-+
-+#ifndef PRIiMAX
-+#define PRIiMAX "lld"
-+typedef long long intmax_t;
-+#endif
-+
-+
-+#ifndef PRId32
-+#define PRId32 "d"
-+#endif
-+
-+#ifndef SCNd32
-+#define SCNd32 "d"
-+#endif
-+
-+#ifndef PRIdFAST16
-+#define PRIdFAST16 "d"
-+#endif
-+
-+#ifndef PRIdFAST32
-+#define PRIdFAST32 "d"
-+#endif
-+
-+#ifndef SCNu32
-+#define SCNu32 "u"
-+#endif
-+
-+
-+#ifndef PRId64
-+#if defined(__alpha__) || defined(__amd64__) || defined(__ia64__) || defined(__sparc64__)
-+#define PRId64 "ld"
-+#else if defined(__i386__) || defined(__powerpc__)
-+#define PRId64 "lld"
-+#endif
-+#endif
-+
-+#ifndef SCNd64
-+#define SCNd64 PRId64
-+#endif
-+
-+#ifndef PRIu64
-+#if defined(__alpha__) || defined(__amd64__) || defined(__ia64__) || defined(__sparc64__)
-+#define PRIu64 "lu"
-+#else if defined(__i386__) || defined(__powerpc__)
-+#define PRIu64 "llu"
-+#endif
-+#endif
-+
-+#ifndef SCNu64
-+#define SCNu64 PRIu64
-+#endif
-+
-+#ifndef PRIX64
-+#if defined(__alpha__) || defined(__amd64__) || defined(__ia64__) || defined(__sparc64__)
-+#define PRIX64 "lX"
-+#else if defined(__i386__) || defined(__powerpc__)
-+#define PRIX64 "llX"
-+#endif
-+#endif
-+
-+
-+#ifndef PRIx32
-+#define PRIx32 "x"
-+#endif
-+
-+#ifndef PRIx16
-+#define PRIx16 "x"
-+#endif
-+
-+#ifndef PRIx8
-+#define PRIx8 "x"
-+#endif
-+
-+#ifndef PRIXMAX
-+#define PRIXMAX "llX"
-+#endif
-+
-+#ifndef PRIxMAX
-+#define PRIxMAX "llx"
-+#endif
-+
-+#ifndef UINT64_C
-+#define UINT64_C(c) (c ## ULL)
-+#endif
-+
-+
-+
-
- #define XINE_MAX_EVENT_LISTENERS 50
- #define XINE_MAX_EVENT_TYPES 100
diff --git a/multimedia/libxine/files/patch-include-xine-xineutils.h b/multimedia/libxine/files/patch-include-xine-xineutils.h
index 6ab80c8574d5..93609a722522 100644
--- a/multimedia/libxine/files/patch-include-xine-xineutils.h
+++ b/multimedia/libxine/files/patch-include-xine-xineutils.h
@@ -1,3 +1,14 @@
+Unbreak build of phonon-xine
+
+In file included from xine/plugins.c:23:
+In file included from /usr/local/include/xine/input_plugin.h:27:
+/usr/local/include/xine/xineutils.h:197:8: error: unknown type name 'inline'
+static inline void _x_freep(void *ptr) {
+ ^
+/usr/local/include/xine/xineutils.h:197:15: error: expected identifier or '('
+static inline void _x_freep(void *ptr) {
+ ^
+
--- include/xine/xineutils.h.orig
+++ include/xine/xineutils.h
@@ -146,7 +146,7 @@ void *xine_xcalloc(size_t nmemb, size_t
diff --git a/multimedia/libxine/files/patch-include_config.h b/multimedia/libxine/files/patch-include_config.h
new file mode 100644
index 000000000000..2d55c0ccc32f
--- /dev/null
+++ b/multimedia/libxine/files/patch-include_config.h
@@ -0,0 +1,18 @@
+$OpenBSD: patch-include_config_h,v 1.1 2018/02/16 14:27:53 sthen Exp $
+
+Index: include/config.h
+--- include/config.h.orig
++++ include/config.h
+@@ -24,9 +24,11 @@
+ /* Ugly build time sanity guard.
+ * ./configure might mistake X32 mode as plain 64bit,
+ * but compiler itself sets __ILP32__ when in x32.
++ * Even worse: clang sets this in 32 mode as well,
++ * so also test __i386__ here.
+ */
+ #ifdef ARCH_X86
+-# if defined(__ILP32__) && !defined(ARCH_X86_X32)
++# if defined(__ILP32__) && !defined(__i386) && !defined(__i386__) && !defined(ARCH_X86_X32)
+ # ifdef ARCH_WARN
+ # warning "configure did not detect ARCH_X86_X32!"
+ # endif
diff --git a/multimedia/libxine/files/patch-src-audio_dec-xine_lpcm_decoder.c b/multimedia/libxine/files/patch-src-audio_dec-xine_lpcm_decoder.c
deleted file mode 100644
index 280ac7fa29da..000000000000
--- a/multimedia/libxine/files/patch-src-audio_dec-xine_lpcm_decoder.c
+++ /dev/null
@@ -1,12 +0,0 @@
---- src/audio_dec/xine_lpcm_decoder.c.orig
-+++ src/audio_dec/xine_lpcm_decoder.c
-@@ -30,6 +30,9 @@
- #endif
- /* avoid compiler warnings */
- #define _BSD_SOURCE 1
-+#ifdef __FreeBSD__
-+#define __BSD_VISIBLE 1
-+#endif
-
- #ifdef HAVE_CONFIG_H
- #include "config.h"
diff --git a/multimedia/libxine/files/patch-src-combined-ffmpeg-Makefile.in.diff b/multimedia/libxine/files/patch-src-combined-ffmpeg-Makefile.in.diff
deleted file mode 100644
index 2a94e1640e89..000000000000
--- a/multimedia/libxine/files/patch-src-combined-ffmpeg-Makefile.in.diff
+++ /dev/null
@@ -1,13 +0,0 @@
---- src/combined/ffmpeg/Makefile.in.orig 2013-09-23 15:58:14.000000000 -0500
-+++ src/combined/ffmpeg/Makefile.in 2013-09-25 03:25:33.000000000 -0500
-@@ -1037,9 +1037,7 @@ avcodec_audio.list: AV_CODECS:=/CODEC_ID
- avcodec_video.list: AV_CODECS:=/CODEC_ID_MPEG1VIDEO/,/CODEC_ID_PCM_S16LE/
-
- # that weird shell call just yields full path of the avcodec.h file
--avcodec_audio.list avcodec_video.list: $(shell \
-- echo '#include "$(srcdir)/ffmpeg_decoder.h"' | $(AV_CPP) -M - |\
-- sed -e '/avcodec\.h/! d; s%^.* \([^ ]*/avcodec\.h\) .*%\1%')
-+avcodec_audio.list avcodec_video.list:
- $(AM_V_GEN)echo '#include "$(srcdir)/ffmpeg_decoder.h"' | $(AV_CPP) - |\
- sed -e $(AV_CODECS)'! d; s/^[ \t]*//; s/[=,].*//; /^$$/ d' >$@
-
diff --git a/multimedia/libxine/files/patch-src-post-deinterlace-plugins-greedy2frame_template_sse2.c b/multimedia/libxine/files/patch-src-post-deinterlace-plugins-greedy2frame_template_sse2.c
deleted file mode 100644
index 9a489dd7b2e8..000000000000
--- a/multimedia/libxine/files/patch-src-post-deinterlace-plugins-greedy2frame_template_sse2.c
+++ /dev/null
@@ -1,28 +0,0 @@
---- src/post/deinterlace/plugins/greedy2frame_template_sse2.c.orig
-+++ src/post/deinterlace/plugins/greedy2frame_template_sse2.c
-@@ -174,8 +174,8 @@ static void DeinterlaceGreedy2Frame_SSE2
- */
- "movdqa (%2), %%xmm1 \n\t" /* xmm1 = T1 */
- "movdqa (%3), %%xmm0 \n\t" /* xmm0 = T0 */
-- "movdqa (%q4,%2), %%xmm3 \n\t" /* xmm3 = B1 */
-- "movdqa (%q4,%3), %%xmm2 \n\t" /* xmm2 = B0 */
-+ "movdqa (%2,%4), %%xmm3 \n\t" /* xmm3 = B1 */
-+ "movdqa (%3,%4), %%xmm2 \n\t" /* xmm2 = B0 */
-
- /* calculate |T1-T0| keep T1 put result in xmm5 */
- "movdqa %%xmm1, %%xmm5 \n\t"
-@@ -192,11 +192,11 @@ static void DeinterlaceGreedy2Frame_SSE2
- "pcmpgtb %0, %%xmm5 \n\t"
- "pcmpeqd %%xmm7, %%xmm5 \n\t"
-
-- "prefetcht0 64(%q4,%2) \n\t"
-- "prefetcht0 64(%q4,%3) \n\t"
-+ "prefetcht0 64(%2,%4) \n\t"
-+ "prefetcht0 64(%3,%4) \n\t"
- :
- : "m" (GreedyTwoFrameThreshold128),
-- "m" (*Destc), "r" (T1), "r" (T0), "r" (Pitch) );
-+ "m" (*Destc), "r" (T1), "r" (T0), "r" ((register_t)Pitch) );
-
- asm volatile (
- /* calculate |B1-B0| keep B1 put result in xmm4 */
diff --git a/multimedia/libxine/files/patch-src-post-planar-eq2.c b/multimedia/libxine/files/patch-src-post-planar-eq2.c
deleted file mode 100644
index 7a47eea90047..000000000000
--- a/multimedia/libxine/files/patch-src-post-planar-eq2.c
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/post/planar/eq2.c.orig
-+++ src/post/planar/eq2.c
-@@ -129,7 +129,7 @@ void affine_1d_MMX (eq2_param_t *par, un
- "movq (%1), %%mm4 \n\t"
- "pxor %%mm0, %%mm0 \n\t"
- :
-- : "g" (brvec), "g" (contvec)
-+ : "r" (brvec), "r" (contvec)
- );
-
- while (h-- > 0) {
diff --git a/multimedia/libxine/files/patch-src-vdr-input_vdr.c b/multimedia/libxine/files/patch-src-vdr-input_vdr.c
deleted file mode 100644
index 745b67f94eb9..000000000000
--- a/multimedia/libxine/files/patch-src-vdr-input_vdr.c
+++ /dev/null
@@ -1,12 +0,0 @@
---- src/vdr/input_vdr.c.orig
-+++ src/vdr/input_vdr.c
-@@ -32,6 +32,9 @@
- #include <errno.h>
- #include <pthread.h>
-
-+#ifdef __FreeBSD__
-+#include <netinet/in.h>
-+#endif
- #include <sys/socket.h>
- #include <resolv.h>
- #include <netdb.h>