View ffmpeg-synology-2.7.1.patch
diff --git a/SynoBuildConf/abiconfig b/SynoBuildConf/abiconfig
new file mode 100644
index 0000000000..70e02a72b5
--- /dev/null
+++ b/SynoBuildConf/abiconfig
@@ -0,0 +1,4 @@
+{
+ "skip_including": ["d3d11va.h", "dxva2.h", "qsv.h", "vda.h", "vdpau.h", "xvmc.h"],
+ "defines": "#define __STDC_CONSTANT_MACROS"
+}
View golang-objchacks.diff
diff --git a/src/cmd/cgo/gcc.go b/src/cmd/cgo/gcc.go
index c104067a93..d9d6d7c7bf 100644
--- a/src/cmd/cgo/gcc.go
+++ b/src/cmd/cgo/gcc.go
@@ -64,6 +64,9 @@ func cname(s string) string {
if strings.HasPrefix(s, "sizeof_") {
return "sizeof(" + cname(s[len("sizeof_"):]) + ")"
}
+ if strings.HasPrefix(s, "objc_class_") {
+ return s[len("objc_class_"):]
View mpv-opengl-android.patch
diff --git a/video/out/opengl/context.c b/video/out/opengl/context.c
index 72311e11fa..dab32d122a 100644
--- a/video/out/opengl/context.c
+++ b/video/out/opengl/context.c
@@ -46,10 +46,14 @@ extern const struct mpgl_driver mpgl_driver_angle;
extern const struct mpgl_driver mpgl_driver_angle_es2;
extern const struct mpgl_driver mpgl_driver_dxinterop;
extern const struct mpgl_driver mpgl_driver_rpi;
+extern const struct mpgl_driver mpgl_driver_android;
extern const struct mpgl_driver mpgl_driver_mali;
View mpv-android-vo-android.patch
diff --git a/app/src/main/java/is/xyz/mpv/MPVLib.java b/app/src/main/java/is/xyz/mpv/MPVLib.java
index 686b6a6..47bd989 100644
--- a/app/src/main/java/is/xyz/mpv/MPVLib.java
+++ b/app/src/main/java/is/xyz/mpv/MPVLib.java
@@ -6,6 +6,7 @@ import java.util.ArrayList;
import java.util.List;
import android.content.Context;
import android.opengl.GLSurfaceView;
+import android.view.Surface;
View vo_android.patch
diff --git a/DOCS/man/options.rst b/DOCS/man/options.rst
index a0ac7017dc..5a8f23424e 100644
--- a/DOCS/man/options.rst
+++ b/DOCS/man/options.rst
@@ -2458,6 +2458,10 @@ Window
support window embedding of foreign processes, this works only with libmpv,
and will crash when used from the command line.
+ On Android, the ID is interpreted as ``android.view.Surface``. Pass it as a
+ value cast to ``intptr_t``. Use with ``--vo=android`` and
View mpv-sles-channels.patch
diff --git a/audio/out/ao_opensles.c b/audio/out/ao_opensles.c
index 5357ab4920..172a543fac 100644
--- a/audio/out/ao_opensles.c
+++ b/audio/out/ao_opensles.c
@@ -49,6 +49,28 @@ static const int fmtmap[][2] = {
{ 0 }
};
+static const int speaker_map[][2] = {
+ {SL_SPEAKER_FRONT_LEFT, MP_SPEAKER_ID_FL},
View vt-framerate.patch
diff --git a/libavcodec/videotoolboxenc.c b/libavcodec/videotoolboxenc.c
index e6d10928d5..c8131d299d 100644
--- a/libavcodec/videotoolboxenc.c
+++ b/libavcodec/videotoolboxenc.c
@@ -896,8 +896,10 @@ static int vtenc_create_encoder(AVCodecContext *avctx,
VTCompressionSessionRef *session)
{
VTEncContext *vtctx = avctx->priv_data;
+ double frame_rate = av_q2d(avctx->framerate);
SInt32 bit_rate = avctx->bit_rate;
View mpv-mpegts-pid-switch.diff
diff --git a/demux/demux.c b/demux/demux.c
index 0c45083e2d..61e45be90b 100644
--- a/demux/demux.c
+++ b/demux/demux.c
@@ -268,6 +268,7 @@ struct sh_stream *demux_alloc_sh_stream(enum stream_type type)
.index = -1,
.ff_index = -1, // may be overwritten by demuxer
.demuxer_id = -1, // ... same
+ .program_num = -1, // ...
.codec = talloc_zero(sh, struct mp_codec_params),
View yadif_neon.patch
diff --git a/libavfilter/aarch64/Makefile b/libavfilter/aarch64/Makefile
new file mode 100644
index 0000000..5d6f6d3
--- /dev/null
+++ b/libavfilter/aarch64/Makefile
@@ -0,0 +1,3 @@
+OBJS-$(CONFIG_YADIF_FILTER) += aarch64/vf_yadif_init.o
+
+NEON-OBJS-$(CONFIG_YADIF_FILTER) += aarch64/vf_yadif.o
diff --git a/libavfilter/aarch64/vf_yadif_init.c b/libavfilter/aarch64/vf_yadif_init.c
View mpv_a53_cc.diff
diff --git a/video/decode/vd_lavc.c b/video/decode/vd_lavc.c
index 92ea8bd..490c718 100644
--- a/video/decode/vd_lavc.c
+++ b/video/decode/vd_lavc.c
@@ -660,40 +660,61 @@ static void decode(struct dec_video *vd, struct demux_packet *packet,
}
return;
}
if (ctx->hwdec && ctx->hwdec_failed) {