You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is a limited implementation and has a few differences to the spec to improve decode performance, due to the incredibly tight performance constraints in VRChat's Udon runtime, but I have posted a sample decoder at https://gist.github.com/TapGhoul/bc7f0d9095aebbc2ef6f766ee1a56586
The changes have been documented in a bullet list in the README.md in the gist.
While this is a bit of an insane implementation, I think it'd be cool to show off purely for the sake of demoing the performance of the codec under constrained environments.
This is a ground-up rewrite to C#. A proper C# impl would want to use different primitives in some areas, but concessions had to be made to get realtime decode performance.
As this deviates a little from the standard format, I'm not sure if it should be listed, but it is a decently well documented and fairly easy to read implementation of the decoder side of the codec.
The decoder can be seen in action in the gist, but here's a video of it in use:
This is a limited implementation and has a few differences to the spec to improve decode performance, due to the incredibly tight performance constraints in VRChat's Udon runtime, but I have posted a sample decoder at https://gist.github.com/TapGhoul/bc7f0d9095aebbc2ef6f766ee1a56586
The changes have been documented in a bullet list in the README.md in the gist.
While this is a bit of an insane implementation, I think it'd be cool to show off purely for the sake of demoing the performance of the codec under constrained environments.
This is a ground-up rewrite to C#. A proper C# impl would want to use different primitives in some areas, but concessions had to be made to get realtime decode performance.
As this deviates a little from the standard format, I'm not sure if it should be listed, but it is a decently well documented and fairly easy to read implementation of the decoder side of the codec.
The decoder can be seen in action in the gist, but here's a video of it in use:
2025-07-05.15-54-33-faststart.mp4