feat(imaging): add pure-Rust JPEG 2000 backend (#109)
Some checks failed
CI / required (push) Failing after 3m18s
Some checks failed
CI / required (push) Failing after 3m18s
This commit is contained in:
@@ -12,6 +12,7 @@
|
||||
"compatibility-parity",
|
||||
"minimal-features",
|
||||
"jpeg2000",
|
||||
"rust-j2k",
|
||||
"skia-binary",
|
||||
"program-offline-smoke",
|
||||
"clippy",
|
||||
@@ -66,10 +67,10 @@
|
||||
},
|
||||
{
|
||||
"workflow": "jpeg2000.yml",
|
||||
"responsibility": "Optional OpenJPEG/JPEG 2000 feature build and tests",
|
||||
"responsibility": "Independent OpenJPEG and pure-Rust JPEG 2000 feature builds, tests, and interoperability",
|
||||
"destination": "required",
|
||||
"checks": ["jpeg2000"],
|
||||
"rationale": "The optional native codec is tested independently with an exact cached OpenJPEG 2.5.4 identity."
|
||||
"checks": ["jpeg2000", "rust-j2k"],
|
||||
"rationale": "The optional native codec is tested with exact OpenJPEG 2.5.4 and the pure-Rust codec is tested independently and together with it."
|
||||
},
|
||||
{
|
||||
"workflow": "performance.yml",
|
||||
@@ -89,7 +90,7 @@
|
||||
"workflow": "release-matrix.yml",
|
||||
"responsibility": "MSRV, default, minimal, features, release profiles, and portable cross-target checks",
|
||||
"destination": "split",
|
||||
"checks": ["minimal-features", "jpeg2000", "skia-binary", "msrv", "portable-cross-targets", "release-profile"],
|
||||
"checks": ["minimal-features", "jpeg2000", "rust-j2k", "skia-binary", "msrv", "portable-cross-targets", "release-profile"],
|
||||
"rationale": "Fast feature isolation remains required; clean MSRV, cross-target, and release-profile builds run non-routinely."
|
||||
},
|
||||
{
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
{ "name": "getrandom", "versions": ["0.4.3"], "purpose": "Operating-system entropy for protocol identifiers", "maintenance": "active", "transitive_cost": "low", "native": false, "rewrite_anchor": "`getrandom`" },
|
||||
{ "name": "goblin", "versions": ["0.10.5"], "purpose": "Cross-platform ELF, PE, and Mach-O release artifact inspection", "maintenance": "active", "transitive_cost": "low", "native": false, "rewrite_anchor": "`goblin`" },
|
||||
{ "name": "hound", "versions": ["3.5.1"], "purpose": "Bounded PCM WAV parsing for WebRTC playback", "maintenance": "stable", "transitive_cost": "low", "native": false, "rewrite_anchor": "`hound`" },
|
||||
{ "name": "j2k", "versions": ["0.8.1"], "purpose": "Opt-in pure-Rust bounded JPEG 2000 and JP2 encoding and decoding", "maintenance": "active", "transitive_cost": "medium", "native": false, "rewrite_anchor": "`j2k`" },
|
||||
{ "name": "mac_address2", "versions": ["2.0.2"], "purpose": "Cross-platform machine identity compatibility input", "maintenance": "active", "transitive_cost": "low", "native": false, "rewrite_anchor": "`mac_address2`" },
|
||||
{ "name": "md-5", "versions": ["0.10.6"], "purpose": "Legacy protocol checksum compatibility", "maintenance": "active", "transitive_cost": "low", "native": false, "rewrite_anchor": "`md-5`" },
|
||||
{ "name": "os_info", "versions": ["3.15.0"], "purpose": "Cross-platform login platform reporting", "maintenance": "active", "transitive_cost": "low", "native": false, "rewrite_anchor": "`os_info`" },
|
||||
|
||||
@@ -42,12 +42,12 @@
|
||||
"execution": "native",
|
||||
"toolchain": "1.96.0",
|
||||
"target": "x86_64-unknown-linux-gnu",
|
||||
"feature_sets": ["no-default-features"],
|
||||
"feature_sets": ["no-default-features", "rust-j2k"],
|
||||
"prerequisites": ["libopus-1.3"],
|
||||
"commands": [
|
||||
{
|
||||
"label": "Compile the portable public crates on the declared MSRV",
|
||||
"args": ["check", "--locked", "-j", "1", "--all-targets", "--no-default-features", "-p", "libremetaverse-types", "-p", "libremetaverse-structured-data", "-p", "libremetaverse-imaging", "-p", "libremetaverse-imaging-skia", "-p", "libremetaverse-prim-mesher", "-p", "libremetaverse-lsl-tools", "-p", "libremetaverse-rlv", "-p", "metacrate-ci-matrix"]
|
||||
"args": ["check", "--locked", "-j", "1", "--all-targets", "--no-default-features", "--features", "libremetaverse-imaging/rust-j2k", "-p", "libremetaverse-types", "-p", "libremetaverse-structured-data", "-p", "libremetaverse-imaging", "-p", "libremetaverse-imaging-skia", "-p", "libremetaverse-prim-mesher", "-p", "libremetaverse-lsl-tools", "-p", "libremetaverse-rlv", "-p", "metacrate-ci-matrix"]
|
||||
},
|
||||
{
|
||||
"label": "Compile the safe native Opus boundary and WebRTC voice on the declared MSRV",
|
||||
@@ -106,7 +106,7 @@
|
||||
"execution": "native",
|
||||
"toolchain": "stable",
|
||||
"target": "x86_64-unknown-linux-gnu",
|
||||
"feature_sets": ["all-features", "dds-bc67", "jpeg2000", "skia", "vorbis", "real-audio", "tests"],
|
||||
"feature_sets": ["all-features", "dds-bc67", "jpeg2000", "rust-j2k", "skia", "vorbis", "real-audio", "tests"],
|
||||
"prerequisites": ["openjpeg-2.5.4", "skia-safe-0.99.0", "libopus-1.3", "alsa-1.2", "vorbis-rs-0.5.6"],
|
||||
"commands": [
|
||||
{
|
||||
@@ -117,6 +117,14 @@
|
||||
"label": "Test the OpenJPEG feature independently",
|
||||
"args": ["test", "-p", "libremetaverse-imaging", "--no-default-features", "--features", "jpeg2000", "--locked", "-j", "1"]
|
||||
},
|
||||
{
|
||||
"label": "Test the pure-Rust JPEG 2000 feature independently",
|
||||
"args": ["test", "-p", "libremetaverse-imaging", "--no-default-features", "--features", "rust-j2k", "--locked", "-j", "1"]
|
||||
},
|
||||
{
|
||||
"label": "Test OpenJPEG and pure-Rust JPEG 2000 interoperability",
|
||||
"args": ["test", "-p", "libremetaverse-imaging", "--no-default-features", "--features", "jpeg2000,rust-j2k", "--locked", "-j", "1"]
|
||||
},
|
||||
{
|
||||
"label": "Test the Skia feature independently",
|
||||
"args": ["test", "-p", "libremetaverse-imaging-skia", "--no-default-features", "--features", "skia", "--locked", "-j", "1"]
|
||||
@@ -162,12 +170,12 @@
|
||||
"execution": "cross",
|
||||
"toolchain": "stable",
|
||||
"target": "x86_64-pc-windows-gnu",
|
||||
"feature_sets": ["no-default-features", "dds-bc67"],
|
||||
"feature_sets": ["no-default-features", "dds-bc67", "rust-j2k"],
|
||||
"prerequisites": [],
|
||||
"commands": [
|
||||
{
|
||||
"label": "Cross-check portable crates for Windows GNU",
|
||||
"args": ["check", "--locked", "-j", "1", "--target", "x86_64-pc-windows-gnu", "--all-targets", "--no-default-features", "-p", "libremetaverse-types", "-p", "libremetaverse-structured-data", "-p", "libremetaverse-imaging", "-p", "libremetaverse-imaging-skia", "-p", "libremetaverse-prim-mesher", "-p", "libremetaverse-lsl-tools", "-p", "libremetaverse-rlv", "-p", "metacrate-ci-matrix"]
|
||||
"args": ["check", "--locked", "-j", "1", "--target", "x86_64-pc-windows-gnu", "--all-targets", "--no-default-features", "--features", "libremetaverse-imaging/rust-j2k", "-p", "libremetaverse-types", "-p", "libremetaverse-structured-data", "-p", "libremetaverse-imaging", "-p", "libremetaverse-imaging-skia", "-p", "libremetaverse-prim-mesher", "-p", "libremetaverse-lsl-tools", "-p", "libremetaverse-rlv", "-p", "metacrate-ci-matrix"]
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -178,12 +186,12 @@
|
||||
"execution": "cross",
|
||||
"toolchain": "stable",
|
||||
"target": "x86_64-apple-darwin",
|
||||
"feature_sets": ["no-default-features", "dds-bc67"],
|
||||
"feature_sets": ["no-default-features", "dds-bc67", "rust-j2k"],
|
||||
"prerequisites": [],
|
||||
"commands": [
|
||||
{
|
||||
"label": "Cross-check portable crates for macOS",
|
||||
"args": ["check", "--locked", "-j", "1", "--target", "x86_64-apple-darwin", "--all-targets", "--no-default-features", "-p", "libremetaverse-types", "-p", "libremetaverse-structured-data", "-p", "libremetaverse-imaging", "-p", "libremetaverse-imaging-skia", "-p", "libremetaverse-prim-mesher", "-p", "libremetaverse-lsl-tools", "-p", "libremetaverse-rlv", "-p", "metacrate-ci-matrix"]
|
||||
"args": ["check", "--locked", "-j", "1", "--target", "x86_64-apple-darwin", "--all-targets", "--no-default-features", "--features", "libremetaverse-imaging/rust-j2k", "-p", "libremetaverse-types", "-p", "libremetaverse-structured-data", "-p", "libremetaverse-imaging", "-p", "libremetaverse-imaging-skia", "-p", "libremetaverse-prim-mesher", "-p", "libremetaverse-lsl-tools", "-p", "libremetaverse-rlv", "-p", "metacrate-ci-matrix"]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user