From 24eb83d71bd546126ebbd5e5ca00fa6759b589a9 Mon Sep 17 00:00:00 2001 From: wupingyuan Date: Sat, 6 May 2023 18:05:17 +0800 Subject: [PATCH] add jbig2dec Signed-off-by: wupingyuan --- thirdparty/jbig2dec/HPKBUILD | 74 ++++++++++++++++++ thirdparty/jbig2dec/README.OpenSource | 11 +++ thirdparty/jbig2dec/README_zh.md | 12 +++ thirdparty/jbig2dec/SHA512SUM | 1 + thirdparty/jbig2dec/docs/hap_integrate.md | 71 +++++++++++++++++ .../docs/pic/jbig2dec_install_dir.jpg | Bin 0 -> 17249 bytes .../jbig2dec/docs/pic/jbig2dec_test.jpg | Bin 0 -> 43903 bytes .../jbig2dec/docs/pic/jbig2dec_usage.jpg | Bin 0 -> 32390 bytes 8 files changed, 169 insertions(+) create mode 100644 thirdparty/jbig2dec/HPKBUILD create mode 100644 thirdparty/jbig2dec/README.OpenSource create mode 100644 thirdparty/jbig2dec/README_zh.md create mode 100644 thirdparty/jbig2dec/SHA512SUM create mode 100644 thirdparty/jbig2dec/docs/hap_integrate.md create mode 100644 thirdparty/jbig2dec/docs/pic/jbig2dec_install_dir.jpg create mode 100644 thirdparty/jbig2dec/docs/pic/jbig2dec_test.jpg create mode 100644 thirdparty/jbig2dec/docs/pic/jbig2dec_usage.jpg diff --git a/thirdparty/jbig2dec/HPKBUILD b/thirdparty/jbig2dec/HPKBUILD new file mode 100644 index 00000000..5233c8bc --- /dev/null +++ b/thirdparty/jbig2dec/HPKBUILD @@ -0,0 +1,74 @@ +# Contributor: wupingyuan +# Maintainer: wupingyuan +pkgname=jbig2dec +pkgver=0.19 +pkgrel=0 +pkgdesc="jbig2dec is a decoder library and example utility implementing the JBIG2 bi-level image compression spec. Also known as ITU T.88 and ISO IEC 14492, and included by reference in Adobe's PDF version 1.4 and later." +url="https://jbig2dec.com/" +archs=("armeabi-v7a" "arm64-v8a") +license=("AGPLv3") +depends=() +makedepends=() +install= +source="https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs9533/$pkgname-$pkgver.tar.gz" + +autounpack=true +downloadpackage=true +buildtools="configure" +builddir=$pkgname-$pkgver +packagename=$builddir.tar.gz +source envset.sh +host= + +prepare() { + cp -rf $builddir $pkgname-$ARCH-build + if [ $ARCH == ${archs[0]} ] + then + setarm32ENV + host=arm-linux + fi + if [ $ARCH == ${archs[1]} ] + then + setarm64ENV + host=aarch64-linux + fi + cd $pkgname-$ARCH-build + ./autogen.sh > `pwd`/build.log 2>&1 + cd $OLDPWD +} + +build() { + cd $pkgname-$ARCH-build + ./configure "$@" --host=$host >> `pwd`/build.log 2>&1 + make -j4 >> `pwd`/build.log 2>&1 + ret=$? + cd $OLDPWD + return $ret +} + +package() { + cd $pkgname-$ARCH-build + make install >> `pwd`/build.log 2>&1 + ret=$? + cd $OLDPWD + if [ $ARCH == ${archs[0]} ] + then + unsetarm32ENV + fi + if [ $ARCH == ${archs[1]} ] + then + unsetarm64ENV + fi + unset host + return $ret +} + +check() { + echo "The test must be on an OpenHarmony device!" + # 在OpenHarmony开发板中执行用例 + # make check-TESTS +} + +cleanbuild(){ + rm -rf ${PWD}/$builddir $builddir-armeabi-v7a-build $builddir-arm64-v8a-build #${PWD}/$packagename +} \ No newline at end of file diff --git a/thirdparty/jbig2dec/README.OpenSource b/thirdparty/jbig2dec/README.OpenSource new file mode 100644 index 00000000..2e9c095a --- /dev/null +++ b/thirdparty/jbig2dec/README.OpenSource @@ -0,0 +1,11 @@ +[ + { + "Name": "jbig2dec", + "License": "AGPLv3", + "License File": "LICENSE", + "Version Number": "0.19", + "Owner": "wupingyuan@huawei.com", + "Upstream URL": "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs9533/jbig2dec-0.19.tar.gz", + "Description": "jbig2dec is a decoder library and example utility implementing the JBIG2 bi-level image compression spec. Also known as ITU T.88 and ISO IEC 14492, and included by reference in Adobe's PDF version 1.4 and later." + } +] diff --git a/thirdparty/jbig2dec/README_zh.md b/thirdparty/jbig2dec/README_zh.md new file mode 100644 index 00000000..625d49f0 --- /dev/null +++ b/thirdparty/jbig2dec/README_zh.md @@ -0,0 +1,12 @@ +# jbig2dec三方库说明 +## 功能简介 +jbig2dec是JBIG2图像压缩格式的解码器实现。 +## 使用约束 +- IDE版本:DevEco Studio 3.1 Release +- SDK版本:ohos_sdk_public 3.2.11.9 (API Version 9 Release) +- 三方库版本:0.19 +- 当前适配的功能:JBIG2图像压缩格式的解码 +- [AGPLv3](https://jbig2dec.com/) + +## 集成方式 ++ [应用hap包集成](docs/hap_integrate.md) diff --git a/thirdparty/jbig2dec/SHA512SUM b/thirdparty/jbig2dec/SHA512SUM new file mode 100644 index 00000000..5eaec21f --- /dev/null +++ b/thirdparty/jbig2dec/SHA512SUM @@ -0,0 +1 @@ +0d3ec8123b446b5b74846b189004c188e82cdf7b1c7ec3e02f98892aaa249fba0b0fe7f1db7036f2571b0ef2a5df22d1997d3d3f5479c9bef7851bf114134737 jbig2dec-0.19.tar.gz \ No newline at end of file diff --git a/thirdparty/jbig2dec/docs/hap_integrate.md b/thirdparty/jbig2dec/docs/hap_integrate.md new file mode 100644 index 00000000..41b939b2 --- /dev/null +++ b/thirdparty/jbig2dec/docs/hap_integrate.md @@ -0,0 +1,71 @@ +# jbig2dec集成到应用hap +本库是在RK3568开发板上基于OpenHarmony3.2 Release版本的镜像验证的,如果是从未使用过RK3568,可以先查看[润和RK3568开发板标准系统快速上手](https://gitee.com/openharmony-sig/knowledge_demo_temp/tree/master/docs/rk3568_helloworld)。 +## 开发环境 +- ubuntu20.04 +- [OpenHarmony3.2Release镜像](https://gitee.com/link?target=https%3A%2F%2Frepo.huaweicloud.com%2Fopenharmony%2Fos%2F3.2-Release%2Fdayu200_standard_arm32.tar.gz) +- [ohos_sdk_public 3.2.11.9 (API Version 9 Release)](https://gitee.com/link?target=https%3A%2F%2Frepo.huaweicloud.com%2Fopenharmony%2Fos%2F3.2-Release%2Fohos-sdk-windows_linux-public.tar.gz) +- [DevEco Studio 3.1 Beta2](https://gitee.com/link?target=https%3A%2F%2Fcontentcenter-vali-drcn.dbankcdn.cn%2Fpvt_2%2FDeveloperAlliance_package_901_9%2Ff3%2Fv3%2FuJyuq3syQ2ak4hE1QZmAug%2Fdevecostudio-windows-3.1.0.400.zip%3FHW-CC-KV%3DV1%26HW-CC-Date%3D20230408T013335Z%26HW-CC-Expire%3D315360000%26HW-CC-Sign%3D96262721EDC9B34E6F62E66884AB7AE2A94C2A7B8C28D6F7FC891F46EB211A70) +- [准备三方库构建环境](../../../tools/README.md#编译环境准备) +- [准备三方库测试环境](../../../tools/README.md#ci环境准备) +## 编译三方库 +- 下载本仓库 + ``` + git clone https://gitee.com/openharmony-sig/tpc_c_cplusplus.git --depth=1 + ``` +- 三方库目录结构 + ``` + tpc_c_cplusplus/thirdparty/jbig2dec #三方库jbig2dec的目录结构如下 + ├── docs #三方库相关文档的文件夹 + ├── HPKBUILD #构建脚本 + ├── SHA512SUM #三方库校验文件 + ├── README.OpenSource #说明三方库源码的下载地址,版本,license等信息 + ├── README_zh.md + ``` + +- 将jbig2dec拷贝至tools/main目录下 + ``` + cd tpc_c_cplusplus + cp thirdparty/jbig2dec tools/main -rf + ``` +- 在tools目录下编译三方库 + 编译环境的搭建参考[准备三方库构建环境](../../../tools/README.md#编译环境准备) + ``` + cd tools + ./build.sh jbig2dec + ``` +- 三方库头文件及生成的库 + 在tools目录下会生成usr目录,该目录下存在已编译完成的32位和64位三方库 + ``` + jbig2dec-arm64-v8a-install jbig2dec-armeabi-v7a-install + ``` + +- [测试三方库](#测试三方库) + +## 应用中使用三方库 + +- 在IDE的cpp目录下新增thirdparty目录,将编译生成的库拷贝到该目录下,如下图所示 + ![thirdparty_install_dir](pic/jbig2dec_install_dir.jpg) +- 在最外层(cpp目录下)CMakeLists.txt中添加如下语句 + ``` + #将三方库加入工程中 + add_library(jbig2dec SHARED IMPORTED) + set_target_properties(jbig2dec + PROPERTIES IMPORTED_LOCATION + ${CMAKE_SOURCE_DIR}/../../../libs/${OHOS_ARCH}/libjbig2dec.so) + target_link_libraries(entry PUBLIC libace_napi.z.so jbig2dec) + #将三方库的头文件加入工程中 + target_include_directories(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/jbig2dec-${OHOS_ARCH}-install/include) + ``` + ![jbig2dec_usage](pic/jbig2dec_usage.jpg) +## 测试三方库 +三方库的测试使用原库自带的测试用例来做测试,[准备三方库测试环境](../../../tools/README.md#ci环境准备) + +进入到构建目录执行make check运行测试用例(arm64-v8a-build为构建64位的目录,armeabi-v7a-build为构建32位的目录) + + ![jbig2dec_test](pic/jbig2dec_test.jpg) + +## 参考资料 +- [润和RK3568开发板标准系统快速上手](https://gitee.com/openharmony-sig/knowledge_demo_temp/tree/master/docs/rk3568_helloworld) +- [OpenHarmony三方库地址](https://gitee.com/openharmony-tpc) +- [OpenHarmony知识体系](https://gitee.com/openharmony-sig/knowledge) +- [通过DevEco Studio开发一个NAPI工程](https://gitee.com/openharmony-sig/knowledge_demo_temp/blob/master/docs/napi_study/docs/hello_napi.md) diff --git a/thirdparty/jbig2dec/docs/pic/jbig2dec_install_dir.jpg b/thirdparty/jbig2dec/docs/pic/jbig2dec_install_dir.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c90871a39bdbd1871f114462890a9c003471cbfb GIT binary patch literal 17249 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 literal 0 HcmV?d00001 diff --git a/thirdparty/jbig2dec/docs/pic/jbig2dec_test.jpg b/thirdparty/jbig2dec/docs/pic/jbig2dec_test.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a82eee48fdc53f5ff4f65fc1dc396891fb1f0790 GIT binary patch literal 43903 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 literal 0 HcmV?d00001 diff --git a/thirdparty/jbig2dec/docs/pic/jbig2dec_usage.jpg b/thirdparty/jbig2dec/docs/pic/jbig2dec_usage.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9f7b07a5e22ef206f0205cce748030ea1df31df7 GIT binary patch literal 32390 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 literal 0 HcmV?d00001 -- Gitee