Feature or Bugfix: Feature
    Binary Source:No
	Signed-off-by: guomengyu<guomengyu5@h-partners.com>
This commit is contained in:
unknown
2025-05-17 15:48:03 +08:00
parent 38ae6ab860
commit c1e6c5f15a
13 changed files with 225 additions and 1672 deletions
+91 -84
View File
@@ -25,121 +25,128 @@ declare_args() {
action("libjpeg_action") {
script = "//third_party/libjpeg-turbo/install.py"
outputs = [
"${target_gen_dir}/libjpeg-turbo-2.1.1/jcapimin.c",
"${target_gen_dir}/libjpeg-turbo-2.1.1/jcapistd.c",
"${target_gen_dir}/libjpeg-turbo-2.1.1/jccoefct.c",
"${target_gen_dir}/libjpeg-turbo-2.1.1/jccolor.c",
"${target_gen_dir}/libjpeg-turbo-2.1.1/jcdctmgr.c",
"${target_gen_dir}/libjpeg-turbo-2.1.1/jchuff.c",
"${target_gen_dir}/libjpeg-turbo-2.1.1/jcicc.c",
"${target_gen_dir}/libjpeg-turbo-2.1.1/jcinit.c",
"${target_gen_dir}/libjpeg-turbo-2.1.1/jcmainct.c",
"${target_gen_dir}/libjpeg-turbo-2.1.1/jcmarker.c",
"${target_gen_dir}/libjpeg-turbo-2.1.1/jcmaster.c",
"${target_gen_dir}/libjpeg-turbo-2.1.1/jcomapi.c",
"${target_gen_dir}/libjpeg-turbo-2.1.1/jcparam.c",
"${target_gen_dir}/libjpeg-turbo-2.1.1/jcphuff.c",
"${target_gen_dir}/libjpeg-turbo-2.1.1/jcprepct.c",
"${target_gen_dir}/libjpeg-turbo-2.1.1/jcsample.c",
"${target_gen_dir}/libjpeg-turbo-2.1.1/jctrans.c",
"${target_gen_dir}/libjpeg-turbo-2.1.1/jdapimin.c",
"${target_gen_dir}/libjpeg-turbo-2.1.1/jdapistd.c",
"${target_gen_dir}/libjpeg-turbo-2.1.1/jdatadst.c",
"${target_gen_dir}/libjpeg-turbo-2.1.1/jdatasrc.c",
"${target_gen_dir}/libjpeg-turbo-2.1.1/jdcoefct.c",
"${target_gen_dir}/libjpeg-turbo-2.1.1/jdcolor.c",
"${target_gen_dir}/libjpeg-turbo-2.1.1/jddctmgr.c",
"${target_gen_dir}/libjpeg-turbo-2.1.1/jdicc.c",
"${target_gen_dir}/libjpeg-turbo-2.1.1/jdinput.c",
"${target_gen_dir}/libjpeg-turbo-2.1.1/jdmainct.c",
"${target_gen_dir}/libjpeg-turbo-2.1.1/jdmarker.c",
"${target_gen_dir}/libjpeg-turbo-2.1.1/jdmaster.c",
"${target_gen_dir}/libjpeg-turbo-2.1.1/jdmerge.c",
"${target_gen_dir}/libjpeg-turbo-2.1.1/jdphuff.c",
"${target_gen_dir}/libjpeg-turbo-2.1.1/jdpostct.c",
"${target_gen_dir}/libjpeg-turbo-2.1.1/jdsample.c",
"${target_gen_dir}/libjpeg-turbo-2.1.1/jdtrans.c",
"${target_gen_dir}/libjpeg-turbo-2.1.1/jerror.c",
"${target_gen_dir}/libjpeg-turbo-2.1.1/jfdctflt.c",
"${target_gen_dir}/libjpeg-turbo-2.1.1/jfdctfst.c",
"${target_gen_dir}/libjpeg-turbo-2.1.1/jfdctint.c",
"${target_gen_dir}/libjpeg-turbo-2.1.1/jidctflt.c",
"${target_gen_dir}/libjpeg-turbo-2.1.1/jidctfst.c",
"${target_gen_dir}/libjpeg-turbo-2.1.1/jidctint.c",
"${target_gen_dir}/libjpeg-turbo-2.1.1/jidctred.c",
"${target_gen_dir}/libjpeg-turbo-2.1.1/jmemmgr.c",
"${target_gen_dir}/libjpeg-turbo-2.1.1/jmemnobs.c",
"${target_gen_dir}/libjpeg-turbo-2.1.1/jquant1.c",
"${target_gen_dir}/libjpeg-turbo-2.1.1/jquant2.c",
"${target_gen_dir}/libjpeg-turbo-2.1.1/jutils.c",
"${target_gen_dir}/libjpeg-turbo-3.1.0/src/jddiffct.c",
"${target_gen_dir}/libjpeg-turbo-3.1.0/src/jpeg_nbits.c",
"${target_gen_dir}/libjpeg-turbo-3.1.0/src/jdlhuff.c",
"${target_gen_dir}/libjpeg-turbo-3.1.0/src/jdlossls.c",
"${target_gen_dir}/libjpeg-turbo-3.1.0/src/jcdiffct.c",
"${target_gen_dir}/libjpeg-turbo-3.1.0/src/jclossls.c",
"${target_gen_dir}/libjpeg-turbo-3.1.0/src/jclhuff.c",
"${target_gen_dir}/libjpeg-turbo-3.1.0/src/jcapimin.c",
"${target_gen_dir}/libjpeg-turbo-3.1.0/src/jcapistd.c",
"${target_gen_dir}/libjpeg-turbo-3.1.0/src/jccoefct.c",
"${target_gen_dir}/libjpeg-turbo-3.1.0/src/jccolor.c",
"${target_gen_dir}/libjpeg-turbo-3.1.0/src/jcdctmgr.c",
"${target_gen_dir}/libjpeg-turbo-3.1.0/src/jchuff.c",
"${target_gen_dir}/libjpeg-turbo-3.1.0/src/jcicc.c",
"${target_gen_dir}/libjpeg-turbo-3.1.0/src/jcinit.c",
"${target_gen_dir}/libjpeg-turbo-3.1.0/src/jcmainct.c",
"${target_gen_dir}/libjpeg-turbo-3.1.0/src/jcmarker.c",
"${target_gen_dir}/libjpeg-turbo-3.1.0/src/jcmaster.c",
"${target_gen_dir}/libjpeg-turbo-3.1.0/src/jcomapi.c",
"${target_gen_dir}/libjpeg-turbo-3.1.0/src/jcparam.c",
"${target_gen_dir}/libjpeg-turbo-3.1.0/src/jcphuff.c",
"${target_gen_dir}/libjpeg-turbo-3.1.0/src/jcprepct.c",
"${target_gen_dir}/libjpeg-turbo-3.1.0/src/jcsample.c",
"${target_gen_dir}/libjpeg-turbo-3.1.0/src/jctrans.c",
"${target_gen_dir}/libjpeg-turbo-3.1.0/src/jdapimin.c",
"${target_gen_dir}/libjpeg-turbo-3.1.0/src/jdapistd.c",
"${target_gen_dir}/libjpeg-turbo-3.1.0/src/jdatadst.c",
"${target_gen_dir}/libjpeg-turbo-3.1.0/src/jdatasrc.c",
"${target_gen_dir}/libjpeg-turbo-3.1.0/src/jdcoefct.c",
"${target_gen_dir}/libjpeg-turbo-3.1.0/src/jdcolor.c",
"${target_gen_dir}/libjpeg-turbo-3.1.0/src/jddctmgr.c",
"${target_gen_dir}/libjpeg-turbo-3.1.0/src/jdicc.c",
"${target_gen_dir}/libjpeg-turbo-3.1.0/src/jdinput.c",
"${target_gen_dir}/libjpeg-turbo-3.1.0/src/jdmainct.c",
"${target_gen_dir}/libjpeg-turbo-3.1.0/src/jdmarker.c",
"${target_gen_dir}/libjpeg-turbo-3.1.0/src/jdmaster.c",
"${target_gen_dir}/libjpeg-turbo-3.1.0/src/jdmerge.c",
"${target_gen_dir}/libjpeg-turbo-3.1.0/src/jdphuff.c",
"${target_gen_dir}/libjpeg-turbo-3.1.0/src/jdpostct.c",
"${target_gen_dir}/libjpeg-turbo-3.1.0/src/jdsample.c",
"${target_gen_dir}/libjpeg-turbo-3.1.0/src/jdtrans.c",
"${target_gen_dir}/libjpeg-turbo-3.1.0/src/jerror.c",
"${target_gen_dir}/libjpeg-turbo-3.1.0/src/jfdctflt.c",
"${target_gen_dir}/libjpeg-turbo-3.1.0/src/jfdctfst.c",
"${target_gen_dir}/libjpeg-turbo-3.1.0/src/jfdctint.c",
"${target_gen_dir}/libjpeg-turbo-3.1.0/src/jidctflt.c",
"${target_gen_dir}/libjpeg-turbo-3.1.0/src/jidctfst.c",
"${target_gen_dir}/libjpeg-turbo-3.1.0/src/jidctint.c",
"${target_gen_dir}/libjpeg-turbo-3.1.0/src/jidctred.c",
"${target_gen_dir}/libjpeg-turbo-3.1.0/src/jmemmgr.c",
"${target_gen_dir}/libjpeg-turbo-3.1.0/src/jmemnobs.c",
"${target_gen_dir}/libjpeg-turbo-3.1.0/src/jquant1.c",
"${target_gen_dir}/libjpeg-turbo-3.1.0/src/jquant2.c",
"${target_gen_dir}/libjpeg-turbo-3.1.0/src/jutils.c",
]
if (is_arm_ohos_clang_pc) {
outputs += [ "${target_gen_dir}/libjpeg-turbo-2.1.1/jdhuff_opt.c" ]
outputs += [ "${target_gen_dir}/libjpeg-turbo-3.1.0/src/jdhuff_opt.c" ]
} else {
outputs += [ "${target_gen_dir}/libjpeg-turbo-2.1.1/jdhuff.c" ]
outputs += [ "${target_gen_dir}/libjpeg-turbo-3.1.0/src/jdhuff.c" ]
}
mkernel = defined(ohos_kernel_type) && ohos_kernel_type == "liteos_m"
if (mkernel || is_win) {
outputs += [ "${target_gen_dir}/libjpeg-turbo-2.1.1/jsimd_none.c" ]
outputs += [ "${target_gen_dir}/libjpeg-turbo-3.1.0/src/jsimd_none.c" ]
} else if (current_cpu == "arm" || current_cpu == "arm64") {
outputs += [
"${target_gen_dir}/libjpeg-turbo-2.1.1/simd/arm/jcgray-neon.c",
"${target_gen_dir}/libjpeg-turbo-2.1.1/simd/arm/jcphuff-neon.c",
"${target_gen_dir}/libjpeg-turbo-2.1.1/simd/arm/jcsample-neon.c",
"${target_gen_dir}/libjpeg-turbo-2.1.1/simd/arm/jdmerge-neon.c",
"${target_gen_dir}/libjpeg-turbo-2.1.1/simd/arm/jdsample-neon.c",
"${target_gen_dir}/libjpeg-turbo-2.1.1/simd/arm/jfdctfst-neon.c",
"${target_gen_dir}/libjpeg-turbo-2.1.1/simd/arm/jidctred-neon.c",
"${target_gen_dir}/libjpeg-turbo-2.1.1/simd/arm/jquanti-neon.c",
"${target_gen_dir}/libjpeg-turbo-3.1.0/simd/arm/jcgray-neon.c",
"${target_gen_dir}/libjpeg-turbo-3.1.0/simd/arm/jcphuff-neon.c",
"${target_gen_dir}/libjpeg-turbo-3.1.0/simd/arm/jcsample-neon.c",
"${target_gen_dir}/libjpeg-turbo-3.1.0/simd/arm/jdmerge-neon.c",
"${target_gen_dir}/libjpeg-turbo-3.1.0/simd/arm/jdsample-neon.c",
"${target_gen_dir}/libjpeg-turbo-3.1.0/simd/arm/jfdctfst-neon.c",
"${target_gen_dir}/libjpeg-turbo-3.1.0/simd/arm/jidctred-neon.c",
"${target_gen_dir}/libjpeg-turbo-3.1.0/simd/arm/jquanti-neon.c",
]
# NEON_INTRINSICS as default
outputs += [
"${target_gen_dir}/libjpeg-turbo-2.1.1/simd/arm/jccolor-neon.c",
"${target_gen_dir}/libjpeg-turbo-2.1.1/simd/arm/jidctfst-neon.c",
"${target_gen_dir}/libjpeg-turbo-2.1.1/simd/arm/jidctint-neon.c",
"${target_gen_dir}/libjpeg-turbo-3.1.0/simd/arm/jccolor-neon.c",
"${target_gen_dir}/libjpeg-turbo-3.1.0/simd/arm/jidctfst-neon.c",
"${target_gen_dir}/libjpeg-turbo-3.1.0/simd/arm/jidctint-neon.c",
]
if (current_cpu == "arm") {
outputs += [
"${target_gen_dir}/libjpeg-turbo-2.1.1/simd/arm/aarch32/jchuff-neon.c",
"${target_gen_dir}/libjpeg-turbo-2.1.1/simd/arm/aarch32/jsimd.c",
"${target_gen_dir}/libjpeg-turbo-2.1.1/simd/arm/jdcolor-neon.c",
"${target_gen_dir}/libjpeg-turbo-2.1.1/simd/arm/jfdctint-neon.c",
"${target_gen_dir}/libjpeg-turbo-3.1.0/simd/arm/aarch32/jchuff-neon.c",
"${target_gen_dir}/libjpeg-turbo-3.1.0/simd/arm/aarch32/jsimd.c",
"${target_gen_dir}/libjpeg-turbo-3.1.0/simd/arm/jdcolor-neon.c",
"${target_gen_dir}/libjpeg-turbo-3.1.0/simd/arm/jfdctint-neon.c",
]
} else {
outputs += [
"${target_gen_dir}/libjpeg-turbo-2.1.1/simd/arm/aarch64/jchuff-neon.c",
"${target_gen_dir}/libjpeg-turbo-2.1.1/simd/arm/aarch64/jsimd.c",
"${target_gen_dir}/libjpeg-turbo-2.1.1/simd/arm/jdcolor-neon.c",
"${target_gen_dir}/libjpeg-turbo-2.1.1/simd/arm/jfdctint-neon.c",
"${target_gen_dir}/libjpeg-turbo-3.1.0/simd/arm/aarch64/jchuff-neon.c",
"${target_gen_dir}/libjpeg-turbo-3.1.0/simd/arm/aarch64/jsimd.c",
"${target_gen_dir}/libjpeg-turbo-3.1.0/simd/arm/jdcolor-neon.c",
"${target_gen_dir}/libjpeg-turbo-3.1.0/simd/arm/jfdctint-neon.c",
]
}
} else {
outputs += [ "${target_gen_dir}/libjpeg-turbo-2.1.1/jsimd_none.c" ]
outputs += [ "${target_gen_dir}/libjpeg-turbo-3.1.0/src/jsimd_none.c" ]
}
if (!defined(ohos_lite)) {
outputs += [
# enable arith codec
"${target_gen_dir}/libjpeg-turbo-2.1.1/jaricom.c",
"${target_gen_dir}/libjpeg-turbo-2.1.1/jcarith.c",
"${target_gen_dir}/libjpeg-turbo-2.1.1/jdarith.c",
"${target_gen_dir}/libjpeg-turbo-2.1.1/jdatadst-tj.c",
"${target_gen_dir}/libjpeg-turbo-2.1.1/jdatasrc-tj.c",
"${target_gen_dir}/libjpeg-turbo-2.1.1/rdbmp.c",
"${target_gen_dir}/libjpeg-turbo-2.1.1/rdppm.c",
"${target_gen_dir}/libjpeg-turbo-2.1.1/transupp.c",
"${target_gen_dir}/libjpeg-turbo-3.1.0/src/jaricom.c",
"${target_gen_dir}/libjpeg-turbo-3.1.0/src/jcarith.c",
"${target_gen_dir}/libjpeg-turbo-3.1.0/src/jdarith.c",
"${target_gen_dir}/libjpeg-turbo-3.1.0/src/jdatadst-tj.c",
"${target_gen_dir}/libjpeg-turbo-3.1.0/src/jdatasrc-tj.c",
"${target_gen_dir}/libjpeg-turbo-3.1.0/src/rdbmp.c",
"${target_gen_dir}/libjpeg-turbo-3.1.0/src/rdppm.c",
"${target_gen_dir}/libjpeg-turbo-3.1.0/src/transupp.c",
# enable turbo
"${target_gen_dir}/libjpeg-turbo-2.1.1/turbojpeg.c",
"${target_gen_dir}/libjpeg-turbo-2.1.1/wrbmp.c",
"${target_gen_dir}/libjpeg-turbo-2.1.1/wrppm.c",
"${target_gen_dir}/libjpeg-turbo-3.1.0/src/turbojpeg.c",
"${target_gen_dir}/libjpeg-turbo-3.1.0/src/wrbmp.c",
"${target_gen_dir}/libjpeg-turbo-3.1.0/src/wrppm.c",
]
}
inputs = [ "//third_party/libjpeg-turbo/libjpeg-turbo-2.1.1.tar.gz" ]
inputs = [ "//third_party/libjpeg-turbo/libjpeg-turbo-3.1.0.tar.gz" ]
libjpeg_path = rebase_path("${target_gen_dir}", root_build_dir)
libjpeg_source_path =
rebase_path("//third_party/libjpeg-turbo", root_build_dir)
@@ -167,7 +174,7 @@ if (mkernel || is_win) {
"-DNEON_INTRINSICS",
"-Wno-pointer-sign",
]
include_dirs += [ "${target_gen_dir}/libjpeg-turbo-2.1.1/simd/arm" ]
include_dirs += [ "${target_gen_dir}/libjpeg-turbo-3.1.0/simd/arm" ]
if (current_cpu == "arm") {
cflags += [
"-mfpu=neon",
@@ -186,7 +193,7 @@ if (!defined(ohos_lite)) {
}
config("turbojpeg_config") {
include_dirs += [ "${target_gen_dir}/libjpeg-turbo-2.1.1" ]
include_dirs += [ "${target_gen_dir}/libjpeg-turbo-3.1.0/src" ]
defines = define_config
}
+2 -2
View File
@@ -34,7 +34,7 @@
<filefilter name="defaultFilter" desc="Files not to check">
<filteritem type="filename" name="README.ijg" desc="license statement"/>
<filteritem type="filepath" name="release/*" desc="release notes and license statement"/>
<filteritem type="filepath" name="md5/*" desc="md5 tools for test"/>
<filteritem type="filepath" name="src/md5/*" desc="md5 tools for test"/>
<filteritem type="filepath" name="doc/*" desc="docs"/>
<filteritem type="filepath" name="testimages/*" desc="tests"/>
<filteritem type="filepath" name="ci/*" desc="ci config"/>
@@ -44,7 +44,7 @@
<filteritem type="filepath" name="projectroot/[a-zA-Z0-9]{20,}.sh" desc="Temp files"/>
<filteritem type="filename" name="*.tar.gz" desc="zip package"/>
<filteritem type="filename" name="*.spec" desc="configuration specification file"/>
<filteritem type="filepath" name="libjpeg-turbo-2.1.1/*" desc="zip package"/>
<filteritem type="filepath" name="libjpeg-turbo-3.1.0/*" desc="zip package"/>
</filefilter>
<filefilter name="defaultPolicyFilter" desc="Filters for compatibilitylicense header policies">
</filefilter>
+2 -2
View File
@@ -3,9 +3,9 @@
"Name": "openEuler:libjpeg-turbo",
"License": "JPEG License",
"License File": "LICENSE.md",
"Version Number": "2.1.1-5.oe2203sp3",
"Version Number": "3.1.0-1.oe2203sp1",
"Owner": "lizhiqi1@huawei.com",
"Upstream URL": "https://repo.openeuler.org/openEuler-22.03-LTS-SP3/source/Packages/libjpeg-turbo-2.1.1-5.oe2203sp3.src.rpm",
"Upstream URL": "https://repo.openeuler.org/openEuler-22.03-LTS-SP3/source/Packages/libjpeg-turbo-3.1.0-1.oe2203sp1.src.rpm",
"Description": "libjpeg-turbo is a JPEG image codec that uses SIMD instructions."
}
]
+5 -5
View File
@@ -36,11 +36,11 @@ def move_file(src_path, dst_path):
"libjpeg-turbo-2.1.x-bugfix.patch",
"liteos_adapting.patch",
"libjpeg-turbo-optimize.patch",
"jconfig.h",
"jconfigint.h",
"src/jconfig.h",
"src/jconfigint.h",
"jversion.h.in"
]
neon_compat_src_path = os.path.join(src_path, "neon-compat.h")
neon_compat_src_path = os.path.join(src_path, "src/neon-compat.h")
neon_compat_dst_path = os.path.join(dst_path, "simd/arm/neon-compat.h")
shutil.copy(neon_compat_src_path, neon_compat_dst_path)
for file in files:
@@ -77,8 +77,8 @@ def main():
freetype_path.add_argument('--gen-dir', help='generate path of log', required=True)
freetype_path.add_argument('--source-dir', help='generate path of log', required=True)
args = freetype_path.parse_args()
tar_file_path = os.path.join(args.source_dir, "libjpeg-turbo-2.1.1.tar.gz")
target_dir = os.path.join(args.gen_dir, "libjpeg-turbo-2.1.1")
tar_file_path = os.path.join(args.source_dir, "libjpeg-turbo-3.1.0.tar.gz")
target_dir = os.path.join(args.gen_dir, "libjpeg-turbo-3.1.0")
untar_file(tar_file_path, args.gen_dir)
move_file(args.source_dir, target_dir)
Binary file not shown.
File diff suppressed because it is too large Load Diff
Binary file not shown.
+41 -41
View File
@@ -1,7 +1,7 @@
diff --git a/cdjpeg.h b/cdjpeg.h
diff --git a/src/cdjpeg.h b/src/cdjpeg.h
index 082687c..840cd2d 100644
--- a/cdjpeg.h
+++ b/cdjpeg.h
--- a/src/cdjpeg.h
+++ b/src/cdjpeg.h
@@ -103,39 +103,39 @@ typedef struct cdjpeg_progress_mgr *cd_progress_ptr;
/* Module selection routines for I/O modules. */
@@ -61,10 +61,10 @@ index 082687c..840cd2d 100644
/* miscellaneous useful macros */
diff --git a/jchuff.h b/jchuff.h
diff --git a/src/jchuff.h b/src/jchuff.h
index da7809a..57e9f8c 100644
--- a/jchuff.h
+++ b/jchuff.h
--- a/src/jchuff.h
+++ b/src/jchuff.h
@@ -42,9 +42,9 @@ typedef struct {
} c_derived_tbl;
@@ -77,10 +77,10 @@ index da7809a..57e9f8c 100644
-EXTERN(void) jpeg_gen_optimal_table(j_compress_ptr cinfo, JHUFF_TBL *htbl,
+HIDE(EXTERN)(void) jpeg_gen_optimal_table(j_compress_ptr cinfo, JHUFF_TBL *htbl,
long freq[]);
diff --git a/jdatadst-tj.c b/jdatadst-tj.c
diff --git a/src/jdatadst-tj.c b/src/jdatadst-tj.c
index fdaa2de..dc53970 100644
--- a/jdatadst-tj.c
+++ b/jdatadst-tj.c
--- a/src/jdatadst-tj.c
+++ b/src/jdatadst-tj.c
@@ -27,7 +27,7 @@
extern void *malloc(size_t size);
extern void free(void *ptr);
@@ -90,10 +90,10 @@ index fdaa2de..dc53970 100644
unsigned long *outsize, boolean alloc);
diff --git a/jdatasrc-tj.c b/jdatasrc-tj.c
diff --git a/src/jdatasrc-tj.c b/src/jdatasrc-tj.c
index 69fb5ea..1808dd9 100644
--- a/jdatasrc-tj.c
+++ b/jdatasrc-tj.c
--- a/src/jdatasrc-tj.c
+++ b/src/jdatasrc-tj.c
@@ -23,7 +23,7 @@
#include "jpeglib.h"
#include "jerror.h"
@@ -103,10 +103,10 @@ index 69fb5ea..1808dd9 100644
unsigned long insize);
diff --git a/jdct.h b/jdct.h
diff --git a/src/jdct.h b/src/jdct.h
index 66d1718..7273ec0 100644
--- a/jdct.h
+++ b/jdct.h
--- a/src/jdct.h
+++ b/src/jdct.h
@@ -90,62 +90,62 @@ typedef FAST_FLOAT FLOAT_MULT_TYPE; /* preferred floating type */
/* Extern declarations for the forward and inverse DCT routines. */
@@ -191,10 +191,10 @@ index 66d1718..7273ec0 100644
jpeg_component_info *compptr, JCOEFPTR coef_block,
JSAMPARRAY output_buf, JDIMENSION output_col);
diff --git a/jdhuff.h b/jdhuff.h
diff --git a/src/jdhuff.h b/src/jdhuff.h
index cfa0b7f..6cc2344 100644
--- a/jdhuff.h
+++ b/jdhuff.h
--- a/src/jdhuff.h
+++ b/src/jdhuff.h
@@ -16,10 +16,55 @@
#include "jconfigint.h"
@@ -286,11 +286,11 @@ index cfa0b7f..6cc2344 100644
register bit_buf_type get_buffer,
register int bits_left, d_derived_tbl *htbl,
int min_bits);
diff --git a/jdhuff_opt.c b/jdhuff_opt.c
diff --git a/src/jdhuff_opt.c b/src/jdhuff_opt.c
new file mode 100644
index 0000000..5b1875c
--- /dev/null
+++ b/jdhuff_opt.c
+++ b/src/jdhuff_opt.c
@@ -0,0 +1,1046 @@
+/*
+ * jdhuff_opt.c
@@ -1338,10 +1338,10 @@ index 0000000..5b1875c
+ entropy->dc_derived_tbls[i] = entropy->ac_derived_tbls[i] = NULL;
+ }
+}
diff --git a/jdphuff.c b/jdphuff.c
diff --git a/src/jdphuff.c b/src/jdphuff.c
index c6d82ca..25e3b1d 100644
--- a/jdphuff.c
+++ b/jdphuff.c
--- a/src/jdphuff.c
+++ b/src/jdphuff.c
@@ -71,6 +71,129 @@ METHODDEF(boolean) decode_mcu_DC_refine(j_decompress_ptr cinfo,
METHODDEF(boolean) decode_mcu_AC_refine(j_decompress_ptr cinfo,
JBLOCKROW *MCU_data);
@@ -1495,10 +1495,10 @@ index c6d82ca..25e3b1d 100644
/* remember the single active table */
entropy->ac_derived_tbl = entropy->derived_tbls[tbl];
}
diff --git a/jmemsys.h b/jmemsys.h
diff --git a/src/jmemsys.h b/src/jmemsys.h
index 9229550..a17f46c 100644
--- a/jmemsys.h
+++ b/jmemsys.h
--- a/src/jmemsys.h
+++ b/src/jmemsys.h
@@ -31,8 +31,8 @@
* size of the object being freed, just in case it's needed.
*/
@@ -1547,10 +1547,10 @@ index 9229550..a17f46c 100644
-EXTERN(void) jpeg_mem_term(j_common_ptr cinfo);
+HIDE(EXTERN)(long) jpeg_mem_init(j_common_ptr cinfo);
+HIDE(EXTERN)(void) jpeg_mem_term(j_common_ptr cinfo);
diff --git a/jmorecfg.h b/jmorecfg.h
diff --git a/src/jmorecfg.h b/src/jmorecfg.h
index 1a63a14..f4b3903 100644
--- a/jmorecfg.h
+++ b/jmorecfg.h
--- a/src/jmorecfg.h
+++ b/src/jmorecfg.h
@@ -178,7 +178,12 @@ typedef unsigned int JDIMENSION;
#define GLOBAL(type) type
/* a reference to a GLOBAL function: */
@@ -1565,10 +1565,10 @@ index 1a63a14..f4b3903 100644
/* Originally, this macro was used as a way of defining function prototypes
* for both modern compilers as well as older compilers that did not support
diff --git a/jpegint.h b/jpegint.h
diff --git a/src/jpegint.h b/src/jpegint.h
index 8c85347..7798a89 100644
--- a/jpegint.h
+++ b/jpegint.h
--- a/src/jpegint.h
+++ b/src/jpegint.h
@@ -318,53 +318,53 @@ struct jpeg_color_quantizer {
@@ -1656,10 +1656,10 @@ index 8c85347..7798a89 100644
/* Constant tables in jutils.c */
#if 0 /* This table is not actually needed in v6a */
extern const int jpeg_zigzag_order[]; /* natural coef order to zigzag order */
diff --git a/jsimd.h b/jsimd.h
diff --git a/src/jsimd.h b/src/jsimd.h
index f3a87ee..ea094f6 100644
--- a/jsimd.h
+++ b/jsimd.h
--- a/src/jsimd.h
+++ b/src/jsimd.h
@@ -14,110 +14,110 @@
#include "jchuff.h" /* Declarations shared with jcphuff.c */
@@ -1809,10 +1809,10 @@ index f3a87ee..ea094f6 100644
+HIDE(EXTERN)(int) jsimd_encode_mcu_AC_refine_prepare
(const JCOEF *block, const int *jpeg_natural_order_start, int Sl, int Al,
UJCOEF *absvalues, size_t *bits);
diff --git a/jsimddct.h b/jsimddct.h
diff --git a/src/jsimddct.h b/src/jsimddct.h
index 55ee8cf..c19fe41 100644
--- a/jsimddct.h
+++ b/jsimddct.h
--- a/src/jsimddct.h
+++ b/src/jsimddct.h
@@ -9,62 +9,62 @@
*
*/
@@ -1904,10 +1904,10 @@ index 55ee8cf..c19fe41 100644
jpeg_component_info *compptr,
JCOEFPTR coef_block, JSAMPARRAY output_buf,
JDIMENSION output_col);
diff --git a/jutils.c b/jutils.c
diff --git a/src/jutils.c b/src/jutils.c
index 5c5bb17..cd14e74 100644
--- a/jutils.c
+++ b/jutils.c
--- a/src/jutils.c
+++ b/src/jutils.c
@@ -53,6 +53,27 @@ const int jpeg_zigzag_order[DCTSIZE2] = {
* fake entries.
*/
+12 -9
View File
@@ -1,6 +1,6 @@
Name: libjpeg-turbo
Version: 2.1.1
Release: 5
Version: 3.1.0
Release: 1
Summary: MMX/SSE2/SIMD accelerated libjpeg-compatible JPEG codec library
License: IJG
URL: http://sourceforge.net/projects/libjpeg-turbo
@@ -11,8 +11,8 @@ Patch0001: Add-loongarch64.patch
BuildRequires: gcc cmake libtool nasm
Obsoletes: libjpeg < 6b-47 turbojpeg < %{version}-%{release}
Provides: libjpeg = 6b-47 turbojpeg = %{version}-%{release}
Obsoletes: libjpeg < 6b-47 turbojpeg < %{version}-%{release}
Provides: libjpeg = 6b-47 turbojpeg = %{version}-%{release}
%description
libjpeg-turbo is a JPEG image codec that uses SIMD instructions (MMX, SSE2, NEON, AltiVec)
@@ -33,7 +33,7 @@ Development files for the libjpeg-turbo library.
%package utils
Summary: Utilities for manipulating JPEG images
Requires: libjpeg-turbo%{?_isa} = %{version}-%{release}
%description utils
The libjpeg-turbo-utils package contains simple client programs for accessing
the libjpeg functions. It contains cjpeg, djpeg, jpegtran, rdjpgcom and
@@ -44,14 +44,14 @@ JPEG file. Wrjpgcom inserts text comments into a JPEG file.
%package -n turbojpeg
Summary: TurboJPEG library
%description -n turbojpeg
The turbojpeg package contains the TurboJPEG shared library.
%package -n turbojpeg-devel
Summary: Headers for the TurboJPEG library
Requires: turbojpeg%{?_isa} = %{version}-%{release}
%description -n turbojpeg-devel
This package contains header files necessary for developing programs which will
manipulate JPEG files using the TurboJPEG library.
@@ -99,7 +99,7 @@ then
#endif
EOF
fi
%check
LD_LIBRARY_PATH=%{buildroot}%{_libdir} make test %{?_smp_mflags}
@@ -113,7 +113,7 @@ LD_LIBRARY_PATH=%{buildroot}%{_libdir} make test %{?_smp_mflags}
%exclude /usr/share/doc/libjpeg-turbo/*
%files devel
%doc coderules.txt jconfig.txt libjpeg.txt structure.txt example.txt
%doc coderules.txt jconfig.txt libjpeg.txt structure.txt example.txt
%exclude %{_includedir}/turbojpeg.h
%{_includedir}/*.h
%{_libdir}/libjpeg.so
@@ -144,6 +144,9 @@ LD_LIBRARY_PATH=%{buildroot}%{_libdir} make test %{?_smp_mflags}
%{_mandir}/man1/*.1*
%changelog
* Mon May 15 2025 guoqinglan <guoqinglan@kylinsec.com.cn> - 3.1.0-1
- fix build error for sw_64
* Mon Apr 24 2023 guoqinglan <guoqinglan@kylinsec.com.cn> - 2.1.1-5
- fix build error for sw_64
+10 -9
View File
@@ -1,20 +1,21 @@
diff --git a/libjpeg-turbo-2.1.1/jmorecfg.h b/libjpeg-turbo-2.1.1/jmorecfg.h
diff --git a/src/jmorecfg.h b/src/jmorecfg.h
index fb3a9cf..1a63a14 100644
--- a/jmorecfg.h
+++ b/jmorecfg.h
@@ -137,6 +137,7 @@ typedef short INT16;
--- a/src/jmorecfg.h
+++ b/src/jmorecfg.h
@@ -133,6 +133,7 @@ typedef short INT16;
* same regardless of any external headers that may be included.
*/
+#ifndef _LOS_COMPILER_H /* LiteOS-M defines INT32 in los_compiler.h */
+ #ifndef _LOS_COMPILER_H /* LiteOS-M defines INT32 in los_compiler.h */
#ifndef XMD_H /* X11/xmd.h correctly defines INT32 */
#ifndef _BASETSD_H_ /* Microsoft defines it in basetsd.h */
#ifndef _BASETSD_H /* MinGW is slightly different */
@@ -146,6 +147,7 @@ typedef long INT32;
@@ -141,6 +142,7 @@ typedef long INT32;
#endif
#endif
#endif
+#endif
#endif
/* Datatype used for image dimensions. The JPEG standard only supports
* images up to 64K*64K due to 16-bit fields in SOF markers. Therefore
View File
View File
View File