On Fri, Jan 5, 2024 at 10:37 AM Markus Volk <[email protected]> wrote:
>
> libplacebo is a required build dependency for mpv-0.37
>
> Signed-off-by: Markus Volk <[email protected]>
> ---
> ...001-frame_queue.h-add-frame_duration.patch | 32 +++++++++++++++++++
> .../libplacebo/0001-gpu.h-add-stride_w.patch | 30 +++++++++++++++++
> .../mplayer/libplacebo_git.bb | 28 ++++++++++++++++
> 3 files changed, 90 insertions(+)
> create mode 100644
> meta-oe/recipes-multimedia/mplayer/libplacebo/0001-frame_queue.h-add-frame_duration.patch
> create mode 100644
> meta-oe/recipes-multimedia/mplayer/libplacebo/0001-gpu.h-add-stride_w.patch
> create mode 100644 meta-oe/recipes-multimedia/mplayer/libplacebo_git.bb
>
> diff --git
> a/meta-oe/recipes-multimedia/mplayer/libplacebo/0001-frame_queue.h-add-frame_duration.patch
>
> b/meta-oe/recipes-multimedia/mplayer/libplacebo/0001-frame_queue.h-add-frame_duration.patch
> new file mode 100644
> index 000000000..5b4ded981
> --- /dev/null
> +++
> b/meta-oe/recipes-multimedia/mplayer/libplacebo/0001-frame_queue.h-add-frame_duration.patch
> @@ -0,0 +1,32 @@
> +From 8437cd1fa7dc1797d3290c121ca17b39a0d2fd6a Mon Sep 17 00:00:00 2001
> +From: Markus Volk <[email protected]>
> +Date: Tue, 5 Dec 2023 19:49:42 +0100
> +Subject: [PATCH] frame_queue.h: add frame_duration
> +
> +This fixes:
> +| [ 87/266] Compiling stream/cookies.c
> +| ../git/video/out/vo_gpu_next.c: In function 'draw_frame':
> +| ../git/video/out/vo_gpu_next.c:932:14: error: 'struct pl_queue_params' has
> no member named 'frame_duration'
> +| 932 | .frame_duration = frame->ideal_frame_duration,
> +| | ^~~~~~~~~~~~~~
> +
> +---
> + src/include/libplacebo/utils/frame_queue.h | 2 ++
> + 1 file changed, 2 insertions(+)
> +
> +diff --git a/src/include/libplacebo/utils/frame_queue.h
> b/src/include/libplacebo/utils/frame_queue.h
> +index 2a9c90c3..8afa4355 100644
> +--- a/src/include/libplacebo/utils/frame_queue.h
> ++++ b/src/include/libplacebo/utils/frame_queue.h
> +@@ -170,6 +170,8 @@ struct pl_queue_params {
> + // should instead be interpreted by the provided callback.
> + uint64_t timeout;
> +
> ++ const float frame_duration;
> ++
> + // This callback will be used to pull new frames from the decoder. It
> may
> + // block if needed. The user is responsible for setting appropriate time
> + // limits and/or returning and interpreting QUEUE_MORE as sensible.
> +--
> +2.42.1
> +
> diff --git
> a/meta-oe/recipes-multimedia/mplayer/libplacebo/0001-gpu.h-add-stride_w.patch
> b/meta-oe/recipes-multimedia/mplayer/libplacebo/0001-gpu.h-add-stride_w.patch
> new file mode 100644
> index 000000000..f08e122cf
> --- /dev/null
> +++
> b/meta-oe/recipes-multimedia/mplayer/libplacebo/0001-gpu.h-add-stride_w.patch
> @@ -0,0 +1,30 @@
> +From fbf74064bbb7133efe9234ef83976f06b3690e88 Mon Sep 17 00:00:00 2001
> +From: Markus Volk <[email protected]>
> +Date: Tue, 5 Dec 2023 19:35:51 +0100
> +Subject: [PATCH] gpu.h: add stride_w
> +
> +this fixes:
> +| [113/257] Compiling common/codecs.c
> +| ../git/video/out/vo_gpu_next.c: In function 'update_overlays':
> +| ../git/video/out/vo_gpu_next.c:268:14: error: 'struct
> pl_tex_transfer_params' has no member named 'stride_w'
> +| 268 | .stride_w = item->packed->stride[0] /
> tex_fmt->texel_size,
> +| | ^~~~~~~~
> +---
> + src/include/libplacebo/gpu.h | 1 +
> + 1 file changed, 1 insertion(+)
> +
> +diff --git a/src/include/libplacebo/gpu.h b/src/include/libplacebo/gpu.h
> +index a63fdf7c..57b4f195 100644
> +--- a/src/include/libplacebo/gpu.h
> ++++ b/src/include/libplacebo/gpu.h
> +@@ -904,6 +904,7 @@ struct pl_tex_transfer_params {
> +
> + // Note: The contents of the memory region / buffer must exactly match
> the
> + // texture format; i.e. there is no explicit conversion between formats.
> ++ size_t stride_w; //
> + };
> +
> + #define pl_tex_transfer_params(...) (&(struct pl_tex_transfer_params) {
> __VA_ARGS__ })
> +--
> +2.42.1
> +
> diff --git a/meta-oe/recipes-multimedia/mplayer/libplacebo_git.bb
> b/meta-oe/recipes-multimedia/mplayer/libplacebo_git.bb
> new file mode 100644
> index 000000000..dd0796782
> --- /dev/null
> +++ b/meta-oe/recipes-multimedia/mplayer/libplacebo_git.bb
> @@ -0,0 +1,28 @@
> +SUMMARY = "The core rendering algorithms and ideas of mpv rewritten as an
> independent library."
> +SECTION = "multimedia"
> +HOMEPAGE = "https://opensourcelibs.com/lib/libplacebo"
> +
> +LICENSE = "LGPL-2.1-only"
> +LIC_FILES_CHKSUM = "file://LICENSE;md5=435ed639f84d4585d93824e7da3d85da"
> +
> +SRC_URI = " \
> +
> git://code.videolan.org/videolan/libplacebo.git;protocol=https;branch=v6.338 \
> + file://0001-gpu.h-add-stride_w.patch \
> + file://0001-frame_queue.h-add-frame_duration.patch \
> +"
> +
> +S = "${WORKDIR}/git"
> +SRCREV = "2805a0d01c029084ab36bf5d0e3c8742012a0b27"
> +PV = "6.338.1"
> +
> +inherit meson pkgconfig
> +
> +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'vulkan opengl',
> d)}"
> +
> +PACKAGECONFIG[vulkan] = "-Dvulkan=enabled,-Dvulkan=disabled,vulkan-loader
> vulkan-headers shaderc spirv-shader-generator python3-mako-native
> python3-jinja2-native glad-native"
> +PACKAGECONFIG[opengl] = "-Dopengl=enabled,-Dopengl=disabled,glad,glad"
glad recipe does not exist in either core or meta-openembedded layers.
stdio: ERROR: Nothing PROVIDES 'glad-native' (but
/home/pokybuild/yocto-worker/meta-oe/build/meta-openembedded/meta-oe/recipes-multimedia/mplayer/libplacebo_git.bb
DEPENDS on or otherwise requires it). Close matches:
> +PACKAGECONFIG[lcms] = "-Dlcms=enabled,-Dlcms=disabled,lcms"
> +PACKAGECONFIG[demos] = "-Ddemos=true,-Ddemos=false,ffmpeg libsdl2
> libsdl2-image"
> +
> +EXTRA_OEMESON = "-Dvulkan-registry=${STAGING_DATADIR}/vulkan/registry/vk.xml"
> +
> --
> 2.43.0
>
>
>
>
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#108056):
https://lists.openembedded.org/g/openembedded-devel/message/108056
Mute This Topic: https://lists.openembedded.org/mt/103548464/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-