Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 7 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -153,7 +153,7 @@ jobs:
- uses: dtolnay/rust-toolchain@master
with:
toolchain: "1.92.0"
targets: aarch64-apple-darwin,x86_64-unknown-linux-musl
targets: aarch64-apple-darwin,aarch64-linux-android,x86_64-unknown-linux-musl
- uses: Swatinem/rust-cache@v2
- name: Invalid combos must fail with the compile_error text
run: |
Expand Down Expand Up @@ -182,6 +182,12 @@ jobs:
run: |
# Explicit pin on its native target.
cargo check -p rawshift-image --no-default-features --features hw-vaapi --target x86_64-unknown-linux-gnu
# Android's Java API is needed only at runtime; `cargo check` on a
# Linux runner fully type-checks the JNI/NDK implementation and the
# public re-exports without an emulator or cross linker.
cargo check -p rawshift-hwdec --features mediacodec --target aarch64-linux-android
cargo check -p rawshift-image --no-default-features --features hw-mediacodec --target aarch64-linux-android
cargo check -p rawshift --no-default-features --features image,hw-mediacodec --target aarch64-linux-android
# The portable `hw` is valid everywhere: it selects the native
# backend where one exists and compiles the no-backend stub (with a
# build-script warning) where none does (musl).
Expand Down
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
/target
/android/mediacodec-harness/.gradle/
/android/mediacodec-harness/app/build/
/android/mediacodec-harness/native/target/
/android/mediacodec-harness/local.properties

.DS_Store

Expand Down
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,11 @@ All entries below are **breaking**, grouped by area.

#### Per-codec migrations (`rawshift-image`)

- **Android hardware decode** now implements the fixed MediaCodec backend for
HEVC/HEIC and AV1/AVIF on API 29+. Applications initialize it once with the
process `JavaVM`; hardware, non-alias components are runtime-probed. Output
is dense I420, or strict P010 on API 33+ with no silent downconversion.

- **JPEG** → gamut-jpeg (pure Rust, baseline + progressive both ways).
Decode replaces `zune-jpeg` (CMYK/YCCK conversion bit-identical); encode
replaces `jpeg-encoder` **and** the vendored jpegli stack with one
Expand Down
Loading
Loading