@ai-ecoverse/wasm-libheif
自由语 1.23.7 用于
块状原地域: 它解码
HEIF / HEIC (iPhone相片)和 AVIF. 它有三个命令: heif-convert, (中文(简体) ),
heif-dec (libheif的同名程序)和 heif-info。 。 。 .
还装了静态图书馆和信头 所以其他的Homecoop套件
可以链接它. @ai-ecoverse/wasm-imagemagick-heif 已经.
可选包,HEVC内部. HEIC图像为HEVC (H.265). 这个 包中包含一个HEVC解码器, 自由号265 1.1.3,和 HEVC是,我们 专利权: 根据使用地点和方式, 解码 HEVC 可能需要专利许可。 这就是为什么这个包裹 从来不是基础的一部分 设置:仅在您想要时安装。 AVIF 由 达夫1d 1.5.4(AV1,免使用费). 没有编码器(没有x265,没有aom).
pnpm add -g @ai-ecoverse/wasm-libheif
heif-info IMG_0001.HEIC
heif-convert IMG_0001.HEIC IMG_0001.png # or .jpg / .jpeg, -q 90 for JPEG quality
heif-convert --with-aux --no-colons portrait.heic p.png # p.png, p-depth.png, p-urn_com_apple_photo_2020_aux_hdrgainmap.png
heif-convert --with-exif IMG_0001.HEIC IMG_0001.jpg # IMG_0001.jpg + IMG_0001.exif
heif-convert photo.avif photo.png
heif-convert --list-decoders
- 一个文件中的若干图像 :
heif-convert multi.heic out.png写入out-1.png, (中文(简体) ),out-2.png每个顶级图像一个.--with-aux添加 辅助图像(iPhone肖像的深度图和HDR增益图). - 方向 : hEIF 旋转和镜像
irot编号 :imir适用, 故输出为正正. 一张iPhone仍然被收录在肖像里面 出来了 3024×4032 (英语). 由于像素已经旋转, EXIF 复制到 jPEG/PNG的取向重置为 1 .--with-exif写入 带有相机方向标记的原始 EXIF 到 a.exif下一个文件 到输出. - 输出格式 : PNG( 8 或 16 位, 图像有时带有α), JPEG和Y4M. TIFF和WebP输出不构建.
- 限制 : 没有线条(一个接一个地解码),没有
插件( e)
plugin path: plugins are disabled. 上游的标注速度 关闭 HEVC 解锁和SAO 的快捷键被补齐,所以 像素与本地的libheif相匹配. libheif的默认安全限制适用, 财务报告和审定财务报表--disable-limits抬起他们. - 退出状态 : 当输出无法写入时(缺少目录, a)
路径中的目录, 没有权限, 一个完整的磁盘 ,
heif-convert财务报告和审定财务报表heif-dec打印could not write image1号出口 上游出入口 0 那边;heif-dec-write-errors.patch修正,同样为了深度, 辅助,平板,序列,XMP和EXIF输出.
许可证
| 编 | 许可证 | 何处 |
|---|---|---|
第1.23.7节lib/libheif.a(中文(简体) ) | LGPL-3.0-或-后期 | LICENSE |
1.1.3 (单位:千美元)lib/libde265.a(中文(简体) ) | LGPL-3.0-或-后期 | LICENSE |
dav1d 1.5.4 (英语:lib/libdav1d.a(中文(简体) ) | BSD-2- 标签 | LICENSE |
| heif-dec, heif-info, heifio (libheif 示例) 互联网档案馆的存檔,存档日期2013-12-21 | 麻省理工学院 | LICENSE |
| zlib, libjpeg- turbo, libpng, 代理运行时间 | 参见通知 | THIRD-PARTY-NOTICES.md |
LICENSE 4个文本 THIRD-PARTY-NOTICES.md 拥有每个库
那个 bin/*.wasm 静态链接。 源头是上游释放
被钉入(用sha256)的焦油球
packages/libheif/recipe.yaml, (中文(简体) ),
加上旁边的三个补丁 build.sh 有完整的建筑.
重新连接( LGPL)
节目将Libheif和Libde265固定地联系起来,所以包裹船 所有你需要把它们与你自己的图书馆连接起来的东西:
lib/libheif.a, (中文(简体) ),lib/libde265.a, (中文(简体) ),lib/libdav1d.a, (中文(简体) ),include/libheif, (中文(简体) ),include/libde265, (中文(简体) ),include/dav1d财务报告和审定财务报表lib/pkgconfig/*.pc· ;share/libheif/relink/: 应用程序对象(heif-dec.a, (中文(简体) ),heif-info.a, (中文(简体) ),libheifio.a),它们使用的其他静态库 (单位:千美元)libpng16.a, (中文(简体) ),libjpeg.a, (中文(简体) ),libz.a, (中文(简体) ),libslicc-gaps.a, (中文(简体) ),libslicc_cred.a), 斯莱克链接旗帜(ldflags.txt,与每个--js-library他们的名字在js/和relink.sh。 。 。 .
与标注 4.0.23 (中文(简体) )emcc 路过:
cd node_modules/@ai-ecoverse/wasm-libheif
bash share/libheif/relink/relink.sh /tmp/relinked \
/path/to/your/libheif.a /path/to/your/libde265.a # defaults: lib/*.a
cp /tmp/relinked/heif-dec* /tmp/relinked/heif-info* bin/
构建替换库如 build.sh 是否为: emcmake cmake, (中文(简体) ),
静态, -fexceptions时,使用 -DHOMESCOOP_NO_EMBIND, (中文(简体) ),
-DENABLE_PLUGIN_LOADING=OFF 财务报告和审定财务报表 -DENABLE_MULTITHREADING_SUPPORT=OFF。 。 。 .
梯级- pr 运行此重链接到每个构建并检查重链接
heif-dec 反对东道方 libheif(cert/lib/relink-check.mjs) (中文(简体) ).
将 Libheif 连接到您的程序 :
PKG_CONFIG_PATH=$PWD/lib/pkgconfig pkg-config --static --cflags --libs libheif
给 -lheif -lde265 -ldav1d -lz链接到 -fexceptions。 。 。 .
测试
packages/libheif/cert 运行在硅核下。 它覆盖真实的 iPhone 文件
(一部iPhone 13 Pro Max还存;一部iPhone 13 Pro 肖像及其深度地图)
和 HDR 增益图),libheif 二相图例和 AVIF,奇数大小
(451x461, 1x1, 1023x769 at 16 bit),一个被旋转的文件,和腐败的输入. 每个
PNG通过样本与本次发布前产生的参考物进行对比,Homebrew的libheif 1.23.6. 多数产出
与主机相同。 一个是利比夫 example.heic 图像 1, 35
3 279 360个样本中,有1个不同,证书允许每个样本最多1个样本
最多0.01%的样本,其中每个样本均列于
cert/fixtures/references.json样本文件的来源和许可证
包含 cert/fixtures/fixtures.json。 。 。 .
1.23.7以来, heif-info 可以在不包含
解码它的图像。 使用 heif-convert 校验解码: cert 需要
断接的固定器会因范围出错而失败,没有输出.