Message ID | 20250105181653.364883-1-f_l_k@t-online.de |
---|---|
State | Accepted |
Headers | show |
Series | [meta-multimedia] libheif: add recipe | expand |
it fails layer compat check see https://valkyrie.yoctoproject.org/#/builders/81/builds/251/steps/11/logs/errors On Sun, Jan 5, 2025 at 10:17 AM Markus Volk via lists.openembedded.org <f_l_k=t-online.de@lists.openembedded.org> wrote: > > libheif is an ISO/IEC 23008-12:2017 HEIF and AVIF (AV1 Image File Format) file format decoder and encoder. There is partial support for ISO/IEC 23008-12:2022 (2nd Edition) capabilities. > > HEIF and AVIF are new image file formats employing HEVC (H.265) or AV1 image coding, respectively, for the best compression ratios currently possible. > > libheif makes use of libde265 for HEIF image decoding and x265 for encoding. For AVIF, libaom, dav1d, svt-av1, or rav1e are used as codecs. > > Signed-off-by: Markus Volk <f_l_k@t-online.de> > --- > .../libheif/libheif_1.19.5.bb | 23 +++++++++++++++++++ > 1 file changed, 23 insertions(+) > create mode 100644 meta-multimedia/recipes-multimedia/libheif/libheif_1.19.5.bb > > diff --git a/meta-multimedia/recipes-multimedia/libheif/libheif_1.19.5.bb b/meta-multimedia/recipes-multimedia/libheif/libheif_1.19.5.bb > new file mode 100644 > index 0000000000..144d899f3f > --- /dev/null > +++ b/meta-multimedia/recipes-multimedia/libheif/libheif_1.19.5.bb > @@ -0,0 +1,23 @@ > +SUMMARY = "libheif is an ISO/IEC 23008-12:2017 HEIF and AVIF (AV1 Image File Format) file format decoder and encoder" > +HOMEPAGE = "https://github.com/strukturag/libheif" > +LICENSE = "LGPL-3.0-only" > +LIC_FILES_CHKSUM = "file://COPYING;md5=f07b2bc152eaee52edbd338825f474d4" > + > +SRC_URI = "git://github.com/strukturag/libheif.git;protocol=https;branch=master" > + > +S = "${WORKDIR}/git" > +SRCREV = "cd95b113d78d0696105a9e678cbd19487ee13d6c" > + > +inherit cmake pkgconfig > + > +DEPENDS += "gdk-pixbuf openh264 x265 libde265 tiff zlib libpng" > + > +PACKAGECONFIG += "dav1d jpeg jpeg2000 ${@bb.utils.contains('LICENSE_FLAGS_ACCEPTED', 'commercial', 'ffmpeg', '', d)}" > +PACKAGECONFIG[aom] = "-DWITH_AOM_ENCODER=ON -DWITH_AOM_DECODER=ON,-DWITH_AOM_ENCODER=OFF -DWITH_AOM_DECODER=OFF,aom" > +PACKAGECONFIG[dav1d] = "-DWITH_DAV1D=ON, -DWITH_DAV1D=OFF,dav1d" > +PACKAGECONFIG[svt-av1] = "-DWITH_SvtEnc=ON,-DWITH_SvtEnc=OFF,svt-av1" > +PACKAGECONFIG[jpeg] = "-DWITH_JPEG_DECODER=ON -DWITH_JPEG_ENCODER=ON,-DWITH_JPEG_ENCODER=OFF -DWITH_JPEG_DECODER=OFF,jpeg" > +PACKAGECONFIG[ffmpeg] = "-DWITH_FFMPEG_DECODER=ON,-DWITH_FFMPEG_DECODER=OFF,ffmpeg" > +PACKAGECONFIG[jpeg2000] = "-DWITH_OpenJPEG_ENCODER=ON -DWITH_OpenJPEG_DECODER=ON,-DWITH_OpenJPEG_ENCODER=OFF -DWITH_OpenJPEG_DECODER=OFF,openjpeg" > + > +FILES:${PN} += "${libdir}/libheif ${datadir}/thumbnailers ${libdir}/gdk-pixbuf*" > -- > 2.47.1 > > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#114630): https://lists.openembedded.org/g/openembedded-devel/message/114630 > Mute This Topic: https://lists.openembedded.org/mt/110442845/1997914 > Group Owner: openembedded-devel+owner@lists.openembedded.org > Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [raj.khem@gmail.com] > -=-=-=-=-=-=-=-=-=-=-=- >
On Mon, Jan 6 2025 at 07:24:30 -08:00:00, Khem Raj via
lists.openembedded.org <raj.khem=gmail.com@lists.openembedded.org>
wrote:
> it fails layer compat check see
x265 is restricted to x86 systems.
I would recommend to drop the restriction. For example it also builds
for qemuarm
In addition the libheif.bb lacks an entry for LICENSE_FLAGS_ACCEPTED =
"commercial"
openh264 and libde265 are not added as RDEPENDS in:
<https://github.com/openembedded/meta-openembedded/blob/master/meta-multimedia/recipes-multimedia/packagegroups/packagegroup-meta-multimedia.bb>
Is there a reason, why they are not added as RDEPENDS by default? If so
I'll move the libheif recipe to my personal layer
If it's ok to add them, I'll send a v2 trying to fix the issues
On Mon, Jan 6, 2025 at 8:29 AM Markus Volk <f_l_k@t-online.de> wrote: > > On Mon, Jan 6 2025 at 07:24:30 -08:00:00, Khem Raj via lists.openembedded.org <raj.khem=gmail.com@lists.openembedded.org> wrote: > > it fails layer compat check see > > > > x265 is restricted to x86 systems. > I would recommend to drop the restriction. For example it also builds for qemuarm > > > In addition the libheif.bb lacks an entry for LICENSE_FLAGS_ACCEPTED = "commercial" > > > openh264 and libde265 are not added as RDEPENDS in: > https://github.com/openembedded/meta-openembedded/blob/master/meta-multimedia/recipes-multimedia/packagegroups/packagegroup-meta-multimedia.bb > > Is there a reason, why they are not added as RDEPENDS by default? If so I'll move the libheif recipe to my personal layer > If it's ok to add them, I'll send a v2 trying to fix the issues Adding might be fine in a v2 perhaps they did not build for non x86 and non aarch64 architectures. Things might have changed with time so enabling it for other architectures as well might be worth trying. >
diff --git a/meta-multimedia/recipes-multimedia/libheif/libheif_1.19.5.bb b/meta-multimedia/recipes-multimedia/libheif/libheif_1.19.5.bb new file mode 100644 index 0000000000..144d899f3f --- /dev/null +++ b/meta-multimedia/recipes-multimedia/libheif/libheif_1.19.5.bb @@ -0,0 +1,23 @@ +SUMMARY = "libheif is an ISO/IEC 23008-12:2017 HEIF and AVIF (AV1 Image File Format) file format decoder and encoder" +HOMEPAGE = "https://github.com/strukturag/libheif" +LICENSE = "LGPL-3.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=f07b2bc152eaee52edbd338825f474d4" + +SRC_URI = "git://github.com/strukturag/libheif.git;protocol=https;branch=master" + +S = "${WORKDIR}/git" +SRCREV = "cd95b113d78d0696105a9e678cbd19487ee13d6c" + +inherit cmake pkgconfig + +DEPENDS += "gdk-pixbuf openh264 x265 libde265 tiff zlib libpng" + +PACKAGECONFIG += "dav1d jpeg jpeg2000 ${@bb.utils.contains('LICENSE_FLAGS_ACCEPTED', 'commercial', 'ffmpeg', '', d)}" +PACKAGECONFIG[aom] = "-DWITH_AOM_ENCODER=ON -DWITH_AOM_DECODER=ON,-DWITH_AOM_ENCODER=OFF -DWITH_AOM_DECODER=OFF,aom" +PACKAGECONFIG[dav1d] = "-DWITH_DAV1D=ON, -DWITH_DAV1D=OFF,dav1d" +PACKAGECONFIG[svt-av1] = "-DWITH_SvtEnc=ON,-DWITH_SvtEnc=OFF,svt-av1" +PACKAGECONFIG[jpeg] = "-DWITH_JPEG_DECODER=ON -DWITH_JPEG_ENCODER=ON,-DWITH_JPEG_ENCODER=OFF -DWITH_JPEG_DECODER=OFF,jpeg" +PACKAGECONFIG[ffmpeg] = "-DWITH_FFMPEG_DECODER=ON,-DWITH_FFMPEG_DECODER=OFF,ffmpeg" +PACKAGECONFIG[jpeg2000] = "-DWITH_OpenJPEG_ENCODER=ON -DWITH_OpenJPEG_DECODER=ON,-DWITH_OpenJPEG_ENCODER=OFF -DWITH_OpenJPEG_DECODER=OFF,openjpeg" + +FILES:${PN} += "${libdir}/libheif ${datadir}/thumbnailers ${libdir}/gdk-pixbuf*"
libheif is an ISO/IEC 23008-12:2017 HEIF and AVIF (AV1 Image File Format) file format decoder and encoder. There is partial support for ISO/IEC 23008-12:2022 (2nd Edition) capabilities. HEIF and AVIF are new image file formats employing HEVC (H.265) or AV1 image coding, respectively, for the best compression ratios currently possible. libheif makes use of libde265 for HEIF image decoding and x265 for encoding. For AVIF, libaom, dav1d, svt-av1, or rav1e are used as codecs. Signed-off-by: Markus Volk <f_l_k@t-online.de> --- .../libheif/libheif_1.19.5.bb | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 meta-multimedia/recipes-multimedia/libheif/libheif_1.19.5.bb