flashraw 0.1.0__tar.gz → 0.2.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {flashraw-0.1.0 → flashraw-0.2.0}/Cargo.lock +11 -11
- {flashraw-0.1.0 → flashraw-0.2.0}/Cargo.toml +7 -7
- {flashraw-0.1.0 → flashraw-0.2.0}/PKG-INFO +28 -4
- {flashraw-0.1.0 → flashraw-0.2.0}/README.md +21 -2
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw/README.md +17 -0
- flashraw-0.2.0/crates/flashraw/src/ahd.rs +539 -0
- flashraw-0.2.0/crates/flashraw/src/bayer_alt.rs +454 -0
- flashraw-0.2.0/crates/flashraw/src/ca.rs +427 -0
- flashraw-0.2.0/crates/flashraw/src/camera_profile.rs +625 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw/src/color.rs +5 -5
- flashraw-0.2.0/crates/flashraw/src/edgeaware/bayer.bin +0 -0
- flashraw-0.2.0/crates/flashraw/src/edgeaware/mod.rs +1205 -0
- flashraw-0.2.0/crates/flashraw/src/edgeaware/xtrans.bin +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw/src/gpu.rs +96 -2
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw/src/icc.rs +9 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw/src/lib.rs +95 -9
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw/src/opcodes.rs +16 -2
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw/src/options.rs +288 -6
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw/src/process.rs +1044 -76
- flashraw-0.2.0/crates/flashraw-camera-db/README.md +37 -0
- flashraw-0.2.0/crates/flashraw-codecs/README.md +28 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-codecs/src/kodak.rs +17 -8
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-codecs/src/packed.rs +14 -2
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-codecs/src/panasonic.rs +36 -6
- flashraw-0.2.0/crates/flashraw-core/README.md +28 -0
- flashraw-0.2.0/crates/flashraw-core/src/camera_profile.rs +396 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-core/src/lib.rs +2 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-core/src/metadata.rs +5 -0
- flashraw-0.2.0/crates/flashraw-formats/README.md +28 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-formats/src/dng.rs +1 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-formats/src/kodak.rs +23 -12
- flashraw-0.2.0/crates/flashraw-gpu/README.md +29 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-gpu/shaders/develop.wgsl +7 -1
- flashraw-0.2.0/crates/flashraw-gpu/shaders/edge.wgsl +650 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-gpu/src/context.rs +83 -3
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-gpu/src/kernels.rs +69 -2
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-gpu/src/lib.rs +1 -1
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-gpu/src/policy.rs +40 -1
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-gpu/src/run.rs +212 -4
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-python/README.md +21 -2
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-python/src/rawfile.rs +60 -9
- flashraw-0.2.0/crates/flashraw-python/tests/test_camera_profile.py +87 -0
- flashraw-0.2.0/crates/flashraw-python/tests/test_develop_options.py +37 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-python/tests/test_errors.py +1 -1
- {flashraw-0.1.0 → flashraw-0.2.0}/pyproject.toml +6 -1
- {flashraw-0.1.0 → flashraw-0.2.0}/python/flashraw/__init__.py +66 -3
- {flashraw-0.1.0 → flashraw-0.2.0}/python/flashraw/_flashraw.pyi +8 -1
- flashraw-0.1.0/crates/flashraw-camera-db/README.md +0 -20
- flashraw-0.1.0/crates/flashraw-codecs/README.md +0 -11
- flashraw-0.1.0/crates/flashraw-core/README.md +0 -11
- flashraw-0.1.0/crates/flashraw-formats/README.md +0 -11
- flashraw-0.1.0/crates/flashraw-gpu/README.md +0 -12
- {flashraw-0.1.0 → flashraw-0.2.0}/LICENSE-APACHE +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/LICENSE-MIT +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw/Cargo.toml +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw/LICENSE-APACHE +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw/LICENSE-MIT +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw/benches/kernels.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw/src/fallback.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw/src/frame.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw/src/source.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw/src/stagger.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-camera-db/Cargo.toml +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-camera-db/LICENSE-APACHE +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-camera-db/LICENSE-MIT +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-camera-db/build.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-camera-db/data/cameras.json +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-camera-db/src/lib.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-camera-db/src/schema.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-camera-db/src/tooling.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-codecs/Cargo.toml +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-codecs/LICENSE-APACHE +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-codecs/LICENSE-MIT +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-codecs/src/canon_cr2.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-codecs/src/canon_crw.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-codecs/src/canon_crx/bits.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-codecs/src/canon_crx/entropy.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-codecs/src/canon_crx/layout.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-codecs/src/canon_crx/mod.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-codecs/src/canon_crx/plane.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-codecs/src/canon_crx/wavelet.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-codecs/src/canon_sraw.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-codecs/src/dct12.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-codecs/src/deflate.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-codecs/src/dng_opcodes.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-codecs/src/fuji_compressed.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-codecs/src/hasselblad.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-codecs/src/jpeg.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-codecs/src/jxl.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-codecs/src/leaf.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-codecs/src/lib.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-codecs/src/ljpeg.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-codecs/src/ljpeg_par.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-codecs/src/misc_packed.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-codecs/src/nikon_huffman.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-codecs/src/nikon_packed.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-codecs/src/olympus.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-codecs/src/par_entropy.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-codecs/src/pentax_huffman.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-codecs/src/phaseone.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-codecs/src/samsung.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-codecs/src/sony_arw1.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-codecs/src/sony_arw2.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-codecs/src/sony_arw6.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-codecs/src/sony_arw6_curve.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-codecs/src/sony_ycc.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-codecs/src/vc5.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-codecs/src/x3f.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-core/Cargo.toml +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-core/LICENSE-APACHE +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-core/LICENSE-MIT +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-core/src/bits.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-core/src/bmff.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-core/src/bytes.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-core/src/decoder.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-core/src/error.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-core/src/exif.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-core/src/huffman.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-core/src/image.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-core/src/integrity.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-core/src/orientation.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-core/src/par.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-core/src/profile.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-core/src/simd.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-core/src/tiff.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-core/src/types.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-formats/Cargo.toml +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-formats/LICENSE-APACHE +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-formats/LICENSE-MIT +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-formats/src/canon/cr2.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-formats/src/canon/cr3/container.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-formats/src/canon/cr3/mod.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-formats/src/canon/cr3/tests.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-formats/src/canon/crw.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-formats/src/canon/geometry.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-formats/src/canon/makernote.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-formats/src/canon/mod.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-formats/src/common.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-formats/src/fuji.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-formats/src/hasselblad.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-formats/src/lib.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-formats/src/medium/epson.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-formats/src/medium/mamiya.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-formats/src/medium/mod.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-formats/src/medium/sinar.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-formats/src/minolta.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-formats/src/misc/arri.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-formats/src/misc/mod.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-formats/src/misc/naked.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-formats/src/misc/rpi.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-formats/src/misc/tiff_ep.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-formats/src/nikon/conventions.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-formats/src/nikon/crypt.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-formats/src/nikon/makernote.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-formats/src/nikon/mod.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-formats/src/olympus.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-formats/src/orientation.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-formats/src/panasonic.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-formats/src/pentax.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-formats/src/phaseone.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-formats/src/samsung.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-formats/src/sigma/camf.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-formats/src/sigma/mod.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-formats/src/sony/crypt.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-formats/src/sony/mod.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-formats/src/sony/model_id.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-formats/src/sony/robustness.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-formats/src/sony/srf.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-formats/src/sony/table.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-gpu/Cargo.toml +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-gpu/LICENSE-APACHE +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-gpu/LICENSE-MIT +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-gpu/benches/gpu_pipeline.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-gpu/shaders/common.wgsl +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-gpu/shaders/normalize.wgsl +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-gpu/shaders/to_texture.wgsl +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-gpu/shaders/unpack.wgsl +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-gpu/src/image.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-gpu/src/oneshot.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-python/Cargo.toml +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-python/LICENSE-APACHE +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-python/LICENSE-MIT +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-python/bench/bench.py +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-python/src/convert.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-python/src/lib.rs +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-python/tests/conftest.py +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-python/tests/test_api.py +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-python/tests/test_color.py +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-python/tests/test_corpus.py +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-python/tests/test_threads.py +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/crates/flashraw-python/tests/test_zero_copy.py +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/python/flashraw/_errors.py +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/python/flashraw/_types.py +0 -0
- {flashraw-0.1.0 → flashraw-0.2.0}/python/flashraw/py.typed +0 -0
|
@@ -448,7 +448,7 @@ checksum = "aedcfb3409746eddb02b9e19ebda1c3394f759a152e48ee875a0844d1b955484"
|
|
|
448
448
|
|
|
449
449
|
[[package]]
|
|
450
450
|
name = "flashraw"
|
|
451
|
-
version = "0.
|
|
451
|
+
version = "0.2.0"
|
|
452
452
|
dependencies = [
|
|
453
453
|
"criterion",
|
|
454
454
|
"flashraw-camera-db",
|
|
@@ -465,7 +465,7 @@ dependencies = [
|
|
|
465
465
|
|
|
466
466
|
[[package]]
|
|
467
467
|
name = "flashraw-camera-db"
|
|
468
|
-
version = "0.
|
|
468
|
+
version = "0.2.0"
|
|
469
469
|
dependencies = [
|
|
470
470
|
"serde",
|
|
471
471
|
"serde_json",
|
|
@@ -473,7 +473,7 @@ dependencies = [
|
|
|
473
473
|
|
|
474
474
|
[[package]]
|
|
475
475
|
name = "flashraw-capi"
|
|
476
|
-
version = "0.
|
|
476
|
+
version = "0.2.0"
|
|
477
477
|
dependencies = [
|
|
478
478
|
"flashraw",
|
|
479
479
|
"memmap2",
|
|
@@ -482,7 +482,7 @@ dependencies = [
|
|
|
482
482
|
|
|
483
483
|
[[package]]
|
|
484
484
|
name = "flashraw-cli"
|
|
485
|
-
version = "0.
|
|
485
|
+
version = "0.2.0"
|
|
486
486
|
dependencies = [
|
|
487
487
|
"clap",
|
|
488
488
|
"flashraw",
|
|
@@ -495,7 +495,7 @@ dependencies = [
|
|
|
495
495
|
|
|
496
496
|
[[package]]
|
|
497
497
|
name = "flashraw-codecs"
|
|
498
|
-
version = "0.
|
|
498
|
+
version = "0.2.0"
|
|
499
499
|
dependencies = [
|
|
500
500
|
"flashraw-core",
|
|
501
501
|
"jxl-oxide",
|
|
@@ -508,7 +508,7 @@ dependencies = [
|
|
|
508
508
|
|
|
509
509
|
[[package]]
|
|
510
510
|
name = "flashraw-core"
|
|
511
|
-
version = "0.
|
|
511
|
+
version = "0.2.0"
|
|
512
512
|
dependencies = [
|
|
513
513
|
"libc",
|
|
514
514
|
"proptest",
|
|
@@ -519,7 +519,7 @@ dependencies = [
|
|
|
519
519
|
|
|
520
520
|
[[package]]
|
|
521
521
|
name = "flashraw-formats"
|
|
522
|
-
version = "0.
|
|
522
|
+
version = "0.2.0"
|
|
523
523
|
dependencies = [
|
|
524
524
|
"flashraw-camera-db",
|
|
525
525
|
"flashraw-codecs",
|
|
@@ -529,7 +529,7 @@ dependencies = [
|
|
|
529
529
|
|
|
530
530
|
[[package]]
|
|
531
531
|
name = "flashraw-gpu"
|
|
532
|
-
version = "0.
|
|
532
|
+
version = "0.2.0"
|
|
533
533
|
dependencies = [
|
|
534
534
|
"bytemuck",
|
|
535
535
|
"flashraw",
|
|
@@ -542,7 +542,7 @@ dependencies = [
|
|
|
542
542
|
|
|
543
543
|
[[package]]
|
|
544
544
|
name = "flashraw-libraw-compat"
|
|
545
|
-
version = "0.
|
|
545
|
+
version = "0.2.0"
|
|
546
546
|
dependencies = [
|
|
547
547
|
"flashraw",
|
|
548
548
|
"libc",
|
|
@@ -550,7 +550,7 @@ dependencies = [
|
|
|
550
550
|
|
|
551
551
|
[[package]]
|
|
552
552
|
name = "flashraw-python"
|
|
553
|
-
version = "0.
|
|
553
|
+
version = "0.2.0"
|
|
554
554
|
dependencies = [
|
|
555
555
|
"flashraw",
|
|
556
556
|
"memmap2",
|
|
@@ -562,7 +562,7 @@ dependencies = [
|
|
|
562
562
|
|
|
563
563
|
[[package]]
|
|
564
564
|
name = "flashraw-wasm"
|
|
565
|
-
version = "0.
|
|
565
|
+
version = "0.2.0"
|
|
566
566
|
dependencies = [
|
|
567
567
|
"flashraw",
|
|
568
568
|
"js-sys",
|
|
@@ -3,7 +3,7 @@ resolver = "3"
|
|
|
3
3
|
members = ["crates/flashraw", "crates/flashraw-core", "crates/flashraw-codecs", "crates/flashraw-formats", "crates/flashraw-camera-db", "crates/flashraw-gpu", "crates/flashraw-python"]
|
|
4
4
|
|
|
5
5
|
[workspace.package]
|
|
6
|
-
version = "0.
|
|
6
|
+
version = "0.2.0"
|
|
7
7
|
edition = "2024"
|
|
8
8
|
rust-version = "1.85"
|
|
9
9
|
license = "MIT OR Apache-2.0"
|
|
@@ -12,12 +12,12 @@ homepage = "https://flashraw.ybouane.com"
|
|
|
12
12
|
authors = ["Yassine Bouanane"]
|
|
13
13
|
|
|
14
14
|
[workspace.dependencies]
|
|
15
|
-
flashraw = { path = "crates/flashraw", version = "0.
|
|
16
|
-
flashraw-core = { path = "crates/flashraw-core", version = "0.
|
|
17
|
-
flashraw-codecs = { path = "crates/flashraw-codecs", version = "0.
|
|
18
|
-
flashraw-formats = { path = "crates/flashraw-formats", version = "0.
|
|
19
|
-
flashraw-camera-db = { path = "crates/flashraw-camera-db", version = "0.
|
|
20
|
-
flashraw-gpu = { path = "crates/flashraw-gpu", version = "0.
|
|
15
|
+
flashraw = { path = "crates/flashraw", version = "0.2.0", default-features = false }
|
|
16
|
+
flashraw-core = { path = "crates/flashraw-core", version = "0.2.0" }
|
|
17
|
+
flashraw-codecs = { path = "crates/flashraw-codecs", version = "0.2.0" }
|
|
18
|
+
flashraw-formats = { path = "crates/flashraw-formats", version = "0.2.0" }
|
|
19
|
+
flashraw-camera-db = { path = "crates/flashraw-camera-db", version = "0.2.0" }
|
|
20
|
+
flashraw-gpu = { path = "crates/flashraw-gpu", version = "0.2.0" }
|
|
21
21
|
rayon = "1.12"
|
|
22
22
|
memmap2 = "0.9"
|
|
23
23
|
thiserror = "2"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: flashraw
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.2.0
|
|
4
4
|
Classifier: Development Status :: 4 - Beta
|
|
5
5
|
Classifier: Intended Audience :: Developers
|
|
6
6
|
Classifier: Intended Audience :: Science/Research
|
|
@@ -26,13 +26,26 @@ Author: Yassine Bouanane
|
|
|
26
26
|
License-Expression: MIT OR Apache-2.0
|
|
27
27
|
Requires-Python: >=3.9
|
|
28
28
|
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
|
|
29
|
+
Project-URL: Author on X, https://x.com/ybouane
|
|
29
30
|
Project-URL: Changelog, https://github.com/ybouane/flashraw/blob/main/CHANGELOG.md
|
|
31
|
+
Project-URL: Demo, https://flashraw.ybouane.com
|
|
30
32
|
Project-URL: Documentation, https://github.com/ybouane/flashraw/blob/main/docs/python.md
|
|
31
|
-
Project-URL: Homepage, https://
|
|
33
|
+
Project-URL: Homepage, https://flashraw.ybouane.com
|
|
34
|
+
Project-URL: Issues, https://github.com/ybouane/flashraw/issues
|
|
35
|
+
Project-URL: Repository, https://github.com/ybouane/flashraw
|
|
32
36
|
Project-URL: Source, https://github.com/ybouane/flashraw
|
|
37
|
+
Project-URL: Website, https://flashraw.ybouane.com
|
|
33
38
|
|
|
34
39
|
# flashraw
|
|
35
40
|
|
|
41
|
+
<!-- flashraw-intro -->
|
|
42
|
+
<p align="center"><a href="https://flashraw.ybouane.com"><img src="https://raw.githubusercontent.com/ybouane/flashraw/main/branding/readme-banner.png" alt="FlashRaw: the fast, safe camera RAW decoder" width="100%"></a></p>
|
|
43
|
+
|
|
44
|
+
**[FlashRaw](https://flashraw.ybouane.com)** is a fast, memory-safe camera RAW decoder written in Rust, with Rust, C, C++, Python and JavaScript (WebAssembly) bindings. It decodes about 40 RAW formats (CR2, CR3, NEF, ARW, RAF, DNG, RW2, ORF, PEF and more) with SIMD kernels, multithreading and an optional GPU backend, converts to display-ready RGB with ICC colour management, and runs in the browser.
|
|
45
|
+
|
|
46
|
+
**Official website and live demo: [flashraw.ybouane.com](https://flashraw.ybouane.com)** (it decodes your file locally in the browser) · [Source on GitHub](https://github.com/ybouane/flashraw) · Follow [@ybouane on X](https://x.com/ybouane)
|
|
47
|
+
<!-- /flashraw-intro -->
|
|
48
|
+
|
|
36
49
|
Fast, safe camera RAW decoding for Python, with zero-copy NumPy output.
|
|
37
50
|
|
|
38
51
|
`flashraw` reads RAW files from most cameras (1,980 of the 2,016 files of the raw.pixls.us corpus; the rest are formats not supported yet, see docs/formats.md) — DNG, CR2, CR3, CRW, NEF/NRW,
|
|
@@ -99,12 +112,14 @@ Outputs (`output=`, the first argument of `decode` / `imread`):
|
|
|
99
112
|
| `rgb16` | uint16 `(h, w, 3)` | display-ready sRGB at 16 bits, orientation applied |
|
|
100
113
|
|
|
101
114
|
Options of `decode`: `backend` (`"auto"`, `"cpu"`, `"simd"`, `"gpu"`), `threads`, `region`, `crop`
|
|
102
|
-
(`True`, or `"active"` for raw outputs), `demosaic` (`"bilinear"`, `"half-size"`), `apply_opcodes`,
|
|
115
|
+
(`True`, or `"active"` for raw outputs), `demosaic` (`"bilinear"`, `"half-size"`, `"edge-aware"`), `highlights` (`"clip"`, `"neutral"`, `"blend"`, `"reconstruct"`), `white_balance` (`"as-shot"`, `"auto"`), `apply_opcodes`,
|
|
103
116
|
`corruption_policy` (`"recover"`, `"strict"`), `exposure`, `black_point`, `white_point`,
|
|
104
117
|
`preview_fallback` (RGB outputs of undecodable sensor data return the embedded full-size
|
|
105
118
|
preview, `frame.source == "preview"`), `color_space` (`"srgb"`, `"display-p3"`, `"adobe-rgb"`,
|
|
106
119
|
`"prophoto"`, `"rec2020"`; `frame.icc_profile` is the matching ICC profile), `output_profile` (convert
|
|
107
|
-
to any RGB ICC profile; with `intent` and `black_point_compensation`)
|
|
120
|
+
to any RGB ICC profile; with `intent` and `black_point_compensation`), `camera_profile` (render with a DNG
|
|
121
|
+
camera profile: the bytes or path of a `.dcp` file, or `"embedded"` for the profile stored in the DNG; CPU
|
|
122
|
+
only). `flashraw.open` takes
|
|
108
123
|
`max_samples` and `max_dimension` to tighten the limits for untrusted files. Names that differ from
|
|
109
124
|
the other bindings: [docs/api-names.md](https://github.com/ybouane/flashraw/blob/main/docs/api-names.md).
|
|
110
125
|
|
|
@@ -129,3 +144,12 @@ FlashRaw is also available as a Rust crate, a command-line tool and an npm packa
|
|
|
129
144
|
|
|
130
145
|
MIT OR Apache-2.0.
|
|
131
146
|
|
|
147
|
+
<!-- flashraw-outro -->
|
|
148
|
+
## Built with FlashRaw
|
|
149
|
+
|
|
150
|
+
- **[LightFlow](https://lightflow.dev)**: professional photo correction and colour grading, running locally in your browser with WebGPU.
|
|
151
|
+
- **[ImageFlow](https://imageflow.dev)**: a Photoshop-class image editor in your browser.
|
|
152
|
+
|
|
153
|
+
Official website: **[flashraw.ybouane.com](https://flashraw.ybouane.com)** · Created by [@ybouane](https://x.com/ybouane) · Licence: MIT OR Apache-2.0
|
|
154
|
+
<!-- /flashraw-outro -->
|
|
155
|
+
|
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# flashraw
|
|
2
2
|
|
|
3
|
+
<!-- flashraw-intro -->
|
|
4
|
+
<p align="center"><a href="https://flashraw.ybouane.com"><img src="https://raw.githubusercontent.com/ybouane/flashraw/main/branding/readme-banner.png" alt="FlashRaw: the fast, safe camera RAW decoder" width="100%"></a></p>
|
|
5
|
+
|
|
6
|
+
**[FlashRaw](https://flashraw.ybouane.com)** is a fast, memory-safe camera RAW decoder written in Rust, with Rust, C, C++, Python and JavaScript (WebAssembly) bindings. It decodes about 40 RAW formats (CR2, CR3, NEF, ARW, RAF, DNG, RW2, ORF, PEF and more) with SIMD kernels, multithreading and an optional GPU backend, converts to display-ready RGB with ICC colour management, and runs in the browser.
|
|
7
|
+
|
|
8
|
+
**Official website and live demo: [flashraw.ybouane.com](https://flashraw.ybouane.com)** (it decodes your file locally in the browser) · [Source on GitHub](https://github.com/ybouane/flashraw) · Follow [@ybouane on X](https://x.com/ybouane)
|
|
9
|
+
<!-- /flashraw-intro -->
|
|
10
|
+
|
|
3
11
|
Fast, safe camera RAW decoding for Python, with zero-copy NumPy output.
|
|
4
12
|
|
|
5
13
|
`flashraw` reads RAW files from most cameras (1,980 of the 2,016 files of the raw.pixls.us corpus; the rest are formats not supported yet, see docs/formats.md) — DNG, CR2, CR3, CRW, NEF/NRW,
|
|
@@ -66,12 +74,14 @@ Outputs (`output=`, the first argument of `decode` / `imread`):
|
|
|
66
74
|
| `rgb16` | uint16 `(h, w, 3)` | display-ready sRGB at 16 bits, orientation applied |
|
|
67
75
|
|
|
68
76
|
Options of `decode`: `backend` (`"auto"`, `"cpu"`, `"simd"`, `"gpu"`), `threads`, `region`, `crop`
|
|
69
|
-
(`True`, or `"active"` for raw outputs), `demosaic` (`"bilinear"`, `"half-size"`), `apply_opcodes`,
|
|
77
|
+
(`True`, or `"active"` for raw outputs), `demosaic` (`"bilinear"`, `"half-size"`, `"edge-aware"`), `highlights` (`"clip"`, `"neutral"`, `"blend"`, `"reconstruct"`), `white_balance` (`"as-shot"`, `"auto"`), `apply_opcodes`,
|
|
70
78
|
`corruption_policy` (`"recover"`, `"strict"`), `exposure`, `black_point`, `white_point`,
|
|
71
79
|
`preview_fallback` (RGB outputs of undecodable sensor data return the embedded full-size
|
|
72
80
|
preview, `frame.source == "preview"`), `color_space` (`"srgb"`, `"display-p3"`, `"adobe-rgb"`,
|
|
73
81
|
`"prophoto"`, `"rec2020"`; `frame.icc_profile` is the matching ICC profile), `output_profile` (convert
|
|
74
|
-
to any RGB ICC profile; with `intent` and `black_point_compensation`)
|
|
82
|
+
to any RGB ICC profile; with `intent` and `black_point_compensation`), `camera_profile` (render with a DNG
|
|
83
|
+
camera profile: the bytes or path of a `.dcp` file, or `"embedded"` for the profile stored in the DNG; CPU
|
|
84
|
+
only). `flashraw.open` takes
|
|
75
85
|
`max_samples` and `max_dimension` to tighten the limits for untrusted files. Names that differ from
|
|
76
86
|
the other bindings: [docs/api-names.md](https://github.com/ybouane/flashraw/blob/main/docs/api-names.md).
|
|
77
87
|
|
|
@@ -95,3 +105,12 @@ FlashRaw is also available as a Rust crate, a command-line tool and an npm packa
|
|
|
95
105
|
## License
|
|
96
106
|
|
|
97
107
|
MIT OR Apache-2.0.
|
|
108
|
+
|
|
109
|
+
<!-- flashraw-outro -->
|
|
110
|
+
## Built with FlashRaw
|
|
111
|
+
|
|
112
|
+
- **[LightFlow](https://lightflow.dev)**: professional photo correction and colour grading, running locally in your browser with WebGPU.
|
|
113
|
+
- **[ImageFlow](https://imageflow.dev)**: a Photoshop-class image editor in your browser.
|
|
114
|
+
|
|
115
|
+
Official website: **[flashraw.ybouane.com](https://flashraw.ybouane.com)** · Created by [@ybouane](https://x.com/ybouane) · Licence: MIT OR Apache-2.0
|
|
116
|
+
<!-- /flashraw-outro -->
|
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# flashraw
|
|
2
2
|
|
|
3
|
+
<!-- flashraw-intro -->
|
|
4
|
+
<p align="center"><a href="https://flashraw.ybouane.com"><img src="https://raw.githubusercontent.com/ybouane/flashraw/main/branding/readme-banner.png" alt="FlashRaw: the fast, safe camera RAW decoder" width="100%"></a></p>
|
|
5
|
+
|
|
6
|
+
**[FlashRaw](https://flashraw.ybouane.com)** is a fast, memory-safe camera RAW decoder written in Rust, with Rust, C, C++, Python and JavaScript (WebAssembly) bindings. It decodes about 40 RAW formats (CR2, CR3, NEF, ARW, RAF, DNG, RW2, ORF, PEF and more) with SIMD kernels, multithreading and an optional GPU backend, converts to display-ready RGB with ICC colour management, and runs in the browser.
|
|
7
|
+
|
|
8
|
+
**Official website and live demo: [flashraw.ybouane.com](https://flashraw.ybouane.com)** (it decodes your file locally in the browser) · [Source on GitHub](https://github.com/ybouane/flashraw) · Follow [@ybouane on X](https://x.com/ybouane)
|
|
9
|
+
<!-- /flashraw-intro -->
|
|
10
|
+
|
|
3
11
|
Fast, safe camera RAW decoding in Rust: DNG, CR2, CR3, NEF, ARW, RAF, RW2, ORF, PEF and more, with
|
|
4
12
|
bounds-checked parsing, configurable `Limits` for untrusted files, multithreaded CPU decoding, an
|
|
5
13
|
optional GPU backend and the same API compiled to WebAssembly, Python and C.
|
|
@@ -28,3 +36,12 @@ formats that are not supported yet (28 Nikon High Efficiency NEF, Light L16, Cas
|
|
|
28
36
|
* API documentation: <https://docs.rs/flashraw> (feature table on the crate page)
|
|
29
37
|
* Guide, benchmarks, CLI, Python, JavaScript and C bindings: [README](https://github.com/ybouane/flashraw/blob/main/README.md), [docs/packages.md](https://github.com/ybouane/flashraw/blob/main/docs/packages.md)
|
|
30
38
|
* MSRV 1.85. Licence: MIT OR Apache-2.0.
|
|
39
|
+
|
|
40
|
+
<!-- flashraw-outro -->
|
|
41
|
+
## Built with FlashRaw
|
|
42
|
+
|
|
43
|
+
- **[LightFlow](https://lightflow.dev)**: professional photo correction and colour grading, running locally in your browser with WebGPU.
|
|
44
|
+
- **[ImageFlow](https://imageflow.dev)**: a Photoshop-class image editor in your browser.
|
|
45
|
+
|
|
46
|
+
Official website: **[flashraw.ybouane.com](https://flashraw.ybouane.com)** · Created by [@ybouane](https://x.com/ybouane) · Licence: MIT OR Apache-2.0
|
|
47
|
+
<!-- /flashraw-outro -->
|