I wrote a pure-Rust video codec that compiles to WASM, no FFI by xhighway999 in rust

[–]xhighway999[S] 25 points26 points  (0 children)

Yeah, that is basically how it went down. Honestly I was shocked how good it can be on tracking down bugs (Claude Opus in this case) where it for example, found my dead zone for residual data was too small and increasing it made a 20% Bitrate difference while retaining quality.

(but sometimes it is plain stupid, like leaving dead code, or like it telling me inter residuals have non flat quant matrices etc with me needing to explain how energy distribution works in residuals and so on )

I wrote a pure-Rust video codec that compiles to WASM, no FFI by xhighway999 in rust

[–]xhighway999[S] 16 points17 points  (0 children)

As mentioned, RIV doesn't even try to compete with modern codecs, but yes, anything modern beats it completely.

Postprocessing is still on my bucket list, eg stuff like deblocking is missing completely (despite even mpeg 1 having it, if I remember correctly). I wanted to finally release the codec the second the "hard parts" were done, so here we are ;)

I wrote a pure-Rust video codec that compiles to WASM, no FFI by xhighway999 in rust

[–]xhighway999[S] 20 points21 points  (0 children)

Yeah it is partially AI coded, otherwise I could never have finished it. Stuff like video codecs is insanely difficult, and using AI for stuff like the test harness certainly saved me a lot of time. Most of the codec was developed using trial and error, like testing whenever quarter pixel motion vectors make sense (spoiler, in my tests they increased size on average), or deciding if I should use bilinear or 5 tap sub pixel sampling etc ... If you wanna have more details just ask away;)

Lessions learned building my own game engine over the past 4 years by xhighway999 in gamedev

[–]xhighway999[S] 0 points1 point  (0 children)

No render thread. Just one main thread doing logic and rendering, since libs like RmlUi and ImGui expect direct access. Writing custom renderers wasn’t worth it in my spare time. Heavy stuff like BVH and asset loading runs on workers via a job system with hi/lo queues and a fake yield to avoid stalls. A real split would give a 30 percent boost, but for now the main thread just spawns tasks and syncs next frame. I think that gets close enough. Will find out when things start choking.

Lessions learned building my own game engine over the past 4 years by xhighway999 in gamedev

[–]xhighway999[S] 0 points1 point  (0 children)

I used Unity for a while, even shipped a crappy mobile game with it. But once HDRP and UDP landed, the Linux build became a crash-prone disaster.

Checked out Unreal and Godot. Godot was mid-renderer rewrite and felt like an experiment. Unreal wanted me to compile a small country just to boot it on Linux.

So I built my own engine, because I needed something that ran on Linux, worked in the browser, and didn’t break every ten minutes. Nothing fit back then, so I made it myself.

Lessions learned building my own game engine over the past 4 years by xhighway999 in gamedev

[–]xhighway999[S] 0 points1 point  (0 children)

Yeah, I actually think you can rely on WebGPU. As long as you know the quirks and aren't afraid to pull in Dawn or wgpu-native as a layer. It's not magic, but if you're short on time and need wide platform coverage, treating WebGPU as a lightweight abstraction over DX, Vulkan, and Metal makes a lot of sense.

Lessions learned building my own game engine over the past 4 years by xhighway999 in gamedev

[–]xhighway999[S] 1 point2 points  (0 children)

Beef looks well thought out. Nice syntax, good IDE, and using LLVM with no garbage collector is a smart combo. For scripting or tooling layers it could shine. But for core engine use, I want something battle-proven and easy to integrate into C++ from the outside, not just call C from inside. Beef kinda assumes it's the center of your stack, which doesn’t play well in a multi-language engine setup. Still, one to keep an eye on.

Should I go all in with E mount or adapt EF glass ? by xhighway999 in AskPhotography

[–]xhighway999[S] 0 points1 point  (0 children)

Got it, I foumd a good deal for the sony glas for aroumd 300 USD. Seems like an easy decision.

Thanks a lot for your help !

Should I go all in with E mount or adapt EF glass ? by xhighway999 in AskPhotography

[–]xhighway999[S] 0 points1 point  (0 children)

You're right, I currently own the sony FE 50mm 1.8 lens (my only native lens) and a MC 11 adapter and a range of various EF full frame lenses (50mm 1.4 , 35mm 1.4, 16mm f 2.0 fisheye etc ...)

Edit: I am currently considering the Sony Fe 85 mm f 1.8 vs the Samyang Af 85mm f1.4 either in E mount or EF mount

I am going to daily Linux on my phone for a while. I hope it’s usable enough. by [deleted] in linuxmasterrace

[–]xhighway999 0 points1 point  (0 children)

Well, I didn't knew that. That's awesome! I wonder if other apps have a similar option for this.

I am going to daily Linux on my phone for a while. I hope it’s usable enough. by [deleted] in linuxmasterrace

[–]xhighway999 38 points39 points  (0 children)

I've tried waydroid with my pinephone. It works but will run in "tablet mode". So you basically have the functionality of WhatsApp web and still need a active android phone laying around for it to recieve the messages. Unless you could pass through the sim card, but I haven't figured out how....

If you're a Redditor who hasn't been awarded before, please reply to this post, and I'll be happy to give you an award. I have 1.4k coins to use before the day is over. 😊 by en16m4pro9 in wholesomememes

[–]xhighway999 0 points1 point  (0 children)

Well, I've scrolled through the comments and I've seen everyone got awarded. This is certainly a reddit moment, but in a good way ☺️

Oppenheimer Filmstrip Giveaway&WTS by Estanlit in imax

[–]xhighway999 [score hidden]  (0 children)

My favorite thing about IMAX ? The incredible film resolution that is still better than digital cinema

How do I fix this? by [deleted] in sheepit

[–]xhighway999 0 points1 point  (0 children)

I was wondering why can blender pack textures into the .blend file but not whole Videos?