public inbox for openembedded-core@lists.openembedded.org
 help / color / mirror / Atom feed
From: "Böszörményi Zoltán" <zboszor@gmail.com>
To: dmitry.baryshkov@oss.qualcomm.com,
	openembedded-core@lists.openembedded.org
Subject: Re: [OE-core] [PATCH] x264: switch to PACKAGECONFIG
Date: Wed, 15 Oct 2025 07:00:56 +0200	[thread overview]
Message-ID: <06019d2f-b77b-46cc-b0e9-4afb2a9a8232@gmail.com> (raw)
In-Reply-To: <20251012150805.536603-1-dmitry.baryshkov@oss.qualcomm.com>

This causes a dependency loop between x264 and ffmpeg, if
PACKAGECONFIG = "x264" is used for ffmpeg.

Now, that x264 depends on ffmpeg by default, should the
PACKAGECONFIG[x264] entry from ffmpeg be removed?

How does this change influence h.264 support if I remove
PACKAGECONFIG = "x264" from my ffmpeg bbappend?
Will that be always a hw-accelerated implementation now or just disables it?

2025. 10. 12. 17:08 keltezéssel, Dmitry Baryshkov via lists.openembedded.org írta:
> Switch to PACKAGECONFIG in order to make x264 options configurable.
> Enable FFmpeg (by default) and OpenCL (if enabled by the distro). Pick
> up the patch to fix building with the latest FFmpeg.
>
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
> ---
>   ...b801191522961102d4bea292cdb61068d0dd.patch | 39 +++++++++++++++++++
>   meta/recipes-multimedia/x264/x264_git.bb      | 11 ++++--
>   2 files changed, 47 insertions(+), 3 deletions(-)
>   create mode 100644 meta/recipes-multimedia/x264/x264/32c3b801191522961102d4bea292cdb61068d0dd.patch
>
> diff --git a/meta/recipes-multimedia/x264/x264/32c3b801191522961102d4bea292cdb61068d0dd.patch b/meta/recipes-multimedia/x264/x264/32c3b801191522961102d4bea292cdb61068d0dd.patch
> new file mode 100644
> index 000000000000..fb0f313cdb60
> --- /dev/null
> +++ b/meta/recipes-multimedia/x264/x264/32c3b801191522961102d4bea292cdb61068d0dd.patch
> @@ -0,0 +1,39 @@
> +From 32c3b801191522961102d4bea292cdb61068d0dd Mon Sep 17 00:00:00 2001
> +From: =?UTF-8?q?Martin=20Storsj=C3=B6?= <martin@martin.st>
> +Date: Fri, 4 Apr 2025 16:59:34 +0300
> +Subject: [PATCH] lavf: Update the code to work with the latest libavutil API
> +
> +Upstream-Status: Backport [https://code.videolan.org/videolan/x264/-/commit/32c3b801191522961102d4bea292cdb61068d0dd]
> +---
> + input/lavf.c | 6 ++++++
> + 1 file changed, 6 insertions(+)
> +
> +diff --git a/input/lavf.c b/input/lavf.c
> +index 90f4cec5..e2489963 100644
> +--- a/input/lavf.c
> ++++ b/input/lavf.c
> +@@ -33,6 +33,7 @@
> + #include <libavutil/error.h>
> + #include <libavutil/mem.h>
> + #include <libavutil/pixdesc.h>
> ++#include <libavutil/version.h>
> +
> + #define FAIL_IF_ERROR( cond, ... ) FAIL_IF_ERR( cond, "lavf", __VA_ARGS__ )
> +
> +@@ -141,8 +142,13 @@ static int read_frame_internal( cli_pic_t *p_pic, lavf_hnd_t *h, int i_frame, vi
> +     if( info )
> +     {
> +         info->fullrange  = is_fullrange;
> ++#if LIBAVUTIL_VERSION_MAJOR < 60
> +         info->interlaced = h->frame->interlaced_frame;
> +         info->tff        = h->frame->top_field_first;
> ++#else
> ++        info->interlaced = !!(h->frame->flags & AV_FRAME_FLAG_INTERLACED);
> ++        info->tff        = !!(h->frame->flags & AV_FRAME_FLAG_TOP_FIELD_FIRST);
> ++#endif
> +     }
> +
> +     if( h->vfr_input )
> +--
> +GitLab
> +
> diff --git a/meta/recipes-multimedia/x264/x264_git.bb b/meta/recipes-multimedia/x264/x264_git.bb
> index 3cc339259381..eb72ba006a04 100644
> --- a/meta/recipes-multimedia/x264/x264_git.bb
> +++ b/meta/recipes-multimedia/x264/x264_git.bb
> @@ -9,6 +9,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
>   DEPENDS = "nasm-native"
>   
>   SRC_URI = "git://code.videolan.org/videolan/x264.git;branch=stable;protocol=https \
> +    file://32c3b801191522961102d4bea292cdb61068d0dd.patch \
>              "
>   UPSTREAM_CHECK_COMMITS = "1"
>   
> @@ -25,6 +26,13 @@ X264_DISABLE_ASM:armv5 = "--disable-asm"
>   X264_DISABLE_ASM:powerpc = "${@bb.utils.contains("TUNE_FEATURES", "spe", "--disable-asm", "", d)}"
>   X264_DISABLE_ASM:mipsarch = "${@bb.utils.contains("TUNE_FEATURES", "r6", "", "--disable-asm", d)}"
>   
> +PACKAGECONFIG ?= " \
> +    ffmpeg \
> +    ${@bb.utils.filter("DISTRO_FEATURES", "opencl", d)} \
> +"
> +PACKAGECONFIG[ffmpeg] = "--enable-lavf --enable-swscale,--disable-lavf --disable-swscale,ffmpeg"
> +PACKAGECONFIG[opencl] = "--enable-opencl,--disable-opencl,"
> +
>   EXTRA_OECONF = '--prefix=${prefix} \
>                   --host=${HOST_SYS} \
>                   --libdir=${libdir} \
> @@ -32,9 +40,6 @@ EXTRA_OECONF = '--prefix=${prefix} \
>                   --sysroot=${STAGING_DIR_TARGET} \
>                   --enable-shared \
>                   --enable-static \
> -                --disable-lavf \
> -                --disable-swscale \
> -                --disable-opencl \
>                   --enable-pic \
>                   ${X264_DISABLE_ASM} \
>                   --extra-cflags="${TUNE_CCARGS}" \
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#224738): https://lists.openembedded.org/g/openembedded-core/message/224738
> Mute This Topic: https://lists.openembedded.org/mt/115719250/3617728
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [zboszor@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>



      reply	other threads:[~2025-10-15  5:01 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-10-12 15:08 [PATCH] x264: switch to PACKAGECONFIG Dmitry Baryshkov
2025-10-15  5:00 ` Böszörményi Zoltán [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=06019d2f-b77b-46cc-b0e9-4afb2a9a8232@gmail.com \
    --to=zboszor@gmail.com \
    --cc=dmitry.baryshkov@oss.qualcomm.com \
    --cc=openembedded-core@lists.openembedded.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox