docs.rs failed to build ultrahdr-0.1.2
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Visit the last successful build:
ultrahdr-0.1.3
libultrahdr-rs
Rust bindings for Google's UltraHDR gain-map JPEG library with a small CLI. / 基于 Google libultrahdr 的 Rust 绑定与命令行工具。
Overview / 概览
ultrahdr-sys: raw FFI bindings tolibultrahdrbuilt via CMake. /ultrahdr-sys:通过 CMake 构建的libultrahdr原始 FFI 绑定。ultrahdr: safe-ish wrapper around the FFI types plus helpers for gain map metadata, packed buffers, and error handling. /ultrahdr:封装 FFI,提供增益图元数据、打包缓冲区和错误处理辅助。ultrahdr-bake: CLI that bakes an UltraHDR JPEG from an HDR (gain map) JPEG + SDR base JPEG, and can assemble Motion Photos (JPEG + MP4). /ultrahdr-bake:将 HDR(增益图)JPEG 与 SDR 基础 JPEG 合成为 UltraHDR JPEG,并可组装 Motion Photo(JPEG + MP4)。- Upstream sources live in the
ultrahdr-sys/libultrahdrsubmodule (Apache-2.0). / 上游源码存放在ultrahdr-sys/libultrahdr子模块(Apache-2.0)。 ultrahdr-browser: Vite/React demo that runsultrahdr-bakevia WASI in the browser; /ultrahdr-browser:基于 Vite/React 的浏览器演示,通过 WASI 运行ultrahdr-bake
Repository layout / 目录结构
ultrahdr-sys/: build script, bindgen output, and generatedsysAPIs. /ultrahdr-sys/:构建脚本、bindgen 输出与底层sys接口。ultrahdr/: ergonomic wrapper plusexamples/ultrahdr_app.rssample. /ultrahdr/:易用封装与示例examples/ultrahdr_app.rs。ultrahdr-bake/: end-user CLI for baking UltraHDR JPEGs and assembling Motion Photos. /ultrahdr-bake/:面向用户的 UltraHDR 生成命令行,并可组装 Motion Photo。ultrahdr-sys/libultrahdr/: upstream C/C++ sources pulled as a git submodule. /ultrahdr-sys/libultrahdr/:上游 C/C++ 源码子模块。
Prerequisites / 前置依赖
- Initialize submodules:
git submodule update --init --recursive. / 初始化子模块:git submodule update --init --recursive。 - Build tools:
cmake,ninja(optional but faster),nasm,pkg-config; install EGL/GLES dev packages when enabling theglesfeature. / 构建工具:cmake、ninja(可选)、nasm、pkg-config;启用gles特性时需安装 EGL/GLES 开发包。 - By default the
vendoredfeature builds libjpeg-turbo and friends; disable it to link against system libs. / 默认启用vendored从源码构建 libjpeg-turbo 等依赖;若要链接系统库可关闭该特性。 - To point at an existing
libultrahdrcheckout, setULTRAHDR_SRC_DIR=/path/to/libultrahdr. / 若已有libultrahdr源码,可设置ULTRAHDR_SRC_DIR=/path/to/libultrahdr。
Quick start / 快速开始
# Build the CLI with default features (vendored, iso21496)
# Encode using explicit HDR/SDR inputs
# Or let the tool auto-detect which JPEG is HDR vs SDR
# Build a Motion Photo (v2 metadata) from a still + MP4
# Build the browser demo (wasm + Vite/React)
使用默认特性构建 CLI 并编码 UltraHDR 的示例如上。
Browser demo: deploys under root by default; GitHub Pages build sets VITE_BASE_PATH=/libultrahdr-rs/. The wasm (ultrahdr-bake.wasm) is fetched relative to import.meta.env.BASE_URL. /
浏览器演示:默认以根路径部署;在 GitHub Pages 上构建时使用 VITE_BASE_PATH=/libultrahdr-rs/,WASM(ultrahdr-bake.wasm)从 import.meta.env.BASE_URL 相对路径加载。
Library usage / 库用法示例
use ;
解码 UltraHDR JPEG 并再次编码的简要示例。
Features / 可选特性
vendored(default): build libjpeg-turbo and other deps from source. /vendored(默认):从源码构建 libjpeg-turbo 等依赖。shared: link dynamically againstlibuhdr. /shared:动态链接libuhdr。gles: enable EGL/GLES support in upstream CMake. /gles:在上游启用 EGL/GLES 支持。iso21496(default): emit ISO/TS 21496-1 gain map metadata. /iso21496(默认):写入 ISO/TS 21496-1 增益图元数据。
Tests / 测试
Run with all features enabled to mirror CI. / 建议启用全部特性以对齐 CI。
License / 许可证
Apache-2.0, matching upstream libultrahdr. / 与上游 libultrahdr 相同的 Apache-2.0 许可。