SHA256
1
0
forked from pool/mpv

Accepting request 599616 from home:alois:branches:multimedia:apps

- Update to version 0.28.2
  Added features:
  * Add DRM_PRIME Format Handling and Display for RockChip MPP
    decoders
  * csputils: Add support for Display P3 primaries
  * demux: support multiple seekable cached ranges, display
    cache ranges on OSC
  * demux_playlist: support .url files (#5107)
  * dvb: Add multiple frontends support (up to 8)
  * dvb: implement parsing of modulation for VDR-style channels
    config
  * hwdec: add mediacodec hardware decoder for IMGFMT_MEDIACODEC
    frames,
  * rename mediacodec to mediacodec-copy
  * lua: integrate stats.lua script (bound to i/I by default)
  * vd_lavc: add support for nvdec hwaccel
  * vo_gpu: add android opengl backend
  * vo_gpu: initial d3d11 support
  * vo_gpu: vulkan support
  Removed features:
  * af: remove deprecated audio filters (channels, equalizer,
    pan, volume;
  * replacements in lavfi)
  * vf: remove most GPL video filters (crop, dsize, expand,
    flip, gradfun, mirror,
  * noformat, pullup, rotate, scale, stereo3d, yadif;
    replacements in lavfi)
  * vf_buffer: remove this filter
  * video: remove automatic stereo3d filter insertion
  * vo_gpu: remove hwdec_vaglx interop
  * vo_opengl: refactor into vo_gpu
  * vo_wayland: remove
  Added options and commands:
  * demux: add option to create CC tracks eagerly
    (--sub-create-cc-track)
  * options: add --start=none to reset previously set start time
  * options: add --vlang switch
  Changed options and commands:
  * cache: lower default size to 2*10MB
  * demux: bump the demuxer cache readahead duration to 10 hours
  * demux: use seekable cache for network by default, bump
    prefetch limit
  * msg: make --msg-level affect --log-file too
  * player/misc.c: allow both --length and --end to control play
    endpoint
  * player: match subtitles with language tags with
    --sub-auto=exact
  * rename --opengl-hwdec-interop to --gpu-hwdec-interop (now
    mostly useless)
  * vd_lavc: prefer nvdec over vdpau with --hwdec=auto (better
    codec and surface
  * format support)
  * vd_lavc: rename --hwdec=rpi to --hwdec=mmal
  Removed options and commands:
  * options: remove --heartbeat-cmd and --heartbeat-interval
  * (incidentally fixes #4888)
  Fixes and Minor Enhancements
  * TOOLS/autoload.lua: add ogm, ogg and opus extensions
  * Use /dev/tty instead of stdin for terminal input (#4190)
  * audio: add audio softvol processing to AO (replaces
    previously GPL’d code)
  * audio: fix channel conversion with NA channels (e.g. with
    ALSA)
  * audio: fix missing volume update on init and reinit
  * csputils: Fix DCI P3 primaries white point
  * demux: don't allow subtitles to mess up buffered time display
  * demux: fix .cue files with audio files that contain attached
    pictures
  * demux: fix accounting for seekable ranges on track switches
    (fixes missing
  * audio when cycling through audio tracks with e.g. EDL,
    --merge-files, ordered
  * chapters and youtube-dl pseudo DASH)
  * demux: fix crash with cue/ordered chapter files (#5027)
  * demux: speed up cache seeking with a coarse index
  * demux_lavf: always give libavformat the filename when probing
  * (helps with mp3 files)
  * demux_mkv: add V_SNOW tag to mkv_video_tags
  * dvb: Fix long channel switching: next/prev channel
  * dvb: fixes for ATSC tuning
  * lavc_conv: clamp timestamps to positive (#5047)
  * mp_image: always copy color attributes on hw download (#4804)
  * mp_image: select an explicit fallback for chroma location
    (#4804)
  * msg: bump log level of --log-file to -v -v
  * msg: reinterpret a bunch of message levels
  * osc: fix rare stack overflow when changing visibility mode
  * osdep/io: add android-related bullshit to fix files >2 GiB
  * player/playloop.c: respect playback start time when using
    --loop-file
  * player: allow seeking in cached parts of unseekable streams
  * player: make track language matching case insensitive (#5272)
  * player: use start timestamp for ab-looping if --ab-loop-a is
    absent
  * player: when loading external file, always add all track
    types (#5132)
  * restore-old-bindings.conf: add old macOS/Wayland AXIS
    bindings
  * screenshot: create directories from template
  * scripting: report dlerror() output
  * sd_ass: accept RFC8081 font media types
  * sd_ass: accept otc as fallback OpenType collection file
    extension
  * stream_libarchive: work around various types of locale
    braindeath
  * (https://git.io/vbiFJ)
  * subprocess-win: don't change the mouse cursor when creating
    processes
  * video: add a hack to avoid missing subtitles with vf_sub
    (#5194)
  * video: fix alpha handling (#4983)
  * video: fix memory leaks (roughly 1 KB per decoded frame)
    with hwdec copy modes
  * video: fix rotation and deinterlace auto filters
  * video: properly pass through ICC data
  * vo: add support for externally driven renderloop and make
    wayland use it
  * (partially fixes display-sync under wayland; disables
    rendering when window
  * is invisible)
  * vo_gpu: change --tone-mapping-desaturate algorithm
  * vo_gpu: enable 3DLUTs in dumb mode
  * vo_gpu: fix gamma scale
  * vo_gpu: fix mobius tone mapping compatibility to GLSL 120
    (#5069)
  * vo_gpu: fix video sometimes not being rerendered on
    equalizer change
  * vo_gpu: kill off FBOTEX_FUZZY (#1814)
  * vo_gpu: opengl: fix possible screenshot window crash (#4905)
  * vo_gpu: opengl: use GLX_MESA_swap_control where available
  * vo_gpu: reduce the --alpha=blend-tiles checkerboard intensity
  * vo_gpu: win: remove exclusive-fullscreen detection hack
  * vo_lavc: remove messy delayed subtitle rendering logic
    (#4689)
  * wayland_common: implement output tracking, many cleanups and
    bugfixes
    (#4711)
  * ytdl_hook: don't prepend ytdl:// to non-youtube links in
    playlists (#5003)
- Refreshed mpv-make-ffmpeg-version-check-non-fatal.patch
- Dropped mpv-vaapi2.patch (no longer necessary)

OBS-URL: https://build.opensuse.org/request/show/599616
OBS-URL: https://build.opensuse.org/package/show/multimedia:apps/mpv?expand=0&rev=139
This commit is contained in:
Tomáš Chvátal 2018-04-21 19:37:40 +00:00 committed by Git OBS Bridge
parent c384d2aca6
commit 01a4cefda8
6 changed files with 167 additions and 167 deletions

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2ad104d83fd3b2b9457716615acad57e479fd1537b8fc5e37bfe9065359b50be
size 2957191

3
mpv-0.28.2.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:aada14e025317b5b3e8e58ffaf7902e8b6e4ec347a93d25a7c10d3579426d795
size 2982558

View File

@ -2,13 +2,13 @@ player: make ffmpeg/libav version check non-fatal
We already enforce mpv rebuilds when ffmpeg/libav SONAME changes.
Index: mpv-0.25.0/player/main.c
Index: mpv-0.28.2/player/main.c
===================================================================
--- mpv-0.25.0.orig/player/main.c
+++ mpv-0.25.0/player/main.c
@@ -438,18 +438,6 @@ int mp_initialize(struct MPContext *mpct
handle_deprecated_options(mpctx);
--- mpv-0.28.2.orig/player/main.c
+++ mpv-0.28.2/player/main.c
@@ -428,18 +428,6 @@ int mp_initialize(struct MPContext *mpct
if (handle_help_options(mpctx))
return -2;
- if (!print_libav_versions(mp_null_log, 0)) {
- // Using mismatched libraries can be legitimate, but even then it's

View File

@ -1,145 +0,0 @@
From 6265a2d7793c52b16f48f6f8db5d8833d350abc5 Mon Sep 17 00:00:00 2001
From: wm4 <wm4@nowhere>
Date: Fri, 29 Sep 2017 16:51:30 +0200
Subject: [PATCH] vaapi: minor changes
This is for relicensing. Some of this code is loosely based on
vo_vaapi.c from the original MPlayer-vaapi patches. Most of the code has
changed, and only the initialization code and check_status() look
remotely similar. The initialization code is changed to be like Libav's
(hwcontext_vaapi.c). check_va_status() is just a C idiom, but to play it
safe, we'll either drop it from LGPL code (or recreate it).
vaapi.c still contains plenty of code from the original patches, but the
next commits will move them out of the LGPL code paths.
---
video/vaapi.c | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
Index: mpv-0.27.0/video/vaapi.c
===================================================================
--- mpv-0.27.0.orig/video/vaapi.c
+++ mpv-0.27.0/video/vaapi.c
@@ -30,15 +30,6 @@
#include <libavutil/hwcontext.h>
#include <libavutil/hwcontext_vaapi.h>
-bool check_va_status(struct mp_log *log, VAStatus status, const char *msg)
-{
- if (status != VA_STATUS_SUCCESS) {
- mp_err(log, "%s: %s\n", msg, vaErrorStr(status));
- return false;
- }
- return true;
-}
-
int va_get_colorspace_flag(enum mp_csp csp)
{
switch (csp) {
@@ -112,9 +103,27 @@ static void va_get_formats(struct mp_vaa
ctx->image_formats = formats;
}
-// VA message callbacks are global and do not have a context parameter, so it's
-// impossible to know from which VADisplay they originate. Try to route them
-// to existing mpv/libmpv instances within this process.
+#if VA_CHECK_VERSION(1, 0, 0)
+static void va_message_callback(void *context, const char *msg, int mp_level)
+{
+ struct mp_vaapi_ctx *res = context;
+ mp_msg(res->log, mp_level, "libva: %s", msg);
+}
+
+static void va_error_callback(void *context, const char *msg)
+{
+ va_message_callback(context, msg, MSGL_ERR);
+}
+
+static void va_info_callback(void *context, const char *msg)
+{
+ va_message_callback(context, msg, MSGL_V);
+}
+#else
+// Pre-libva2 VA message callbacks are global and do not have a context
+// parameter, so it's impossible to know from which VADisplay they
+// originate. Try to route them to existing mpv/libmpv instances within
+// this process.
static pthread_mutex_t va_log_mutex = PTHREAD_MUTEX_INITIALIZER;
static struct mp_vaapi_ctx **va_mpv_clients;
static int num_va_mpv_clients;
@@ -149,6 +158,7 @@ static void va_info_callback(const char
{
va_message_callback(msg, MSGL_V);
}
+#endif
static void open_lavu_vaapi_device(struct mp_vaapi_ctx *ctx)
{
@@ -181,6 +191,10 @@ struct mp_vaapi_ctx *va_initialize(VADis
},
};
+#if VA_CHECK_VERSION(1, 0, 0)
+ vaSetErrorCallback(display, va_error_callback, res);
+ vaSetInfoCallback(display, va_info_callback, res);
+#else
pthread_mutex_lock(&va_log_mutex);
MP_TARRAY_APPEND(NULL, va_mpv_clients, num_va_mpv_clients, res);
pthread_mutex_unlock(&va_log_mutex);
@@ -191,15 +205,16 @@ struct mp_vaapi_ctx *va_initialize(VADis
vaSetErrorCallback(va_error_callback);
vaSetInfoCallback(va_info_callback);
#endif
+#endif
- int major_version, minor_version;
- int status = vaInitialize(display, &major_version, &minor_version);
- if (status != VA_STATUS_SUCCESS && probing)
- goto error;
- if (!check_va_status(res->log, status, "vaInitialize()"))
+ int major, minor;
+ int status = vaInitialize(display, &major, &minor);
+ if (status != VA_STATUS_SUCCESS) {
+ if (!probing)
+ MP_ERR(res, "Failed to initialize VAAPI: %s\n", vaErrorStr(status));
goto error;
-
- MP_VERBOSE(res, "VA API version %d.%d\n", major_version, minor_version);
+ }
+ MP_VERBOSE(res, "Initialized VAAPI: version %d.%d\n", major, minor);
va_get_formats(res);
if (!res->image_formats)
@@ -231,6 +246,7 @@ void va_destroy(struct mp_vaapi_ctx *ctx
if (ctx->destroy_native_ctx)
ctx->destroy_native_ctx(ctx->native_ctx);
+#if !VA_CHECK_VERSION(1, 0, 0)
pthread_mutex_lock(&va_log_mutex);
for (int n = 0; n < num_va_mpv_clients; n++) {
if (va_mpv_clients[n] == ctx) {
@@ -241,6 +257,7 @@ void va_destroy(struct mp_vaapi_ctx *ctx
if (num_va_mpv_clients == 0)
TA_FREEP(&va_mpv_clients); // avoid triggering leak detectors
pthread_mutex_unlock(&va_log_mutex);
+#endif
talloc_free(ctx);
}
Index: mpv-0.27.0/video/vaapi.h
===================================================================
--- mpv-0.27.0.orig/video/vaapi.h
+++ mpv-0.27.0/video/vaapi.h
@@ -41,9 +41,9 @@ struct mp_vaapi_ctx {
void (*destroy_native_ctx)(void *native_ctx);
};
-bool check_va_status(struct mp_log *log, VAStatus status, const char *msg);
-
-#define CHECK_VA_STATUS(ctx, msg) check_va_status((ctx)->log, status, msg)
+#define CHECK_VA_STATUS(ctx, msg) \
+ (status == VA_STATUS_SUCCESS ? true \
+ : (MP_ERR(ctx, "%s failed (%s)\n", msg, vaErrorStr(status)), false))
int va_get_colorspace_flag(enum mp_csp csp);

View File

@ -1,3 +1,150 @@
-------------------------------------------------------------------
Sat Apr 21 13:58:32 UTC 2018 - aloisio@gmx.com
- Update to version 0.28.2
Added features:
* Add DRM_PRIME Format Handling and Display for RockChip MPP
decoders
* csputils: Add support for Display P3 primaries
* demux: support multiple seekable cached ranges, display
cache ranges on OSC
* demux_playlist: support .url files (#5107)
* dvb: Add multiple frontends support (up to 8)
* dvb: implement parsing of modulation for VDR-style channels
config
* hwdec: add mediacodec hardware decoder for IMGFMT_MEDIACODEC
frames,
* rename mediacodec to mediacodec-copy
* lua: integrate stats.lua script (bound to i/I by default)
* vd_lavc: add support for nvdec hwaccel
* vo_gpu: add android opengl backend
* vo_gpu: initial d3d11 support
* vo_gpu: vulkan support
Removed features:
* af: remove deprecated audio filters (channels, equalizer,
pan, volume;
* replacements in lavfi)
* vf: remove most GPL video filters (crop, dsize, expand,
flip, gradfun, mirror,
* noformat, pullup, rotate, scale, stereo3d, yadif;
replacements in lavfi)
* vf_buffer: remove this filter
* video: remove automatic stereo3d filter insertion
* vo_gpu: remove hwdec_vaglx interop
* vo_opengl: refactor into vo_gpu
* vo_wayland: remove
Added options and commands:
* demux: add option to create CC tracks eagerly
(--sub-create-cc-track)
* options: add --start=none to reset previously set start time
* options: add --vlang switch
Changed options and commands:
* cache: lower default size to 2*10MB
* demux: bump the demuxer cache readahead duration to 10 hours
* demux: use seekable cache for network by default, bump
prefetch limit
* msg: make --msg-level affect --log-file too
* player/misc.c: allow both --length and --end to control play
endpoint
* player: match subtitles with language tags with
--sub-auto=exact
* rename --opengl-hwdec-interop to --gpu-hwdec-interop (now
mostly useless)
* vd_lavc: prefer nvdec over vdpau with --hwdec=auto (better
codec and surface
* format support)
* vd_lavc: rename --hwdec=rpi to --hwdec=mmal
Removed options and commands:
* options: remove --heartbeat-cmd and --heartbeat-interval
* (incidentally fixes #4888)
Fixes and Minor Enhancements
* TOOLS/autoload.lua: add ogm, ogg and opus extensions
* Use /dev/tty instead of stdin for terminal input (#4190)
* audio: add audio softvol processing to AO (replaces
previously GPLd code)
* audio: fix channel conversion with NA channels (e.g. with
ALSA)
* audio: fix missing volume update on init and reinit
* csputils: Fix DCI P3 primaries white point
* demux: don't allow subtitles to mess up buffered time display
* demux: fix .cue files with audio files that contain attached
pictures
* demux: fix accounting for seekable ranges on track switches
(fixes missing
* audio when cycling through audio tracks with e.g. EDL,
--merge-files, ordered
* chapters and youtube-dl pseudo DASH)
* demux: fix crash with cue/ordered chapter files (#5027)
* demux: speed up cache seeking with a coarse index
* demux_lavf: always give libavformat the filename when probing
* (helps with mp3 files)
* demux_mkv: add V_SNOW tag to mkv_video_tags
* dvb: Fix long channel switching: next/prev channel
* dvb: fixes for ATSC tuning
* lavc_conv: clamp timestamps to positive (#5047)
* mp_image: always copy color attributes on hw download (#4804)
* mp_image: select an explicit fallback for chroma location
(#4804)
* msg: bump log level of --log-file to -v -v
* msg: reinterpret a bunch of message levels
* osc: fix rare stack overflow when changing visibility mode
* osdep/io: add android-related bullshit to fix files >2 GiB
* player/playloop.c: respect playback start time when using
--loop-file
* player: allow seeking in cached parts of unseekable streams
* player: make track language matching case insensitive (#5272)
* player: use start timestamp for ab-looping if --ab-loop-a is
absent
* player: when loading external file, always add all track
types (#5132)
* restore-old-bindings.conf: add old macOS/Wayland AXIS
bindings
* screenshot: create directories from template
* scripting: report dlerror() output
* sd_ass: accept RFC8081 font media types
* sd_ass: accept otc as fallback OpenType collection file
extension
* stream_libarchive: work around various types of locale
braindeath
* (https://git.io/vbiFJ)
* subprocess-win: don't change the mouse cursor when creating
processes
* video: add a hack to avoid missing subtitles with vf_sub
(#5194)
* video: fix alpha handling (#4983)
* video: fix memory leaks (roughly 1 KB per decoded frame)
with hwdec copy modes
* video: fix rotation and deinterlace auto filters
* video: properly pass through ICC data
* vo: add support for externally driven renderloop and make
wayland use it
* (partially fixes display-sync under wayland; disables
rendering when window
* is invisible)
* vo_gpu: change --tone-mapping-desaturate algorithm
* vo_gpu: enable 3DLUTs in dumb mode
* vo_gpu: fix gamma scale
* vo_gpu: fix mobius tone mapping compatibility to GLSL 120
(#5069)
* vo_gpu: fix video sometimes not being rerendered on
equalizer change
* vo_gpu: kill off FBOTEX_FUZZY (#1814)
* vo_gpu: opengl: fix possible screenshot window crash (#4905)
* vo_gpu: opengl: use GLX_MESA_swap_control where available
* vo_gpu: reduce the --alpha=blend-tiles checkerboard intensity
* vo_gpu: win: remove exclusive-fullscreen detection hack
* vo_lavc: remove messy delayed subtitle rendering logic
(#4689)
* wayland_common: implement output tracking, many cleanups and
bugfixes
(#4711)
* ytdl_hook: don't prepend ytdl:// to non-youtube links in
playlists (#5003)
- Refreshed mpv-make-ffmpeg-version-check-non-fatal.patch
- Dropped mpv-vaapi2.patch (no longer necessary)
-------------------------------------------------------------------
Tue Mar 20 09:38:17 UTC 2018 - tchvatal@suse.com

View File

@ -21,7 +21,7 @@
%define _waf_ver 1.9.13
%define _mbc_ver 3.3.16
%define _mpv_ver 0.27.2
%define _mpv_ver 0.28.2
%define lname libmpv1
Name: mpv
Version: %{_mpv_ver}
@ -37,8 +37,6 @@ Source2: %{name}.changes
Source3: https://github.com/2ion/mpv-bash-completion/archive/%{_mbc_ver}.tar.gz#/mpv-bash-completion-%{_mbc_ver}.tar.gz
# PATCH-FIX-OPENSUSE do not require equal libav versions, obs rebuilds as needed
Patch0: mpv-make-ffmpeg-version-check-non-fatal.patch
# PATCH-FIx-UPSTREAM mpv-vaapi2.patch dimstar@opensuse.org -- Fix build with vaapi 2.0
Patch1: mpv-vaapi2.patch
BuildRequires: bash
BuildRequires: hicolor-icon-theme
BuildRequires: libjpeg-devel
@ -60,11 +58,11 @@ BuildRequires: pkgconfig(jack)
BuildRequires: pkgconfig(lcms2) >= 2.6
BuildRequires: pkgconfig(libarchive) >= 3.0.0
BuildRequires: pkgconfig(libass) >= 0.12.1
BuildRequires: pkgconfig(libavcodec) >= 57.64.100
BuildRequires: pkgconfig(libavcodec) >= 58.7.100
BuildRequires: pkgconfig(libavdevice) >= 57.0.0
BuildRequires: pkgconfig(libavfilter) >= 6.65.100
BuildRequires: pkgconfig(libavformat) >= 57.56.100
BuildRequires: pkgconfig(libavutil) >= 55.34.100
BuildRequires: pkgconfig(libavfilter) >= 7.0.101
BuildRequires: pkgconfig(libavformat) >= 58.0.102
BuildRequires: pkgconfig(libavutil) >= 56.6.100
BuildRequires: pkgconfig(libbluray) >= 0.3.0
BuildRequires: pkgconfig(libcdio)
BuildRequires: pkgconfig(libcdio_cdda)
@ -73,8 +71,8 @@ BuildRequires: pkgconfig(libdrm)
BuildRequires: pkgconfig(libiso9660)
BuildRequires: pkgconfig(libkms)
BuildRequires: pkgconfig(libpulse) >= 1.0
BuildRequires: pkgconfig(libswresample) >= 2.3.100
BuildRequires: pkgconfig(libswscale) >= 4.2.100
BuildRequires: pkgconfig(libswresample) >= 3.0.100
BuildRequires: pkgconfig(libswscale) >= 5.0.101
BuildRequires: pkgconfig(libudf)
BuildRequires: pkgconfig(libv4l2)
BuildRequires: pkgconfig(libva) >= 0.36.0
@ -104,13 +102,14 @@ Recommends: youtube-dl
# Obsoletion of mplayer2 that is dead for 2 years now
Provides: mplayer2 = 20140101
Obsoletes: mplayer2 < 20140101
%if 0%{?suse_version} > 1320
%if 0%{?suse_version} >= 1500
BuildRequires: pkgconfig(lua5.1)
BuildRequires: pkgconfig(wayland-protocols)
%else
BuildRequires: pkgconfig(lua)
%endif
# JIT for lua.
%if 0%{?suse_version} > 1320
%if 0%{?suse_version} >= 1500
%ifarch aarch64 %{ix86} x86_64
BuildRequires: pkgconfig(luajit)
%else
@ -200,7 +199,6 @@ features.
%prep
%setup -q -a 3 -n %{name}-%{_mpv_ver}
%patch0 -p1
%patch1 -p1
# As we downloaded specific waf version we need to put and prepare it in place.
cp -f %{SOURCE1} waf
@ -277,7 +275,7 @@ sed -i -e '1d' %{buildroot}%{_datadir}/bash-completion/completions/mpv
%postun -n %{lname} -p /sbin/ldconfig
%files
%license LICENSE
%license LICENSE.GPL
%doc Copyright README.md RELEASE_NOTES
%doc %{_defaultdocdir}/%{name}/input.conf
%doc %{_defaultdocdir}/%{name}/mplayer-input.conf