
The fastest and safest EVC encoder and decoder
Roadmap
- [ ] 0.1 Translation:
- [x] Translate ETM baseline decoder from C to Rust
- [x] Translate ETM baseline encoder from C to Rust
- [ ] 0.2 Optimization:
- [ ] profiling and benchmarking
- [ ] rust safe code optimization
- [ ] assembly optimization
- [ ] armeabi-v7a
- [ ] arm64-v8a
- [ ] x86
- [ ] x86_64
- [ ] multi-threading optimization
- [ ] 0.3 Modernization
- [ ] rate control
- [ ] practical usecases: RTC, Live Streaming, VOD, etc
Usage
- run encoder without trace
- cargo run run --bin revce -- -i tools/foremanqcif8.yuv -w 176 -h 144 -z 30 -f 8 -q 27 -r tools/tmp/rec.yuv --keyint 8 --refpicgaplength 8 --skip 0 --disabledbf --interslice_type 1 -o tools/tmp/test.evc -v
- run encoder with trace
- cargo run --bin revce --features "trace,tracecoef,traceresi,tracereco,tracecudata" -- -i tools/foremanqcif8.yuv -w 176 -h 144 -z 30 -f 8 -q 27 -r tools/tmp/rec.yuv --keyint 8 --refpicgaplength 8 --skip 0 --disabledbf --interslice_type 1 -o tools/tmp/test.evc -v
- run decoder without trace
- cargo run --bin revcd -- -i testldp.evc -o test.yuv -v
- run decoder with trace
- cargo run --features "trace,traceresi,tracepred,tracereco,tracedbf" --bin revcd -- -i testldp.evc -o test.yuv -v