Ecosyste.ms: OpenCollective
An open API service for software projects hosted on Open Collective.
github.com/ruffle-rs/h263-rs
Pure-rust implementation of legacy H.263 video codec and associated color transforms
https://github.com/ruffle-rs/h263-rs
video: Refactor the MVD stage a bit
b40c143e4ea6f80fc9bfc5fafa2bf8776a662a05 authored over 3 years ago
b40c143e4ea6f80fc9bfc5fafa2bf8776a662a05 authored over 3 years ago
video: Uncoded macroblocks should still be copied from the reference picture
70fe78468f4b3200ff4f463290905caf6d0cc62b authored over 3 years ago
70fe78468f4b3200ff4f463290905caf6d0cc62b authored over 3 years ago
video: `Inter4Q` macroblocks are also inter type.
8a6647533a940e811afb4937aebee7ada50f6d2a authored over 3 years ago
8a6647533a940e811afb4937aebee7ada50f6d2a authored over 3 years ago
video: 2D array paranoia
207decb8a279e1270ad64ef90a689bd5206220e3 authored over 3 years ago
207decb8a279e1270ad64ef90a689bd5206220e3 authored over 3 years ago
video: Remove redundant checks in `inverse_rle` and fix broken reconstruction
3139e1d496f7259bc4d32922ec37ba1c26c881e8 authored over 3 years ago
3139e1d496f7259bc4d32922ec37ba1c26c881e8 authored over 3 years ago
video: YUV422 video should always be opaque.
3dc27db49e5dbc27e857659c8c96cbdeb797dbe1 authored over 3 years ago
3dc27db49e5dbc27e857659c8c96cbdeb797dbe1 authored over 3 years ago
video: Fix IDCT to properly scale IDCT sum and not accidentally multiply all AC coefficients by zero.
d5e1e2d940168d7ad00868429c20663904673b53 authored over 3 years ago
d5e1e2d940168d7ad00868429c20663904673b53 authored over 3 years ago
video: Fix macroblock progression
fa72a2377b15d6ae953312f9bd9904e2678dfda4 authored over 3 years ago
fa72a2377b15d6ae953312f9bd9904e2678dfda4 authored over 3 years ago
h263: Treat EOF errors as end of picture
7f6e447bf9beb285a5f57141012462f997df0cc1 authored over 3 years ago
7f6e447bf9beb285a5f57141012462f997df0cc1 authored over 3 years ago
video: H.263 PFrames with no reference picture should be treated as having a black background
5f34498c139e187654012533e96657a064c805d8 authored over 3 years ago
5f34498c139e187654012533e96657a064c805d8 authored over 3 years ago
video: Yield a special error code for GOB parsing
d904ea2b5ed5b1ff8d4ca38f8990f5d5159f800e authored over 3 years ago
d904ea2b5ed5b1ff8d4ca38f8990f5d5159f800e authored over 3 years ago
video: Sorenson H.263 has a flag for the deblocking filter
be96f428712120dcf516934c7a95c68932fa934b authored over 3 years ago
be96f428712120dcf516934c7a95c68932fa934b authored over 3 years ago
video: Add several new error codes for specific parser failures
2e0c5d9c5d7d86b338dce4cda0ee61c51c700612 authored over 3 years ago
2e0c5d9c5d7d86b338dce4cda0ee61c51c700612 authored over 3 years ago
video: Break `InvalidSemantics` into three specific error cases
879dbfff3e35bb87288025858541babd0ac6ef41 authored over 3 years ago
879dbfff3e35bb87288025858541babd0ac6ef41 authored over 3 years ago
video: Don't error if a function yields errors before it reads any bits
7c7e39c3ade2dbc097a53298356621d25f30e310 authored over 3 years ago
7c7e39c3ade2dbc097a53298356621d25f30e310 authored over 3 years ago
video: Move software decoding into core now that we don't need to specialize per-renderer
a90077871c2daf44b7265b928f7d418ea3d45d46 authored over 3 years ago
a90077871c2daf44b7265b928f7d418ea3d45d46 authored over 3 years ago
video: Avoid overreading more bits than we need
61a34cc5c3a07c7053a222dd8bc9a22718a3c97e authored over 3 years ago
61a34cc5c3a07c7053a222dd8bc9a22718a3c97e authored over 3 years ago
video: Fix bounds checks on the dezigzag array
7407d7856715684136309b93522017dd78669742 authored over 3 years ago
7407d7856715684136309b93522017dd78669742 authored over 3 years ago
video: Add another crate to hold colorspace conversions.
bcfb4f1c952ed1a19bf517883b4d45557fc135ff authored over 3 years ago
bcfb4f1c952ed1a19bf517883b4d45557fc135ff authored over 3 years ago
h263: Add convenience method for calculating pixel array indices
eb8fc3fe7f2d28bddb268da740fd35862165a87f authored over 3 years ago
eb8fc3fe7f2d28bddb268da740fd35862165a87f authored over 3 years ago
h263: Use the correct(?) reference picture
60bc0a31d9e8d0b3a818f86305537fa2bce47a27 authored over 3 years ago
60bc0a31d9e8d0b3a818f86305537fa2bce47a27 authored over 3 years ago
h263: Actually gather, IRLE and IDCT each (coded) macroblock
91c98616d3f2e83762926685f912916218d66270 authored over 3 years ago
91c98616d3f2e83762926685f912916218d66270 authored over 3 years ago
h263: Publish the `PictureTypeCode` type
eda781f8460b9d07d9948230bc2d602b81d3d977 authored over 3 years ago
eda781f8460b9d07d9948230bc2d602b81d3d977 authored over 3 years ago
h263: Add scatter step, which finishes the decode loop.
1d59766fc09e7899fdcd3687124507d112c07bae authored over 3 years ago
1d59766fc09e7899fdcd3687124507d112c07bae authored over 3 years ago
h263: Be very, very consistent with the way we order pixel data.
7938ec001bba6a9a4c979b5bbd0d30bae1766a74 authored over 3 years ago
7938ec001bba6a9a4c979b5bbd0d30bae1766a74 authored over 3 years ago
h263: Inverse RLE should dequantize the levels it decodes and clip them
9f39c48b9b813084ab09a5b8bde6f57821171bbb authored over 3 years ago
9f39c48b9b813084ab09a5b8bde6f57821171bbb authored over 3 years ago
h263: Support motion-vector decoding for four-vector macroblocks.
ff6d3e237b7b10fd4d6cfd184a72b4d4485b6ff4 authored over 3 years ago
ff6d3e237b7b10fd4d6cfd184a72b4d4485b6ff4 authored over 3 years ago
h236: Add `gather` operation that pulls motion-compensated inter frame data
dd639b21fb15989891dd82093e1f0f363a3b05d7 authored over 3 years ago
dd639b21fb15989891dd82093e1f0f363a3b05d7 authored over 3 years ago
h263: IDCT should also handle clipping, quantization, and summation
1056f7804da436fa3bf1b0ceee47aeb6e0bc19fc authored over 3 years ago
1056f7804da436fa3bf1b0ceee47aeb6e0bc19fc authored over 3 years ago
h263: Implement extended/unlimited range motion vector decoding.
504ad458808c9602e2ba984726fa3fd0e6cb6930 authored over 3 years ago
504ad458808c9602e2ba984726fa3fd0e6cb6930 authored over 3 years ago
h263: Implement very rudimentary decoder state tracking
a7b63f85719f9041b0fad04c03c3b92828bda814 authored over 3 years ago
a7b63f85719f9041b0fad04c03c3b92828bda814 authored over 3 years ago
h263: Initial pass of MVD predictors
65cee659a0c9c08a258d63a3efd52faf13efc97a authored over 3 years ago
65cee659a0c9c08a258d63a3efd52faf13efc97a authored over 3 years ago
h263: Implement software IDCT.
03c7482415115e1e4850b2f55582e29006ceebe5 authored over 3 years ago
03c7482415115e1e4850b2f55582e29006ceebe5 authored over 3 years ago
h263: Add inverse-RLE code
689d0afc5453f879776ab7f418d5d7adf576c6da authored over 3 years ago
689d0afc5453f879776ab7f418d5d7adf576c6da authored over 3 years ago
h263: GOB 15 within a picture is actually the end-of-picture marker.
2784f9bab321ef2f1ea50d4737f552392723e1a1 authored over 3 years ago
2784f9bab321ef2f1ea50d4737f552392723e1a1 authored over 3 years ago
Here's a struct that looks like a decoder.
69d4b290078b0866976287c7fa197bae3e03f039 authored over 3 years ago
69d4b290078b0866976287c7fa197bae3e03f039 authored over 3 years ago
h263: Fix the motion vector decoding to use the restricted range rule.
0ae51c7455408bdcd877b8382edc0bf72cc74890 authored over 3 years ago
0ae51c7455408bdcd877b8382edc0bf72cc74890 authored over 3 years ago
Add tests for all of the ways coefficients can be encoded into a block.
4c3340d5b255a49f6ef4117698aa00231346e9e6 authored over 3 years ago
4c3340d5b255a49f6ef4117698aa00231346e9e6 authored over 3 years ago
Fix crashes in `read_u8`.
d77b01b251d769ea00bd14f38124b4fbab87a402 authored over 3 years ago
d77b01b251d769ea00bd14f38124b4fbab87a402 authored over 3 years ago
Refactor the H.263 package to separate parsing from decoding.
This also exposes the bitstream parser, decoder options, and error types as a public interface. ...
610805f2fef91a71a4fe6980e3f55fa7f6587a27 authored over 3 years ago
Add support for Sorenson bitstream's wide levels.
1ad94770e1517ef0cd83c02ce265ce55ee12e514 authored over 3 years ago
1ad94770e1517ef0cd83c02ce265ce55ee12e514 authored over 3 years ago
Adjust start code handling to support error recovery.
Our existing start code recognizer was far too generic: we just need to find a bunch of zeroes f...
81edfbbab5a8664e6717f70b2a51bd5921aef7df authored over 3 years ago
Allow reading signed values out of the bitstream.
5a44a666e215159e124b684580dd1288e877fdd3 authored over 3 years ago
5a44a666e215159e124b684580dd1288e877fdd3 authored over 3 years ago
Finish off the base level of macroblock decoding support.
56b64bbdfce53f29ac170a0042aab8011fef80a2 authored over 3 years ago
56b64bbdfce53f29ac170a0042aab8011fef80a2 authored over 3 years ago
Implement the super-ultra-unrestricted motion vector mode available when unlimited motion vectors are enabled
d0361e47e073acedacb30d4b654f423548f78344 authored over 3 years ago
d0361e47e073acedacb30d4b654f423548f78344 authored over 3 years ago
Add datatypes for (basic) macroblocks.
4adea659633d22ec06d6885fb28d8f787c52c73e authored over 3 years ago
4adea659633d22ec06d6885fb28d8f787c52c73e authored over 3 years ago
Add the MVD table decoder.
912718c540ac356ace4c75275b115f27348c6b39 authored over 3 years ago
912718c540ac356ace4c75275b115f27348c6b39 authored over 3 years ago
Add test and fixes for the `TCOEF_TABLE`.
184b445faa8dd24850e12cae0979ea71e3e2356b authored over 3 years ago
184b445faa8dd24850e12cae0979ea71e3e2356b authored over 3 years ago
Implement basic block decoding.
aaab8934abc4a4a249622307e77f853aa4512630 authored over 3 years ago
aaab8934abc4a4a249622307e77f853aa4512630 authored over 3 years ago
Add CBP decoding to macroblocks.
20d43187c05989e554305a3b5dfdfa7ca69fb49c authored over 3 years ago
20d43187c05989e554305a3b5dfdfa7ca69fb49c authored over 3 years ago
Implement the MCBPC tables of macroblock headers.
0df3ca39a85d741aa17710055b872c7f6a3d2709 authored over 3 years ago
0df3ca39a85d741aa17710055b872c7f6a3d2709 authored over 3 years ago
Add proper stuffing-tolerant start code recognition.
65eef48efa5e9d4c1ddbc415c88a85fdfd76a4b2 authored over 3 years ago
65eef48efa5e9d4c1ddbc415c88a85fdfd76a4b2 authored over 3 years ago
First stab at implementing variable-length codes.
d9fe1eb5699f1bac70c88400f55692e393b31209 authored over 3 years ago
d9fe1eb5699f1bac70c88400f55692e393b31209 authored over 3 years ago
Rename `with_transaction_option` to `with_transaction_union` to make it more obvious what it does.
69b5a9eba73e67f7f371bc6e8c0c54d97e07213c authored over 3 years ago
69b5a9eba73e67f7f371bc6e8c0c54d97e07213c authored over 3 years ago
Add a struct for GOB headers.
fa330ce1073d4e6b5c44df78353f3089286e58fd authored over 3 years ago
fa330ce1073d4e6b5c44df78353f3089286e58fd authored over 3 years ago
Add support for Sorenson's odd "version-in-start-code" system.
4041b23d9f78bd30b14bfc264ee36cb91be9c5ea authored over 3 years ago
4041b23d9f78bd30b14bfc264ee36cb91be9c5ea authored over 3 years ago
Add Sorenson picture format decoding.
92d0a782aa6b09294315c62d33b71ac78d3e5bf3 authored over 3 years ago
92d0a782aa6b09294315c62d33b71ac78d3e5bf3 authored over 3 years ago
Stub GOB layer.
Flash uses Sorenson Spark, which doesn't support GOBs, so this will likely remain a stub forever.
e744de2ab53dc7e5b7cb5a106a8a562c8ec69657 authored over 3 years ago
Add support for `TRPI`/`TRP` parsing.
7d0abff52b11b81d650c8acb8d1cc6009a3adcb6 authored over 3 years ago
7d0abff52b11b81d650c8acb8d1cc6009a3adcb6 authored over 3 years ago
Half of an H.263 picture record parser.
The half remaining to implement concerns records following `PLUSPTYPE`. There are a lot of encod...
a7f1afe08134f37ce46653d7658f13cc79477f38 authored over 3 years ago
Implement decoding of `UUI`, `SSS`, `ELNUM`, `RLNUM`, and `RPSMF`
57821fef3b6154b856ebfa3256703a6125355eed authored over 3 years ago
57821fef3b6154b856ebfa3256703a6125355eed authored over 3 years ago
Finish implementing decoding of all other picture-layer data structures... save for the two that are still stubbed.
c0f208b4429f43f3ae253ed8cc34f2a41fe14972 authored over 3 years ago
c0f208b4429f43f3ae253ed8cc34f2a41fe14972 authored over 3 years ago
Stub implementation of backchannel message decoding.
(But you also implemented the actual struct?!)
ccdfeb044f5ac029c8863b335ce91d7486d017ca authored over 3 years ago
Add "picture layer" H.263 struct representations.
e7e4f4884303cfe4b43199cfb2cbf706f47dfe14 authored over 3 years ago
e7e4f4884303cfe4b43199cfb2cbf706f47dfe14 authored over 3 years ago
Implement non-byte-aligned data reads.
bd066984d155a7f4697d56ca1a67891e673a7537 authored over 3 years ago
bd066984d155a7f4697d56ca1a67891e673a7537 authored over 3 years ago
Add bitwise peek and skip options, too.
85edaf3cdf2d617656cc463d15474fba93a8101f authored over 3 years ago
85edaf3cdf2d617656cc463d15474fba93a8101f authored over 3 years ago
Add mockup of a rollback/commit mechanism intended for use in allowing decoding complex types without leaving the reader in an inconsistent state should an IO error occur.
3bc6424638874f0becddd828645a00c86f5395e9 authored over 3 years ago
3bc6424638874f0becddd828645a00c86f5395e9 authored over 3 years ago
Add crate for H.263 codec
09409e6d928d807ac411ad17af5ef05f2bf51a44 authored over 3 years ago
09409e6d928d807ac411ad17af5ef05f2bf51a44 authored over 3 years ago