motioncam-decoder 0.1.2

Pure-Rust decoder for MotionCam RAW files
Documentation
# motioncam-decoder

Pure-Rust decoder for [MotionCam](https://www.motioncamapp.com/) MCRAW files.

This is a Rust port of the [motioncam-decoder](https://github.com/mirsadm/motioncam-decoder) C++ library.

## Features

- Decodes MCRAW container format (version 3)
- Supports both compression type 7 (new) and compression type 6 (legacy) raw frames
- Audio extraction
- Parallel frame decoding (optional, enabled by default via `rayon`)
- Memory-mapped file I/O for efficient access

## Usage

```rust
use motioncam_decoder::Decoder;

let mut decoder = Decoder::from_path("video.mcraw")?;

// Read container metadata
let container_meta = decoder.container_metadata();

// Get frame timestamps
let timestamps: Vec<i64> = decoder.frame_timestamps().collect();

// Load a single frame
let (pixels, metadata) = decoder.load_frame(timestamps[0])?;

// Load all frames in parallel
let frames = decoder.load_all_frames_parallel()?;

// Load audio
let audio_chunks = decoder.load_audio()?;
```

## Building

```bash
cargo build --release
```

## Documentation

```bash
cargo doc --no-deps --open
```

## License

Apache 2.0