b851861931
Mirror of arch/mpv-fourier into the Debian tree. Same source
pin (mpv 0.41.0), same 3 patches:
- 0001-meson-add-detection-logic-for-v4l2request-support.patch
- 0002-vo-hwdec-drmprime-add-separate-hwdecs-for-v4l2reques.patch
(Kwiboo + Langdale wiring for AV_HWDEVICE_TYPE_V4L2REQUEST
through drmprime VO hwdec — '--hwdec=v4l2request' actually
engages on dmabuf-wayland)
- 0001-vo_dmabuf_wayland-explicit-cache-sync-on-import-fd.patch
(iter1 of dmabuf-modifier-triage — explicit DMA_BUF_IOCTL_SYNC
on import fds; KWin-on-RK3566 dark-green chroma readback
regression fix on ohm. Root cause is the vb2_dma_resv RFC
upstream still pending.)
Depends on ffmpeg-v4l2-request-fourier (>= 2:8.1+rfourier) —
AV_HWDEVICE_TYPE_V4L2REQUEST only exists in Kwiboo's FFmpeg
fork; stock Debian ffmpeg doesn't have it.
Conflicts/Replaces stock mpv + libmpv2/libmpv1 — drop-in
replacement. Takes epoch 1.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
57 lines
2.3 KiB
Diff
57 lines
2.3 KiB
Diff
From 9d3bbd3651eb8405b8609e4f5e8c4978056483d0 Mon Sep 17 00:00:00 2001
|
|
From: Jonas Karlman <jonas@kwiboo.se>
|
|
Date: Sun, 18 Aug 2024 17:42:14 -0700
|
|
Subject: [PATCH 1/2] meson: add detection logic for v4l2request support
|
|
|
|
We will probably adjust this to look for a specific libavutil version after
|
|
v4l2request support is merged upstream, but this check is fine for now.
|
|
---
|
|
meson.build | 11 +++++++++++
|
|
meson.options | 1 +
|
|
2 files changed, 12 insertions(+)
|
|
|
|
diff --git a/meson.build b/meson.build
|
|
index d4c75a907f..540f279dc7 100644
|
|
--- a/meson.build
|
|
+++ b/meson.build
|
|
@@ -1444,6 +1444,16 @@ if features['ios-gl']
|
|
sources += files('video/out/hwdec/hwdec_ios_gl.m')
|
|
endif
|
|
|
|
+v4l2request = get_option('v4l2request').require(
|
|
+ cc.has_header_symbol('libavutil/hwcontext.h',
|
|
+ 'AV_HWDEVICE_TYPE_V4L2REQUEST',
|
|
+ dependencies: libavutil)
|
|
+)
|
|
+features += {'v4l2request': v4l2request.allowed()}
|
|
+if features['v4l2request']
|
|
+ sources += files('video/v4l2request.c')
|
|
+endif
|
|
+
|
|
libva = dependency('libva', version: '>= 1.1.0', required: get_option('vaapi'))
|
|
|
|
vaapi_drm = dependency('libva-drm', version: '>= 1.1.0', required:
|
|
@@ -1911,6 +1921,7 @@ summary({'cocoa': features['cocoa'] and features['swift'],
|
|
'libmpv': get_option('libmpv'),
|
|
'lua': features['lua'],
|
|
'opengl': features['gl'],
|
|
+ 'v4l2request': features['v4l2request'],
|
|
'vulkan': features['vulkan'],
|
|
'wayland': features['wayland'],
|
|
'x11': features['x11']},
|
|
diff --git a/meson.options b/meson.options
|
|
index 836d16d03f..54ec2dccfc 100644
|
|
--- a/meson.options
|
|
+++ b/meson.options
|
|
@@ -103,6 +103,7 @@ option('d3d-hwaccel', type: 'feature', value: 'auto', description: 'D3D11VA hwac
|
|
option('d3d9-hwaccel', type: 'feature', value: 'auto', description: 'DXVA2 hwaccel')
|
|
option('gl-dxinterop-d3d9', type: 'feature', value: 'auto', description: 'OpenGL/DirectX DXVA2 hwaccel')
|
|
option('ios-gl', type: 'feature', value: 'auto', description: 'iOS OpenGL ES interop support')
|
|
+option('v4l2request', type: 'feature', value: 'auto', description: 'V4L2 Request API hwaccel')
|
|
option('videotoolbox-gl', type: 'feature', value: 'auto', description: 'Videotoolbox with OpenGL')
|
|
option('videotoolbox-pl', type: 'feature', value: 'auto', description: 'Videotoolbox with libplacebo')
|
|
|
|
--
|
|
2.52.0
|
|
|