27th August 2020, 14:49
|
#1
| Link
|
Member
Join Date: Nov 2002
Posts: 203
|
REVC — Rewrite MPEG-5 EVC (ETM) in Rust
https://github.com/revcx/revc
Quote:
Overview
MPEG-5 Essential Video Coding (EVC) baseline profile is royalty-free. It includes only technologies that are more than 20 years old or that were submitted with a royalty-free declaration. Compared to H.264/AVC High Profile (JM19.0), MPEG-5 EVC Baseline Profile (ETM 6.1) provides about 30% BD-rate reduction with reduced encoding computation complexity and comparable decoding computation complexity.
REVC is a Rust-based EVC (baseline) video codec implementation.
Features -- Quad-tree based coding structure up to 64x64 block size -- DC, horizontal (H), vertical (V), diagonal left (DL), diagonal right (DR) for intra prediction
-- Un-directional and Bi-directional inter prediction
-- Temporal direct mode
-- Three spatial neighbouring motion vectors and one temporally co-located motion vector
-- 1/2 and 1/4-pel interpolation- Transform and Quantization
-- 4x4 to 64x64 DCT
-- QP range: 0 to 51
-- Run/level symbols with zig-zag scan -- Deblocking filter in H.263 Annex J -- Binary arithmetic coding scheme in JPEG Annex D
Roadmap
-- Translate ETM baseline decoder from C to Rust
-- Translate ETM baseline encoder from C to Rust-- profiling and benchmarking
-- rust safe code optimization
-- assembly optimization
-- armeabi-v7a
-- arm64-v8a
-- x86
-- x86_64
-- multi-threading optimization-- rate control
-- practical usecases: RTC, Live Streaming, VOD, etc
|
|
|
|