Message ID | 20240105183648.61874-1-f_l_k@t-online.de |
---|---|
State | Under Review |
Headers | show |
Series | [meta-oe,1/2] libplacebo: add recipe | expand |
On Fri, Jan 5, 2024 at 10:37 AM Markus Volk <f_l_k@t-online.de> wrote: > > libplacebo is a required build dependency for mpv-0.37 > > Signed-off-by: Markus Volk <f_l_k@t-online.de> > --- > ...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 <f_l_k@t-online.de> > +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 <f_l_k@t-online.de> > +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 (#108050): https://lists.openembedded.org/g/openembedded-devel/message/108050 > Mute This Topic: https://lists.openembedded.org/mt/103548464/1997914 > Group Owner: openembedded-devel+owner@lists.openembedded.org > Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [raj.khem@gmail.com] > -=-=-=-=-=-=-=-=-=-=-=- >
On Fri, Jan 5 2024 at 02:42:51 PM -08:00:00, Khem Raj
<raj.khem@gmail.com> wrote:
> glad recipe does not exist in either core or meta-openembedded layers.
Yes, sorry. I forgot to push the recipe. Now i have sent it and also a
v3 for mpv that adds the hack for config.h again. At first I thought it
was no longer needed but without there still leaks buildpaths into the
binary
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 <f_l_k@t-online.de> +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 <f_l_k@t-online.de> +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" +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" +
libplacebo is a required build dependency for mpv-0.37 Signed-off-by: Markus Volk <f_l_k@t-online.de> --- ...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