Pure-rust implementation of legacy H.263 video codec and associated color transforms

TÖRÖK Attila 5c8d9d7d86 ci: Bump `actions/checkout` to `v4`, which uses Node.js 20 1 month ago
.github 5c8d9d7d86 ci: Bump `actions/checkout` to `v4`, which uses Node.js 20 1 month ago
deblock 1a15f39cc1 chore: Bump `itertools` dependency in `deblock` to `v0.12.1` 1 month ago
h263 286890acd7 chore: Fix a nightly Clippy lint 1 month ago
yuv 5faa069c7d chore: Bump dependencies 8 months ago
.gitattributes 09409e6d92 Add crate for H.263 codec 2 years ago
.gitignore 09409e6d92 Add crate for H.263 codec 2 years ago
CODE_OF_CONDUCT.md 09409e6d92 Add crate for H.263 codec 2 years ago
CONTRIBUTING.md 09409e6d92 Add crate for H.263 codec 2 years ago
Cargo.toml 195dae6d2a deblock: Add a deblocking filter inspired by ITU-T H.263 Annex J 9 months ago
LICENSE.md 09409e6d92 Add crate for H.263 codec 2 years ago
PKGBUILD 09409e6d92 Add crate for H.263 codec 2 years ago
README.md 08feb236d5 misc: Switch to new GHA workflow badge route 1 year ago
rustfmt.toml 09409e6d92 Add crate for H.263 codec 2 years ago

README.md

Rust Build Status Ruffle Discord
website | demo | nightly builds | wiki

h263-rs

h263-rs is a pure-Rust implementation of ITU-T Recommendation H.263 (2005/08), a video codec commonly used in early VoIP telephony and multimedia systems including Sorenson Spark and Adobe Flash Player. It is used primarily in Ruffle to provide H.263 video decoding capability.

Project status

h263-rs correctly decodes most Sorenson-flavor video streams. No attempt has yet been made to test other flavors of H.263, or any of the additional features in later versions of H.263.

There is currently no support for encoding H.263 video of any flavor.

Using h263-rs

Currently, this only ships as a library, which must be integrated in another project to play video.

Building from source

Follow the official guide to install Rust for your platform.

Structure

  • h263 contains the core codec library
  • yuv contains BT.601 YUV colorspace conversions needed for decoding H.263 video

Sponsors

This project is maintained by the developers of Ruffle. You can support the development of Ruffle via GitHub Sponsors. Your sponsorship will help to ensure the accessibility of Flash content for the future. Thank you!

Sincere thanks to the diamond level sponsors of Ruffle:

Newgrounds.com CPMStar Sébastien Bénard Crazy Games Cool Math Games The New York Times Armor Games Onda Educa TwoPlayerGames.org wowgame.jp Matt Roszak

License

h263-rs is licensed under either of

at your option.

h263-rs depends on third-party libraries under compatible licenses. See LICENSE.md for full information.

Contribution

h263-rs welcomes contribution from everyone. See CONTRIBUTING.md for help getting started.

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you shall be dual licensed as above, without any additional terms or conditions.

The entire h263-rs community, including the chat room and GitHub project, is expected to abide by the Code of Conduct that the Rust project itself follows.