summaryrefslogtreecommitdiff
path: root/media-video/mpv/files/0.27.0
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /media-video/mpv/files/0.27.0
reinit the tree, so we can have metadata
Diffstat (limited to 'media-video/mpv/files/0.27.0')
-rw-r--r--media-video/mpv/files/0.27.0/mpv-0.27.0-fix-hwdec-autoprobing.patch50
-rw-r--r--media-video/mpv/files/0.27.0/mpv-0.27.0-fix-wrong-colors-with-hwdec.patch44
-rw-r--r--media-video/mpv/files/0.27.0/mpv-0.27.0-remove-duplicate-android-option.patch27
3 files changed, 121 insertions, 0 deletions
diff --git a/media-video/mpv/files/0.27.0/mpv-0.27.0-fix-hwdec-autoprobing.patch b/media-video/mpv/files/0.27.0/mpv-0.27.0-fix-hwdec-autoprobing.patch
new file mode 100644
index 000000000000..e83be2250e72
--- /dev/null
+++ b/media-video/mpv/files/0.27.0/mpv-0.27.0-fix-hwdec-autoprobing.patch
@@ -0,0 +1,50 @@
+commit b881881dbd38a1720a9f8401fd1baafdd0dfccc0
+Author: wm4 <wm4@nowhere>
+Date: Tue Sep 19 18:33:37 2017 +0200
+
+Revert "vd_lavc: change auto-probe order to prefer cuda over vdpau-copy"
+
+This reverts commit 96462040ec79b353457b64949f96fad30bd6e988.
+
+I guess the autoprobing is still too primitive to handle this well. What
+it really should be trying is initializing the wrapper decoder, and if
+that doesn't work, try another method. This is complicated by hwaccels
+initializing in a delayed way, so there is no easy solution yet.
+
+Probably fixes #4865.
+
+diff --git a/video/decode/vd_lavc.c b/video/decode/vd_lavc.c
+index 476beeb9e..e08246a29 100644
+--- a/video/decode/vd_lavc.c
++++ b/video/decode/vd_lavc.c
+@@ -261,11 +261,16 @@ static const struct vd_lavc_hwdec *const hwdec_list[] = {
+ #endif
+ #if HAVE_VDPAU_HWACCEL
+ &mp_vd_lavc_vdpau,
++ &mp_vd_lavc_vdpau_copy,
+ #endif
+ #if HAVE_VIDEOTOOLBOX_HWACCEL
+ &mp_vd_lavc_videotoolbox,
+ &mp_vd_lavc_videotoolbox_copy,
+ #endif
++#if HAVE_VAAPI_HWACCEL
++ &mp_vd_lavc_vaapi,
++ &mp_vd_lavc_vaapi_copy,
++#endif
+ #if HAVE_D3D_HWACCEL
+ &mp_vd_lavc_d3d11va,
+
+@@ -285,13 +290,6 @@ static const struct vd_lavc_hwdec *const hwdec_list[] = {
+ &mp_vd_lavc_cuda_old,
+ #endif
+ &mp_vd_lavc_cuda_copy,
+-#endif
+-#if HAVE_VDPAU_HWACCEL
+- &mp_vd_lavc_vdpau_copy,
+-#endif
+-#if HAVE_VAAPI_HWACCEL
+- &mp_vd_lavc_vaapi,
+- &mp_vd_lavc_vaapi_copy,
+ #endif
+ &mp_vd_lavc_crystalhd,
+ NULL
diff --git a/media-video/mpv/files/0.27.0/mpv-0.27.0-fix-wrong-colors-with-hwdec.patch b/media-video/mpv/files/0.27.0/mpv-0.27.0-fix-wrong-colors-with-hwdec.patch
new file mode 100644
index 000000000000..f7d3129d8559
--- /dev/null
+++ b/media-video/mpv/files/0.27.0/mpv-0.27.0-fix-wrong-colors-with-hwdec.patch
@@ -0,0 +1,44 @@
+commit 810990a7465f31ee5ff5e29ebea1fb783e5ed502
+Author: wm4 <wm4@nowhere>
+Date: Tue Sep 19 18:59:01 2017 +0200
+
+mp_image: always copy color attributes on hw download
+
+It was noticed that -copy hwdec modes typically dropped the
+chroma_location field. This happened because the attributes on hw
+download are copied with mp_image_copy_attributes(), which tries to copy
+these parameters only if src and dst were both YUV (in an attempt to
+copy parameters only if it makes sense).
+
+But hardware formats did not have the YUV flag set (anymore?), and code
+shouldn't attempt to check the flag in this way anyway. Drop the check,
+and always copy the whole color metadata struct. There is a call to
+mp_image_params_guess_csp() below, which tries to unset nonsense
+metadata if it was copied from a YUV format to RGB. This function would
+also do the right thing for hw formats (although for the cited bug only
+the software case matters).
+
+Fixes #4804.
+
+diff --git a/video/mp_image.c b/video/mp_image.c
+index 7180e2be5..5aa564775 100644
+--- a/video/mp_image.c
++++ b/video/mp_image.c
+@@ -525,15 +525,8 @@ void mp_image_copy_attributes(struct mp_image *dst, struct mp_image *src)
+ dst->params.p_w = src->params.p_w;
+ dst->params.p_h = src->params.p_h;
+ }
+- dst->params.color.primaries = src->params.color.primaries;
+- dst->params.color.gamma = src->params.color.gamma;
+- dst->params.color.sig_peak = src->params.color.sig_peak;
+- dst->params.color.light = src->params.color.light;
+- if ((dst->fmt.flags & MP_IMGFLAG_YUV) == (src->fmt.flags & MP_IMGFLAG_YUV)) {
+- dst->params.color.space = src->params.color.space;
+- dst->params.color.levels = src->params.color.levels;
+- dst->params.chroma_location = src->params.chroma_location;
+- }
++ dst->params.color = src->params.color;
++ dst->params.chroma_location = src->params.chroma_location;
+ dst->params.spherical = src->params.spherical;
+ mp_image_params_guess_csp(&dst->params); // ensure colorspace consistency
+ if ((dst->fmt.flags & MP_IMGFLAG_PAL) && (src->fmt.flags & MP_IMGFLAG_PAL)) {
diff --git a/media-video/mpv/files/0.27.0/mpv-0.27.0-remove-duplicate-android-option.patch b/media-video/mpv/files/0.27.0/mpv-0.27.0-remove-duplicate-android-option.patch
new file mode 100644
index 000000000000..3f2a5d1f56a3
--- /dev/null
+++ b/media-video/mpv/files/0.27.0/mpv-0.27.0-remove-duplicate-android-option.patch
@@ -0,0 +1,27 @@
+commit 8810c1fc050347e1bef0d3eb89edd30c8e840648
+Author: Ilya Tumaykin <itumaykin@gmail.com>
+Date: Sun Sep 17 21:54:37 2017 +0300
+
+build: remove duplicate android option after 72a8120da
+
+The first one (line 140) comes from 69650851f8 and is the correct one.
+The second one (line 731) comes from 72a8120daa and slipped in with the
+revert commit.
+
+Remove the second one.
+
+diff --git a/wscript b/wscript
+index 9d885884d..9fe5b0bc8 100644
+--- a/wscript
++++ b/wscript
+@@ -727,10 +727,6 @@ video_output_features = [
+ 'desc': 'Direct3D support',
+ 'deps': [ 'win32-desktop' ],
+ 'func': check_cc(header_name='d3d9.h'),
+- }, {
+- 'name': '--android',
+- 'desc': 'Android support',
+- 'func': check_statement('android/api-level.h', '(void)__ANDROID__'), # arbitrary android-specific header
+ }, {
+ # We need MMAL/bcm_host/dispmanx APIs. Also, most RPI distros require
+ # every project to hardcode the paths to the include directories. Also,