summaryrefslogtreecommitdiffstats
path: root/meta/recipes-graphics/jpeg/libjpeg-turbo_3.0.1.bb
diff options
context:
space:
mode:
authorWang Mingyu <wangmy@fujitsu.com>2023-11-03 15:12:14 +0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2023-11-05 11:28:39 +0000
commit253ff8493c5d600dca1950bd872b4c7eca4cf76f (patch)
tree39cdb68cd9fc96a6ae4784e71f516f73564e6f92 /meta/recipes-graphics/jpeg/libjpeg-turbo_3.0.1.bb
parent69933c15dd00e4a5fc14af25f350d0f22de411d0 (diff)
downloadpoky-253ff8493c5d600dca1950bd872b4c7eca4cf76f.tar.gz
libjpeg-turbo: upgrade 3.0.0 -> 3.0.1
Changelog: ============= 1. The x86-64 SIMD functions now use a standard stack frame, prologue, and epilogue so that debuggers and profilers can reliably capture backtraces from within the functions. 2. Fixed two minor issues in the interblock smoothing algorithm that caused mathematical (but not necessarily perceptible) edge block errors when decompressing progressive JPEG images exactly two MCU blocks in width or that use vertical chrominance subsampling. 3. Fixed a regression introduced by 3.0 beta2[6] that, in rare cases, caused the C Huffman encoder (which is not used by default on x86 and Arm CPUs) to generate incorrect results if the Neon SIMD extensions were explicitly disabled at build time (by setting the 'WITH_SIMD' CMake variable to '0') in an AArch64 build of libjpeg-turbo. (From OE-Core rev: f1d2ffb6c7282751919a7057ffc445db71866f96) Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-graphics/jpeg/libjpeg-turbo_3.0.1.bb')
-rw-r--r--meta/recipes-graphics/jpeg/libjpeg-turbo_3.0.1.bb58
1 files changed, 58 insertions, 0 deletions
diff --git a/meta/recipes-graphics/jpeg/libjpeg-turbo_3.0.1.bb b/meta/recipes-graphics/jpeg/libjpeg-turbo_3.0.1.bb
new file mode 100644
index 0000000000..99ed82dac4
--- /dev/null
+++ b/meta/recipes-graphics/jpeg/libjpeg-turbo_3.0.1.bb
@@ -0,0 +1,58 @@
1SUMMARY = "Hardware accelerated JPEG compression/decompression library"
2DESCRIPTION = "libjpeg-turbo is a derivative of libjpeg that uses SIMD instructions (MMX, SSE2, NEON) to accelerate baseline JPEG compression and decompression"
3HOMEPAGE = "http://libjpeg-turbo.org/"
4
5LICENSE = "IJG & BSD-3-Clause & Zlib"
6LIC_FILES_CHKSUM = "file://LICENSE.md;md5=2a8e0d8226a102f07ab63ed7fd6ce155"
7
8DEPENDS:append:x86-64:class-target = " nasm-native"
9DEPENDS:append:x86:class-target = " nasm-native"
10
11SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz"
12
13SRC_URI[sha256sum] = "22429507714ae147b3acacd299e82099fce5d9f456882fc28e252e4579ba2a75"
14UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/libjpeg-turbo/files/"
15UPSTREAM_CHECK_REGEX = "/libjpeg-turbo/files/(?P<pver>(\d+[\.\-_]*)+)/"
16
17PE = "1"
18
19# Drop-in replacement for jpeg
20PROVIDES = "jpeg"
21RPROVIDES:${PN} += "jpeg"
22RREPLACES:${PN} += "jpeg"
23RCONFLICTS:${PN} += "jpeg"
24
25inherit cmake pkgconfig
26
27export NASMENV = "--reproducible --debug-prefix-map=${WORKDIR}=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}"
28
29# Add nasm-native dependency consistently for all build arches is hard
30EXTRA_OECMAKE:append:class-native = " -DWITH_SIMD=False"
31EXTRA_OECMAKE:append:class-nativesdk = " -DWITH_SIMD=False"
32
33# Work around missing x32 ABI support
34EXTRA_OECMAKE:append:class-target = " ${@bb.utils.contains("TUNE_FEATURES", "mx32", "-DWITH_SIMD=False", "", d)}"
35
36# Work around missing non-floating point ABI support in MIPS
37EXTRA_OECMAKE:append:class-target = " ${@bb.utils.contains("MIPSPKGSFX_FPU", "-nf", "-DWITH_SIMD=False", "", d)}"
38
39EXTRA_OECMAKE:append:class-target:arm = " ${@bb.utils.contains("TUNE_FEATURES", "neon", "", "-DWITH_SIMD=False", d)}"
40EXTRA_OECMAKE:append:class-target:armeb = " ${@bb.utils.contains("TUNE_FEATURES", "neon", "", "-DWITH_SIMD=False", d)}"
41
42# Provide a workaround if Altivec unit is not present in PPC
43EXTRA_OECMAKE:append:class-target:powerpc = " ${@bb.utils.contains("TUNE_FEATURES", "altivec", "", "-DWITH_SIMD=False", d)}"
44EXTRA_OECMAKE:append:class-target:powerpc64 = " ${@bb.utils.contains("TUNE_FEATURES", "altivec", "", "-DWITH_SIMD=False", d)}"
45EXTRA_OECMAKE:append:class-target:powerpc64le = " ${@bb.utils.contains("TUNE_FEATURES", "altivec", "", "-DWITH_SIMD=False", d)}"
46
47DEBUG_OPTIMIZATION:append:armv4 = " ${@bb.utils.contains('TUNE_CCARGS', '-mthumb', '-fomit-frame-pointer', '', d)}"
48DEBUG_OPTIMIZATION:append:armv5 = " ${@bb.utils.contains('TUNE_CCARGS', '-mthumb', '-fomit-frame-pointer', '', d)}"
49
50PACKAGES =+ "jpeg-tools libturbojpeg"
51
52DESCRIPTION:jpeg-tools = "The jpeg-tools package includes client programs to access libjpeg functionality. These tools allow for the compression, decompression, transformation and display of JPEG files and benchmarking of the libjpeg library."
53FILES:jpeg-tools = "${bindir}/*"
54
55DESCRIPTION:libturbojpeg = "A SIMD-accelerated JPEG codec which provides only TurboJPEG APIs"
56FILES:libturbojpeg = "${libdir}/libturbojpeg.so.*"
57
58BBCLASSEXTEND = "native nativesdk"