mpv-fourier: iter2 — wire v4l2request hwdec through drmprime VO
build and publish packages / distcc-avahi-aarch64 (push) Successful in 1m29s
build and publish packages / lmcp-any (push) Successful in 10s
build and publish packages / lmcp-debian (push) Successful in 8s
build and publish packages / claude-his-any (push) Successful in 7s
build and publish packages / ffmpeg-v4l2-request-aarch64 (push) Successful in 12m53s
build and publish packages / claude-his-debian (push) Successful in 6s
build and publish packages / libva-v4l2-request-fourier-aarch64 (push) Successful in 14s
build and publish packages / mpv-fourier-aarch64 (push) Successful in 1m4s
build and publish packages / distcc-avahi-aarch64 (push) Successful in 1m29s
build and publish packages / lmcp-any (push) Successful in 10s
build and publish packages / lmcp-debian (push) Successful in 8s
build and publish packages / claude-his-any (push) Successful in 7s
build and publish packages / ffmpeg-v4l2-request-aarch64 (push) Successful in 12m53s
build and publish packages / claude-his-debian (push) Successful in 6s
build and publish packages / libva-v4l2-request-fourier-aarch64 (push) Successful in 14s
build and publish packages / mpv-fourier-aarch64 (push) Successful in 1m4s
Adds Kwiboo / Langdale's 2024-08 patches (0001-meson + 0002-vo-hwdec-drmprime)
so AV_HWDEVICE_TYPE_V4L2REQUEST flows through mpv's drmprime VO hwdec and
`--hwdec=v4l2request` engages against the dmabuf-wayland VO instead of failing
with "Could not create device". The matcher previously filtered on
AV_HWDEVICE_TYPE_DRM and rejected v4l2request even when libavcodec's hwaccel
returned a valid PRIME descriptor.
PKGBUILD: pkgrel 9 → 10, source[] picks up both new patches, prepare() applies
them before the existing 0001-vo_dmabuf_wayland cache-sync workaround,
meson build flag -Dv4l2request=enabled added so the new option compiles in.
Stacks on top of iter1 (713a856): the dma_buf cache-sync workaround stays
load-bearing for the existing vaapi_dmabuf and drmprime_dmabuf import paths;
this iter only adds the wiring for the drmprime VO's hwdec selector.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -23,8 +23,8 @@ pkgname=mpv-fourier
|
||||
_upstreampkg=mpv
|
||||
epoch=1
|
||||
pkgver=0.41.0
|
||||
pkgrel=9
|
||||
pkgdesc='mpv with fourier-umbrella patches (vo_dmabuf_wayland explicit cache-sync workaround)'
|
||||
pkgrel=10
|
||||
pkgdesc='mpv with fourier-umbrella patches (vo_dmabuf_wayland explicit cache-sync workaround + v4l2request hwdec wiring)'
|
||||
arch=('aarch64')
|
||||
url='https://mpv.io/'
|
||||
license=('GPL-2.0-or-later AND LGPL-2.1-or-later')
|
||||
@@ -49,16 +49,28 @@ options=('!emptydirs')
|
||||
|
||||
source=(
|
||||
"${_upstreampkg}-${pkgver}.tar.gz::https://github.com/mpv-player/${_upstreampkg}/archive/v${pkgver}/${_upstreampkg}-${pkgver}.tar.gz"
|
||||
# Kwiboo + Langdale: wire AV_HWDEVICE_TYPE_V4L2REQUEST through mpv's drmprime VO hwdec
|
||||
'0001-meson-add-detection-logic-for-v4l2request-support.patch'
|
||||
'0002-vo-hwdec-drmprime-add-separate-hwdecs-for-v4l2reques.patch'
|
||||
'0001-vo_dmabuf_wayland-explicit-cache-sync-on-import-fd.patch'
|
||||
)
|
||||
sha256sums=(
|
||||
'ee21092a5ee427353392360929dc64645c54479aefdb5babc5cfbb5fad626209'
|
||||
'302dc2a89f1dc3efb8fd7a035fd70bee4b343acf01fe78b294e8aeca0b221dc2'
|
||||
'b6a71030017867c84692a8a198f9db143ce8394ab5a6ed3c705ea2d715d525fc'
|
||||
'6c929bea7636b8d81b63a1275ba1d8a471fe2f249fc23509043ace6cf9b076a7'
|
||||
)
|
||||
|
||||
prepare() {
|
||||
cd "${_upstreampkg}-${pkgver}"
|
||||
|
||||
# Kwiboo + Langdale (2024-08): wire AV_HWDEVICE_TYPE_V4L2REQUEST through
|
||||
# the drmprime VO hwdec so --hwdec=v4l2request engages on dmabuf-wayland.
|
||||
# Without these, mpv reports "Could not create device" because the matcher
|
||||
# filters by lavc_device type and v4l2request != AV_HWDEVICE_TYPE_DRM.
|
||||
patch -p1 < "${srcdir}/0001-meson-add-detection-logic-for-v4l2request-support.patch"
|
||||
patch -p1 < "${srcdir}/0002-vo-hwdec-drmprime-add-separate-hwdecs-for-v4l2reques.patch"
|
||||
|
||||
# iter1 of dmabuf-modifier-triage — explicit DMA_BUF_IOCTL_SYNC on import
|
||||
# fds in vaapi_dmabuf_importer + drmprime_dmabuf_importer. Workaround for
|
||||
# missing implicit-fence on V4L2 stateless CAPTURE buffers; root cause is
|
||||
@@ -70,6 +82,7 @@ build() {
|
||||
local _meson_options=(
|
||||
--auto-features auto
|
||||
|
||||
-Dv4l2request=enabled
|
||||
-Dlibmpv=true
|
||||
-Dgl-x11=enabled
|
||||
-Dcaca=disabled
|
||||
|
||||
Reference in New Issue
Block a user