A pure-Rust FFV1 decoder based on this Go implementation. A great and personal thanks to @dwbuiten for developing it and all FFV1 people involved in writing the relative specifications.
This project has been developed with the aim of testing parallelism.
Debug mode:
cargo buildRelease mode:
cargo build --releasecargo build --release --workspacecargo run --release --package ffv1-decoder -- -i INPUT_FILEPATH -o OUTPUT_FILEPATHYou can reproduce your raw file with ffplay from FFmpeg specifying
the video parameters associated to the raw output file.
For example, if we consider the output produced using ffv1_v3.mkv, called
ffv1_v3.raw, you should run the following command:
ffplay -f rawvideo -pixel_format yuv420p -video_size 640x360 -framerate 25 output.rawThe code is still in flux and pretty messed up. No parallelism has been implemented for now, so the library is pretty slow.
Released under the MIT License.