+++ /dev/null
---- xine-lib-1.2.6/src/combined/ffmpeg/ff_audio_decoder.c~ 2014-06-09 18:08:42.000000000 +0200
-+++ xine-lib-1.2.6/src/combined/ffmpeg/ff_audio_decoder.c 2016-03-21 09:43:09.997831950 +0100
-@@ -590,7 +590,7 @@
- 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 @@
- /* 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 @@
-
- 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);
---- xine-lib-1.2.6/src/combined/ffmpeg/ff_video_decoder.c~ 2014-06-24 18:21:06.000000000 +0200
-+++ xine-lib-1.2.6/src/combined/ffmpeg/ff_video_decoder.c 2016-03-21 09:43:59.951188184 +0100
-@@ -2523,7 +2523,7 @@
- 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
---- xine-lib-1.2.6/src/dxr3/ffmpeg_encoder.c~ 2014-03-13 05:06:09.000000000 +0100
-+++ xine-lib-1.2.6/src/dxr3/ffmpeg_encoder.c 2016-03-21 09:53:09.998107003 +0100
-@@ -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");
# define REG_a "rax"
# define intarch_t int64_t
#else
---- xine-lib-1.2.6/src/post/deinterlace/plugins/greedy2frame_template_sse2.c.orig 2013-07-03 22:24:59.000000000 +0200
-+++ xine-lib-1.2.6/src/post/deinterlace/plugins/greedy2frame_template_sse2.c 2015-10-08 19:13:42.005108442 +0200
-@@ -174,8 +174,8 @@
- */
- "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 (%4,%2), %%xmm3 \n\t" /* xmm3 = B1 */
-+ "movdqa (%4,%3), %%xmm2 \n\t" /* xmm2 = B0 */
-
- /* calculate |T1-T0| keep T1 put result in xmm5 */
- "movdqa %%xmm1, %%xmm5 \n\t"
-@@ -192,11 +192,11 @@
- "pcmpgtb %0, %%xmm5 \n\t"
- "pcmpeqd %%xmm7, %%xmm5 \n\t"
-
-- "prefetcht0 64(%q4,%2) \n\t"
-- "prefetcht0 64(%q4,%3) \n\t"
-+ "prefetcht0 64(%4,%2) \n\t"
-+ "prefetcht0 64(%4,%3) \n\t"
- :
- : "m" (GreedyTwoFrameThreshold128),
-- "m" (*Destc), "r" (T1), "r" (T0), "r" (Pitch) );
-+ "m" (*Destc), "r" (T1), "r" (T0), "r" ((size_t)Pitch) );
-
- asm volatile (
- /* calculate |B1-B0| keep B1 put result in xmm4 */
endif
if ENABLE_XCB
-diff -r 23f700befc6c src/video_out/video_out_vdpau.c
---- a/src/video_out/video_out_vdpau.c Sun Feb 20 23:38:32 2011 +0100
-+++ b/src/video_out/video_out_vdpau.c Wed Mar 16 14:17:05 2011 +0100
-@@ -52,6 +52,8 @@
+--- xine-lib-1.2.8/src/video_out/video_out_vdpau.c.orig 2017-02-21 12:13:13.000000000 +0100
++++ xine-lib-1.2.8/src/video_out/video_out_vdpau.c 2017-07-08 07:46:55.935788912 +0200
+@@ -51,6 +51,7 @@
#include <vdpau/vdpau_x11.h>
#include "accel_vdpau.h"
+#include "video_out_vdpau.h"
-+
- #ifdef HAVE_FFMPEG_AVUTIL_H
- # include <mem.h>
- #else
-@@ -2353,6 +2355,7 @@
+
+
+ #define NUM_FRAMES_BACK 1
+@@ -2637,6 +2638,7 @@
{
vdpau_class_t *class = (vdpau_class_t *) class_gen;
x11_visual_t *visual = (x11_visual_t *) visual_gen;
vdpau_driver_t *this;
config_values_t *config = class->xine->config;
int i;
-@@ -2437,15 +2440,22 @@
- this->yuv2rgb_factory = yuv2rgb_factory_init (MODE_24_BGR, 0, NULL);
- this->ovl_yuv2rgb = this->yuv2rgb_factory->create_converter( this->yuv2rgb_factory );
+@@ -2713,15 +2715,22 @@
+ this->ovl_src_rect.x0 = 0;
+ this->ovl_src_rect.y0 = 0;
- VdpStatus st = vdp_device_create_x11( visual->display, visual->screen, &vdp_device, &vdp_get_proc_address );
- if ( st != VDP_STATUS_OK ) {
}
st = vdp_get_proc_address( vdp_device, VDP_FUNC_ID_GET_ERROR_STRING , (void*)&vdp_get_error_string );
if ( vdpau_init_error( st, "Can't get GET_ERROR_STRING proc address !!", &this->vo_driver, 0 ) )
-@@ -2600,6 +2610,22 @@
+@@ -2929,6 +2938,22 @@
if ( vdpau_init_error( st, "Can't get PREEMPTION_CALLBACK_REGISTER proc address !!", &this->vo_driver, 1 ) )
return NULL;
+# TODO: openhevc?
#
# Workaround for xine-lib.spec - libstk.spec updating:
# 1. make-request -r --without stk xine-lib
Summary(pl.UTF-8): Odtwarzacz filmów
Summary(pt_BR.UTF-8): Xine, um player de video
Name: xine-lib
-Version: 1.2.6
-Release: 8
+Version: 1.2.8
+Release: 1
Epoch: 2
License: GPL v2+
Group: Libraries
Source0: http://downloads.sourceforge.net/xine/%{name}-%{version}.tar.xz
-# Source0-md5: 02ee3c2380273989b4b016903209e05e
+# Source0-md5: 427cc4568632eea725d5169a4a50ff22
Patch0: %{name}-nolibs.patch
Patch1: %{name}-win32-path.patch
Patch2: %{name}-sh.patch
# from DirectFB 1.7.0
Patch4: %{name}-vdpau-hooks.patch
Patch5: x32.patch
-Patch6: ffmpeg3.patch
-Patch7: xcb-link.patch
Patch8: imagemagick7.patch
URL: http://xine.sourceforge.net/
%{?with_directfb:BuildRequires: DirectFB-devel >= 0.9.22}
BuildRequires: automake >= 1:1.8.1
%{?with_esd:BuildRequires: esound-devel >= 0.2.8}
BuildRequires: faad2-devel
-# libavcodec >= 51.68.0, libavutil >= 49.6.0, libpostproc
+# libavcodec >= 51.68.0, libavutil >= 49.6.0, libpostproc >= 51.2.0
BuildRequires: ffmpeg-devel >= 3.0
BuildRequires: flac-devel
BuildRequires: gettext-tools >= 0.17
Obsoletes: xine-output-video-syncfb
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
-%define _noautoreqdep libGL.so.1 libGLU.so.1
-
# based on libtool numbers
-%define xine_pluginsdir %{_libdir}/xine/plugins/2.5
+%define xine_pluginsdir %{_libdir}/xine/plugins/2.6
%define specflags -fomit-frame-pointer
%patch3 -p1
%patch4 -p1
%patch5 -p1
-%patch6 -p1
-%patch7 -p1
%patch8 -p1
%build
# input plugins
%attr(755,root,root) %{xine_pluginsdir}/xineplug_inp_cdda.so
%attr(755,root,root) %{xine_pluginsdir}/xineplug_inp_dvb.so
-%attr(755,root,root) %{xine_pluginsdir}/xineplug_inp_file.so
%attr(755,root,root) %{xine_pluginsdir}/xineplug_inp_http.so
%attr(755,root,root) %{xine_pluginsdir}/xineplug_inp_mms.so
%attr(755,root,root) %{xine_pluginsdir}/xineplug_inp_net.so
%attr(755,root,root) %{xine_pluginsdir}/xineplug_inp_pnm.so
%attr(755,root,root) %{xine_pluginsdir}/xineplug_inp_rtp.so
%attr(755,root,root) %{xine_pluginsdir}/xineplug_inp_rtsp.so
-%attr(755,root,root) %{xine_pluginsdir}/xineplug_inp_stdin_fifo.so
-%attr(755,root,root) %{xine_pluginsdir}/xineplug_inp_test.so
%attr(755,root,root) %{xine_pluginsdir}/xineplug_inp_vcdo.so
# demuxer plugins
%attr(755,root,root) %{xine_pluginsdir}/xineplug_dmx_asf.so
%attr(755,root,root) %{xine_pluginsdir}/xineplug_dmx_audio.so
-%attr(755,root,root) %{xine_pluginsdir}/xineplug_dmx_avi.so
%attr(755,root,root) %{xine_pluginsdir}/xineplug_dmx_fli.so
-%attr(755,root,root) %{xine_pluginsdir}/xineplug_dmx_flv.so
%attr(755,root,root) %{xine_pluginsdir}/xineplug_dmx_games.so
-%attr(755,root,root) %{xine_pluginsdir}/xineplug_dmx_iff.so
%attr(755,root,root) %{xine_pluginsdir}/xineplug_dmx_image.so
-%attr(755,root,root) %{xine_pluginsdir}/xineplug_dmx_matroska.so
%attr(755,root,root) %{xine_pluginsdir}/xineplug_dmx_playlist.so
-%attr(755,root,root) %{xine_pluginsdir}/xineplug_dmx_vc1_es.so
-%attr(755,root,root) %{xine_pluginsdir}/xineplug_dmx_mpeg*.so
%attr(755,root,root) %{xine_pluginsdir}/xineplug_dmx_nsv.so
%attr(755,root,root) %{xine_pluginsdir}/xineplug_dmx_pva.so
-%attr(755,root,root) %{xine_pluginsdir}/xineplug_dmx_qt.so
-%attr(755,root,root) %{xine_pluginsdir}/xineplug_dmx_rawdv.so
-%attr(755,root,root) %{xine_pluginsdir}/xineplug_dmx_real.so
%attr(755,root,root) %{xine_pluginsdir}/xineplug_dmx_slave.so
-%attr(755,root,root) %{xine_pluginsdir}/xineplug_dmx_yuv4mpeg2.so
-%attr(755,root,root) %{xine_pluginsdir}/xineplug_dmx_yuv_frames.so
+%attr(755,root,root) %{xine_pluginsdir}/xineplug_dmx_video.so
# decoder plugins
-%attr(755,root,root) %{xine_pluginsdir}/xineplug_decode_bitplane.so
%attr(755,root,root) %{xine_pluginsdir}/xineplug_decode_dvaudio.so
%attr(755,root,root) %{xine_pluginsdir}/xineplug_decode_gsm610.so
%attr(755,root,root) %{xine_pluginsdir}/xineplug_decode_lpcm.so
%attr(755,root,root) %{xine_pluginsdir}/xineplug_decode_mpeg2.so
+%attr(755,root,root) %{xine_pluginsdir}/xineplug_decode_rawvideo.so
%attr(755,root,root) %{xine_pluginsdir}/xineplug_decode_real.so
-%attr(755,root,root) %{xine_pluginsdir}/xineplug_decode_rgb.so
%attr(755,root,root) %{xine_pluginsdir}/xineplug_decode_spucc.so
%attr(755,root,root) %{xine_pluginsdir}/xineplug_decode_spucmml.so
%attr(755,root,root) %{xine_pluginsdir}/xineplug_decode_spuhdmv.so
%attr(755,root,root) %{xine_pluginsdir}/xineplug_decode_spudvb.so
-%attr(755,root,root) %{xine_pluginsdir}/xineplug_decode_yuv.so
-# Others
-%attr(755,root,root) %{xine_pluginsdir}/xineplug_ao_out_file.so
-%attr(755,root,root) %{xine_pluginsdir}/xineplug_ao_out_none.so
-%attr(755,root,root) %{xine_pluginsdir}/xineplug_vo_out_none.so
+# output plugins
%attr(755,root,root) %{xine_pluginsdir}/xineplug_vo_out_raw.so
# ?
%files -n xine-output-video-vdpau
%defattr(644,root,root,755)
-%attr(755,root,root) %{xine_pluginsdir}/xineplug_decode_vdpau_h264.so
-%attr(755,root,root) %{xine_pluginsdir}/xineplug_decode_vdpau_h264_alter.so
-%attr(755,root,root) %{xine_pluginsdir}/xineplug_decode_vdpau_mpeg12.so
-%attr(755,root,root) %{xine_pluginsdir}/xineplug_decode_vdpau_mpeg4.so
-%attr(755,root,root) %{xine_pluginsdir}/xineplug_decode_vdpau_vc1.so
+%attr(755,root,root) %{xine_pluginsdir}/xineplug_decode_vdpau.so
%attr(755,root,root) %{xine_pluginsdir}/xineplug_vo_out_vdpau.so
%ifarch %{ix86}