From 28bdba5f3c73b9dbf6fc5f03d39c574dbaddeda1d9f92a48acb30fa3623064ca Mon Sep 17 00:00:00 2001 From: Manfred Tremmel Date: Wed, 29 May 2013 21:43:43 +0000 Subject: [PATCH] - update to 1.2.3 * Add VAAPI HW decoding support * Add OpenGL 2.0 output plugin * Add crop support to XShm output plugins * Add color matrix and full range support to OpenGL/Xv/XShm output plugins * Add test image generator input plugin * Add fast libjpeg based JPEG decoder * Add max. Xv image size detection to Xv video output plugin * Fix crash when trying to display too large jpeg image with Xv output plugin * Fix possible crash when stopping playback with deinterlacing enabled * Support large PAT in MPEG TS * Handle EAC3 audio (via ffmpeg) OBS-URL: https://build.opensuse.org/package/show/multimedia:xine/xine-lib?expand=0&rev=71 --- xine-lib-1.2.2-crippled.tar.bz2 | 3 - xine-lib-1.2.2.tar.bz2 | 3 - xine-lib-1.2.3-crippled.tar.bz2 | 3 + xine-lib-1.2.3.tar.bz2 | 3 + xine-lib-missing-include-1.2.3.patch | 139 +++++++++++++++++++++++++++ xine-lib-v4l-2.6.38.patch | 10 +- xine-lib.changes | 16 +++ xine-lib.spec | 10 +- 8 files changed, 174 insertions(+), 13 deletions(-) delete mode 100644 xine-lib-1.2.2-crippled.tar.bz2 delete mode 100644 xine-lib-1.2.2.tar.bz2 create mode 100644 xine-lib-1.2.3-crippled.tar.bz2 create mode 100644 xine-lib-1.2.3.tar.bz2 create mode 100644 xine-lib-missing-include-1.2.3.patch diff --git a/xine-lib-1.2.2-crippled.tar.bz2 b/xine-lib-1.2.2-crippled.tar.bz2 deleted file mode 100644 index 17ed91d..0000000 --- a/xine-lib-1.2.2-crippled.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:85c3b4897ec86ba7824be9ff2436071f668624aae5aa94ac91e98c224e079e1f -size 6174858 diff --git a/xine-lib-1.2.2.tar.bz2 b/xine-lib-1.2.2.tar.bz2 deleted file mode 100644 index c5b77e3..0000000 --- a/xine-lib-1.2.2.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7c6eaa6863f02e46450783e142a55eb69d7665959aa9fec5a55126b43eef7b7d -size 6299685 diff --git a/xine-lib-1.2.3-crippled.tar.bz2 b/xine-lib-1.2.3-crippled.tar.bz2 new file mode 100644 index 0000000..4ff5116 --- /dev/null +++ b/xine-lib-1.2.3-crippled.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b7c898d5c93ce206d23339e7c7d42d1295a49d5c76efa282fee535525cc7510d +size 6317329 diff --git a/xine-lib-1.2.3.tar.bz2 b/xine-lib-1.2.3.tar.bz2 new file mode 100644 index 0000000..435fafa --- /dev/null +++ b/xine-lib-1.2.3.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d77bc1d886621fa395c7b6b5a64fae18db258b595bf0666cc44b93aec31f9790 +size 6361625 diff --git a/xine-lib-missing-include-1.2.3.patch b/xine-lib-missing-include-1.2.3.patch new file mode 100644 index 0000000..a6f18d1 --- /dev/null +++ b/xine-lib-missing-include-1.2.3.patch @@ -0,0 +1,139 @@ +diff -uNr xine-lib-1.2.3.orig/src/xine-engine/accel_vaapi.h xine-lib-1.2.3/src/xine-engine/accel_vaapi.h +--- xine-lib-1.2.3.orig/src/xine-engine/accel_vaapi.h 1970-01-01 01:00:00.000000000 +0100 ++++ xine-lib-1.2.3/src/xine-engine/accel_vaapi.h 2013-01-17 20:51:47.000000000 +0100 +@@ -0,0 +1,135 @@ ++/* ++ * Copyright (C) 2008 the xine project ++ * ++ * This file is part of xine, a free video player. ++ * ++ * xine is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * xine is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA ++ * ++ * ++ * Common acceleration definitions for vdpau ++ * ++ * ++ */ ++ ++#ifndef HAVE_XINE_ACCEL_VAAPI_H ++#define HAVE_XINE_ACCEL_VAAPI_H ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++#ifdef HAVE_CONFIG_H ++#include "config.h" ++#endif ++ ++#include ++#include ++#ifdef HAVE_FFMPEG_AVUTIL_H ++# include ++#else ++# include ++#endif ++ ++#if LIBAVCODEC_VERSION_MAJOR >= 53 || (LIBAVCODEC_VERSION_MAJOR == 52 && LIBAVCODEC_VERSION_MINOR >= 32) ++# define AVVIDEO 2 ++#else ++# define AVVIDEO 1 ++# define pp_context pp_context_t ++# define pp_mode pp_mode_t ++#endif ++ ++#define NUM_OUTPUT_SURFACES 22 ++ ++#define SURFACE_FREE 0 ++#define SURFACE_ALOC 1 ++#define SURFACE_RELEASE 2 ++#define SURFACE_RENDER 3 ++#define SURFACE_RENDER_RELEASE 5 ++ ++struct vaapi_equalizer { ++ VADisplayAttribute brightness; ++ VADisplayAttribute contrast; ++ VADisplayAttribute hue; ++ VADisplayAttribute saturation; ++}; ++ ++typedef struct ff_vaapi_context_s ff_vaapi_context_t; ++ ++struct ff_vaapi_context_s { ++ VADisplay va_display; ++ VAContextID va_context_id; ++ VAConfigID va_config_id; ++ int width; ++ int height; ++ int sw_width; ++ int sw_height; ++ int va_profile; ++ unsigned int va_colorspace; ++ VAImage va_subpic_image; ++ VASubpictureID va_subpic_id; ++ int va_subpic_width; ++ int va_subpic_height; ++ int is_bound; ++ void *gl_surface; ++ unsigned int soft_head; ++ unsigned int valid_context; ++ unsigned int va_head; ++ unsigned int va_soft_head; ++ vo_driver_t *driver; ++ unsigned int last_sub_image_fmt; ++ VASurfaceID last_sub_surface_id; ++ struct vaapi_equalizer va_equalizer; ++ VAImageFormat *va_image_formats; ++ int va_num_image_formats; ++ VAImageFormat *va_subpic_formats; ++ int va_num_subpic_formats; ++}; ++ ++typedef struct ff_vaapi_surface_s ff_vaapi_surface_t; ++typedef struct vaapi_accel_s vaapi_accel_t; ++ ++struct ff_vaapi_surface_s { ++ unsigned int index; ++ vaapi_accel_t *accel; ++ VASurfaceID va_surface_id; ++ unsigned int status; ++}; ++ ++struct vaapi_accel_s { ++ unsigned int index; ++ vo_frame_t *vo_frame; ++ ++#if AVVIDEO > 1 ++ int (*avcodec_decode_video2)(vo_frame_t *frame_gen, AVCodecContext *avctx, AVFrame *picture, ++ int *got_picture_ptr, AVPacket *avpkt); ++#else ++ int (*avcodec_decode_video)(vo_frame_t *frame_gen, AVCodecContext *avctx, AVFrame *picture, ++ int *got_picture_ptr, uint8_t *buf, int buf_size); ++#endif ++ VAStatus (*vaapi_init)(vo_frame_t *frame_gen, int va_profile, int width, int height, int softrender); ++ int (*profile_from_imgfmt)(vo_frame_t *frame_gen, enum PixelFormat pix_fmt, int codec_id, int vaapi_mpeg_sofdec); ++ ff_vaapi_context_t *(*get_context)(vo_frame_t *frame_gen); ++ int (*guarded_render)(vo_frame_t *frame_gen); ++ ff_vaapi_surface_t *(*get_vaapi_surface)(vo_frame_t *frame_gen); ++ void (*render_vaapi_surface)(vo_frame_t *frame_gen, ff_vaapi_surface_t *va_surface); ++ void (*release_vaapi_surface)(vo_frame_t *frame_gen, ff_vaapi_surface_t *va_surface); ++}; ++ ++#ifdef __cplusplus ++} ++#endif ++ ++#endif ++ diff --git a/xine-lib-v4l-2.6.38.patch b/xine-lib-v4l-2.6.38.patch index 6dbed18..8b720e3 100644 --- a/xine-lib-v4l-2.6.38.patch +++ b/xine-lib-v4l-2.6.38.patch @@ -1,6 +1,6 @@ ---- m4/input.m4 2010-03-21 00:29:58.000000000 +0100 -+++ m4/input.m4 2011-11-16 15:59:40.674878245 +0100 -@@ -92,7 +92,7 @@ +--- m4/input.m4 2012-02-09 00:41:11.000000000 +0100 ++++ m4/input.m4 2013-05-29 22:52:23.322037277 +0200 +@@ -93,7 +93,7 @@ XINE_ARG_ENABLE([v4l], [Enable Video4Linux support]) if test x"$enable_v4l" != x"no"; then have_v4l=yes @@ -9,8 +9,8 @@ AC_CHECK_HEADERS([asm/types.h]) if test x"$hard_enable_v4l" = x"yes" && test x"$have_v4l" != x"yes"; then AC_MSG_ERROR([Video4Linux support requested, but prerequisite headers not found.]) ---- src/input/input_v4l.c 2011-10-05 22:44:39.000000000 +0200 -+++ src/input/input_v4l.c 2011-11-16 15:35:43.075546420 +0100 +--- src/input/input_v4l.c 2012-02-05 20:17:02.000000000 +0100 ++++ src/input/input_v4l.c 2013-05-29 22:52:23.324037225 +0200 @@ -47,7 +47,7 @@ */ #define _LINUX_TIME_H diff --git a/xine-lib.changes b/xine-lib.changes index 3f0f3cb..7917df6 100644 --- a/xine-lib.changes +++ b/xine-lib.changes @@ -1,3 +1,19 @@ +------------------------------------------------------------------- +Wed May 29 22:36:00 UTC 2013 - Manfred.Tremmel@iiv.de + +- update to 1.2.3 + * Add VAAPI HW decoding support + * Add OpenGL 2.0 output plugin + * Add crop support to XShm output plugins + * Add color matrix and full range support to OpenGL/Xv/XShm output plugins + * Add test image generator input plugin + * Add fast libjpeg based JPEG decoder + * Add max. Xv image size detection to Xv video output plugin + * Fix crash when trying to display too large jpeg image with Xv output plugin + * Fix possible crash when stopping playback with deinterlacing enabled + * Support large PAT in MPEG TS + * Handle EAC3 audio (via ffmpeg) + ------------------------------------------------------------------- Fri Mar 1 06:14:15 UTC 2013 - coolo@suse.com diff --git a/xine-lib.spec b/xine-lib.spec index 0b66446..84a09a9 100644 --- a/xine-lib.spec +++ b/xine-lib.spec @@ -107,9 +107,9 @@ BuildRequires: DirectFB %if %{with modplug} BuildRequires: libmodplug-devel %endif -Version: 1.2.2 +Version: 1.2.3 Release: 0 -%define abiversion 2.2 +%define abiversion 2.3 Summary: Video Player with Plug-Ins License: GPL-2.0+ and SUSE-Public-Domain Group: Productivity/Multimedia/Video/Players @@ -130,6 +130,7 @@ Patch2: xine-lib-without-ffmpeg.patch Patch3: fix-non-x86-build.diff # Add theora FOURCC to libxine I found an avi container that xine wouldn't play. Patch4: xine-lib-theora.patch +Patch5: xine-lib-missing-include-1.2.3.patch %description

Great video and multimediaplayer, supports DVD, MPEG, AVI, DivX, VCD, Quicktime ...

You need a frontend for xine-lib like xine-ui, gxine, kaffeine or totem.

Since 1-rc6 the package number is reduced, all you may miss, is in the base package

If you want to play css encrypted Video-DVD's, you need to install libdvdcss.

@@ -508,6 +509,7 @@ EOF %patch3 %endif %patch4 +%patch5 -p1 rm -f m4/libtool15.m4 sed -i -e 's|/tmp/vdr-xine|/var/lib/vdr-xine|g' src/vdr/input_vdr.c @@ -592,6 +594,7 @@ xineplug_ao_out_oss xineplug_vo_out_fb xineplug_vo_out_none xineplug_vo_out_opengl +xineplug_vo_out_opengl2 xineplug_vo_out_xshm xineplug_vo_out_xv %if 0%{suse_version} > 1020 @@ -616,6 +619,7 @@ xineplug_inp_stdin_fifo xineplug_inp_rtsp xineplug_inp_pvr xineplug_inp_rtp +xineplug_inp_test xineplug_decode_bitplane xineplug_decode_rgb xineplug_decode_yuv @@ -625,6 +629,7 @@ xineplug_decode_mpc xineplug_decode_gdk_pixbuf xineplug_decode_spucmml xineplug_decode_spuhdmv +xineplug_decode_libjpeg # requires ImageMagick xineplug_decode_image xineplug_dmx_yuv_frames @@ -742,6 +747,7 @@ xineplug_decode_vdpau_h264_alter xineplug_decode_vdpau_mpeg12 xineplug_decode_vdpau_mpeg4 xineplug_decode_vdpau_vc1 +xineplug_vo_out_vaapi # unfortunately using external ffmpeg links the planar post # processing plugin against ffmpeg libs post/xineplug_post_planar