From 46e64ebcc05510bdb3933085515849ce8f6a41ff Mon Sep 17 00:00:00 2001 From: Michael Forney Date: Sat, 16 Sep 2017 23:57:37 -0700 Subject: mpv: Update to 0.27.0 --- pkg/mpv/config.h | 5 + .../patch/0001-Add-generated-ebml-sources.patch | 84 +++-- pkg/mpv/patch/0002-Add-generated-man-page.patch | 398 +++++++++++++-------- pkg/mpv/rev | 2 +- pkg/mpv/sources.txt | 14 +- pkg/mpv/src | 2 +- 6 files changed, 329 insertions(+), 176 deletions(-) (limited to 'pkg') diff --git a/pkg/mpv/config.h b/pkg/mpv/config.h index 92116138..e681a910 100644 --- a/pkg/mpv/config.h +++ b/pkg/mpv/config.h @@ -23,6 +23,7 @@ #define HAVE_LIBM 1 #define HAVE_MINGW 0 #define HAVE_POSIX 1 +#define HAVE_ANDROID 0 #define HAVE_POSIX_OR_MINGW 1 #define HAVE_UWP 0 #define HAVE_WIN32_DESKTOP 0 @@ -41,7 +42,9 @@ #define HAVE_NANOSLEEP 1 #define HAVE_POSIX_SPAWN 1 #define HAVE_WIN32_PIPES 0 +#define HAVE_GLOB_POSIX 1 #define HAVE_GLOB_WIN32 0 +#define HAVE_GLOB 1 #define HAVE_FCHMOD 1 #define HAVE_VT_H 1 #define HAVE_GBM_H 0 @@ -125,6 +128,8 @@ #define HAVE_LIBAVDEVICE 1 #define HAVE_AVUTIL_IMGCPY_UC 1 #define HAVE_AVUTIL_CONTENT_LIGHT_LEVEL 0 +#define HAVE_AVUTIL_ICC_PROFILE 0 +#define HAVE_AVUTIL_SPHERICAL 1 #define HAVE_VAAPI_HWACCEL 0 #define HAVE_VIDEOTOOLBOX_HWACCEL_NEW 0 #define HAVE_VIDEOTOOLBOX_HWACCEL_OLD 0 diff --git a/pkg/mpv/patch/0001-Add-generated-ebml-sources.patch b/pkg/mpv/patch/0001-Add-generated-ebml-sources.patch index bfed482b..0512c987 100644 --- a/pkg/mpv/patch/0001-Add-generated-ebml-sources.patch +++ b/pkg/mpv/patch/0001-Add-generated-ebml-sources.patch @@ -1,4 +1,4 @@ -From 40fd44394eea4f9134436467ecd60b7b27eb76b3 Mon Sep 17 00:00:00 2001 +From e31e68e9600e2e2aff9191b3162ceaecc55f9910 Mon Sep 17 00:00:00 2001 From: Michael Forney Date: Sat, 2 Jul 2016 17:32:27 -0700 Subject: [PATCH] Add generated ebml sources @@ -8,18 +8,18 @@ These require python to generate. $ python TOOLS/matroska.py --generate-header > demux/ebml_types.h $ python TOOLS/matroska.py --generate-definitions > demux/ebml_defs.c --- - demux/ebml_defs.c | 547 +++++++++++++++++++++++++++++++++++++++++++++++ - demux/ebml_types.h | 608 +++++++++++++++++++++++++++++++++++++++++++++++++++++ - 2 files changed, 1155 insertions(+) + demux/ebml_defs.c | 568 +++++++++++++++++++++++++++++++++++++++++++++++ + demux/ebml_types.h | 631 +++++++++++++++++++++++++++++++++++++++++++++++++++++ + 2 files changed, 1199 insertions(+) create mode 100644 demux/ebml_defs.c create mode 100644 demux/ebml_types.h diff --git a/demux/ebml_defs.c b/demux/ebml_defs.c new file mode 100644 -index 000000000..5d80f7e21 +index 0000000000..ca45e862d8 --- /dev/null +++ b/demux/ebml_defs.c -@@ -0,0 +1,547 @@ +@@ -0,0 +1,568 @@ +// Generated by TOOLS/matroska.py, do not edit manually + + @@ -242,6 +242,26 @@ index 000000000..5d80f7e21 +}}; +#undef N + ++E("ProjectionPoseRoll", projection_pose_roll, EBML_TYPE_FLOAT) ++ ++E("ProjectionPosePitch", projection_pose_pitch, EBML_TYPE_FLOAT) ++ ++E("ProjectionPoseYaw", projection_pose_yaw, EBML_TYPE_FLOAT) ++ ++E("ProjectionPrivate", projection_private, EBML_TYPE_BINARY) ++ ++E("ProjectionType", projection_type, EBML_TYPE_UINT) ++ ++#define N projection ++E_S("Projection", 5) ++F(MATROSKA_ID_PROJECTIONTYPE, projection_type, 0) ++F(MATROSKA_ID_PROJECTIONPRIVATE, projection_private, 0) ++F(MATROSKA_ID_PROJECTIONPOSEYAW, projection_pose_yaw, 0) ++F(MATROSKA_ID_PROJECTIONPOSEPITCH, projection_pose_pitch, 0) ++F(MATROSKA_ID_PROJECTIONPOSEROLL, projection_pose_roll, 0) ++}}; ++#undef N ++ +E("LuminanceMin", luminance_min, EBML_TYPE_FLOAT) + +E("LuminanceMax", luminance_max, EBML_TYPE_FLOAT) @@ -341,7 +361,7 @@ index 000000000..5d80f7e21 +E("FlagInterlaced", flag_interlaced, EBML_TYPE_UINT) + +#define N video -+E_S("Video", 10) ++E_S("Video", 11) +F(MATROSKA_ID_FLAGINTERLACED, flag_interlaced, 0) +F(MATROSKA_ID_PIXELWIDTH, pixel_width, 0) +F(MATROSKA_ID_PIXELHEIGHT, pixel_height, 0) @@ -352,6 +372,7 @@ index 000000000..5d80f7e21 +F(MATROSKA_ID_COLOURSPACE, colour_space, 0) +F(MATROSKA_ID_STEREOMODE, stereo_mode, 0) +F(MATROSKA_ID_COLOUR, colour, 0) ++F(MATROSKA_ID_PROJECTION, projection, 0) +}}; +#undef N + @@ -569,10 +590,10 @@ index 000000000..5d80f7e21 +#undef N diff --git a/demux/ebml_types.h b/demux/ebml_types.h new file mode 100644 -index 000000000..590c6bdcd +index 0000000000..8622502d06 --- /dev/null +++ b/demux/ebml_types.h -@@ -0,0 +1,608 @@ +@@ -0,0 +1,631 @@ +// Generated by TOOLS/matroska.py, do not edit manually + +#define EBML_ID_EBML 0x1a45dfa3 @@ -669,6 +690,12 @@ index 000000000..590c6bdcd +#define MATROSKA_ID_WHITEPOINTCHROMATICITYY 0x55d8 +#define MATROSKA_ID_LUMINANCEMAX 0x55d9 +#define MATROSKA_ID_LUMINANCEMIN 0x55da ++#define MATROSKA_ID_PROJECTION 0x7670 ++#define MATROSKA_ID_PROJECTIONTYPE 0x7671 ++#define MATROSKA_ID_PROJECTIONPRIVATE 0x7672 ++#define MATROSKA_ID_PROJECTIONPOSEYAW 0x7673 ++#define MATROSKA_ID_PROJECTIONPOSEPITCH 0x7674 ++#define MATROSKA_ID_PROJECTIONPOSEROLL 0x7675 +#define MATROSKA_ID_AUDIO 0xe1 +#define MATROSKA_ID_SAMPLINGFREQUENCY 0xb5 +#define MATROSKA_ID_OUTPUTSAMPLINGFREQUENCY 0x78b5 @@ -901,6 +928,20 @@ index 000000000..590c6bdcd + int n_bit_depth; +}; + ++struct ebml_projection { ++ uint64_t projection_type; ++ bstr projection_private; ++ double projection_pose_yaw; ++ double projection_pose_pitch; ++ double projection_pose_roll; ++ ++ int n_projection_type; ++ int n_projection_private; ++ int n_projection_pose_yaw; ++ int n_projection_pose_pitch; ++ int n_projection_pose_roll; ++}; ++ +struct ebml_mastering_metadata { + double primary_r_chromaticity_x; + double primary_r_chromaticity_y; @@ -958,16 +999,17 @@ index 000000000..590c6bdcd +}; + +struct ebml_video { -+ uint64_t flag_interlaced; -+ uint64_t pixel_width; -+ uint64_t pixel_height; -+ uint64_t display_width; -+ uint64_t display_height; -+ uint64_t display_unit; -+ double frame_rate; -+ bstr colour_space; -+ uint64_t stereo_mode; -+ struct ebml_colour colour; ++ uint64_t flag_interlaced; ++ uint64_t pixel_width; ++ uint64_t pixel_height; ++ uint64_t display_width; ++ uint64_t display_height; ++ uint64_t display_unit; ++ double frame_rate; ++ bstr colour_space; ++ uint64_t stereo_mode; ++ struct ebml_colour colour; ++ struct ebml_projection projection; + + int n_flag_interlaced; + int n_pixel_width; @@ -979,6 +1021,7 @@ index 000000000..590c6bdcd + int n_colour_space; + int n_stereo_mode; + int n_colour; ++ int n_projection; +}; + +struct ebml_track_entry { @@ -1162,6 +1205,7 @@ index 000000000..590c6bdcd +extern const struct ebml_elem_desc ebml_video_desc; +extern const struct ebml_elem_desc ebml_colour_desc; +extern const struct ebml_elem_desc ebml_mastering_metadata_desc; ++extern const struct ebml_elem_desc ebml_projection_desc; +extern const struct ebml_elem_desc ebml_audio_desc; +extern const struct ebml_elem_desc ebml_content_encodings_desc; +extern const struct ebml_elem_desc ebml_content_encoding_desc; @@ -1182,5 +1226,5 @@ index 000000000..590c6bdcd + +#define MAX_EBML_SUBELEMENTS 23 -- -2.11.1 +2.14.1 diff --git a/pkg/mpv/patch/0002-Add-generated-man-page.patch b/pkg/mpv/patch/0002-Add-generated-man-page.patch index 581f70f2..db0c9473 100644 --- a/pkg/mpv/patch/0002-Add-generated-man-page.patch +++ b/pkg/mpv/patch/0002-Add-generated-man-page.patch @@ -1,4 +1,4 @@ -From 7490064f9224ff72e75df314d843a464d2d045b8 Mon Sep 17 00:00:00 2001 +From 8df10cc1adebc9c3551a043eeb20ccc0efd59227 Mon Sep 17 00:00:00 2001 From: Michael Forney Date: Sat, 2 Jul 2016 21:08:15 -0700 Subject: [PATCH] Add generated man page @@ -7,16 +7,16 @@ This requires python and rst2man to generate. $ rst2man.py --strip-elements-with-class=contents DOCS/man/mpv.rst DOCS/man/mpv.1 --- - DOCS/man/mpv.1 | 15103 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 15103 insertions(+) + DOCS/man/mpv.1 | 15201 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 15201 insertions(+) create mode 100644 DOCS/man/mpv.1 diff --git a/DOCS/man/mpv.1 b/DOCS/man/mpv.1 new file mode 100644 -index 0000000000..120af562b8 +index 0000000000..e698e6bdd4 --- /dev/null +++ b/DOCS/man/mpv.1 -@@ -0,0 +1,15103 @@ +@@ -0,0 +1,15201 @@ +.\" Man page generated from reStructuredText. +. +.TH MPV 1 "" "" "multimedia" @@ -601,7 +601,7 @@ index 0000000000..120af562b8 +_ +.TE +.sp -+Although some operations allow specifiying multiple \fB,\fP\-separated items, using ++Although some operations allow specifying multiple \fB,\fP\-separated items, using +this is strongly discouraged and deprecated, except for \fB\-set\fP\&. +.sp +Without suffix, the action taken is normally \fB\-set\fP\&. @@ -956,6 +956,11 @@ index 0000000000..120af562b8 +Play a Blu\-ray disc. Currently, this does not accept ISO files. Instead, +you must mount the ISO file as filesystem, and point \fB\-\-bluray\-device\fP +to the mounted directory directly. ++.sp ++\fBtitle\fP can be: \fBlongest\fP or \fBfirst\fP (selects the default ++playlist); \fBmpls/\fP (selects .mpls playlist); ++\fB\fP (select playlist with the same index). You can list ++the available playlists with \fB\-\-msg\-level=bd=v\fP\&. +.UNINDENT +.UNINDENT +.sp @@ -1232,6 +1237,18 @@ index 0000000000..120af562b8 +Specify the edition (set of chapters) to use, where 0 is the first. If set +to \fBauto\fP (the default), mpv will choose the first edition declared as a +default, or if there is no default, the first edition defined. ++.TP ++.B \fB\-\-track\-auto\-selection=\fP ++Enable the default track auto\-selection (default: yes). Enabling this will ++make the player select streams according to \fB\-\-aid\fP, \fB\-\-alang\fP, and ++others. If it is disabled, no tracks are selected. In addition, the player ++will not exit if no tracks are selected, and wait instead (this wait mode ++is similar to pausing, but the pause option is not set). ++.sp ++This is useful with \fB\-\-lavfi\-complex\fP: you can start playback in this ++mode, and then set select tracks at runtime by setting the filter graph. ++Note that if \fB\-\-lavfi\-complex\fP is set before playback is started, the ++referenced tracks are always selected. +.UNINDENT +.SS Playback Control +.INDENT 0.0 @@ -1474,11 +1491,7 @@ index 0000000000..120af562b8 +time trying to loop a file that doesn\(aqt exist. But it might be useful for +playing webradios under very bad network conditions. +.TP -+.B \fB\-\-loop\fP -+Currently a deprecated alias to \fB\-\-loop\-playlist\fP\&. After a deprecation -+period, it will be undeprecated, but changed to alias \fB\-\-loop\-file\fP\&. -+.TP -+.B \fB\-\-loop\-file=\fP ++.B \fB\-\-loop\-file=\fP, \fB\-\-loop=\fP +Loop a single file N times. \fBinf\fP means forever, \fBno\fP means normal +playback. For compatibility, \fB\-\-loop\-file\fP and \fB\-\-loop\-file=yes\fP are +also accepted, and are the same as \fB\-\-loop\-file=inf\fP\&. @@ -1487,6 +1500,8 @@ index 0000000000..120af562b8 +just the file itself. If the playlist contains only a single file, the +difference between the two option is that this option performs a seek on +loop, instead of reloading the file. ++.sp ++\fB\-\-loop\fP is an alias for this option. +.TP +.B \fB\-\-ab\-loop\-a=