The Handmade Essentials Jam just concluded. See the results
Zeanith's Avatar
Zeanith
Member since

Recent Activity

&zvideotrimmer Went a bit overtime but calling it there for the jam. Couldnt quite get encoding working well. But will definitely finish this up post-jam. Learned a bunch about the Media Foundation api and video encoding. Also that multithreading is super important in this domain as video decoding is computationally VERY expensive, even with modern hardware.
Also noticed how bad almost all video players scrub video, even high quality ones like MPV. I did not realize that pre-jam. Feel like its certainly doable to do better job and get close to what proper video editors like Davinci offer with scrubbing/trimming in a much lighter weight package. Even though I'm not encoding well, it is close, and the program is only 149kb with zero dependencies on windows. So even though this jam project was a fail, I really enjoyed diving into this problem domain, and look forward to improving it. Thanks very much Handmade Network admin, this jam was awesome.

View original message on Discord

At first I managed to get really fast scrubbing, but then I realized that was because only key frames were being previewed by IMFSourceReader_SetCurrentPosition. Things slowed significantly once I started decoding all the frames around the cursor. It made me realize why scrubbing is generally slow in most video players, frames need to be decoded in real time when you seek, as all the frame information isn't actually present in the video file. Mainly key frames and diffs.
But that made me think of a slight optimization, outside of caching all frames, you could just display key frames while scrubbing quickly, then decode all frames if scrubbing really slow. Practically, human speed of mouse cursor movement should be enough information to do this well. If I dont manage to actually finish the trimming part (handling video using the MediaFoundation api is a bit trickier than I realized), I'll try implementing the seek optimization. &ZVideoTrimmer

View original message on Discord

Having some fun with scaling video &ZVideoTrimmer

View original message on Discord

Shouldn't have procrastinated on the jam, but just figured out how to play an mp4 using MediaFoundation and Direct2D. Gonna be a scramble to the end :grug: &ZVideoTrimmer

View original message on Discord

Just got my d2d backend setup on the first day, along with basic immediate mode gui stuff to draw ui elements later &zvideotrimmer

View original message on Discord

&zbiggestprocess jokes, last minute addition to show historical max peak mem usage process. We have new winners 🙂

View original message on Discord

&zbiggestprocess Calling it there for the jam. Added peak memory usage stat. Overlay always displays the process with the biggest working memory set. I ended up not implementing the system tray, so with all unnecessary code removed the program is less than 100 lines of code.
I thought about always showing the process with the highest historical peak memory usage, but that always was a process called Memory Compression (must be some windows internal thing), so not very useful. Overall I'm surprised by how much I learned and how fun this little program was to make. Goes to show that even small contributions to jams can be quite rewarding.

View original message on Discord

&zbiggestprocess My GDI overlay seems to correctly display stats from the process with the biggest memory footprint. Funnily enough its Discord. Not only that, I seem to have discovered that Discord does some wild allocations and deallocations simply from moving the mouse :kekw:

View original message on Discord

Episode 1001 of thanking Martins, but his d2d gist got me started on a d2d UI library in C

View original message on Discord

Managed to add a couple more features and got the hardware working since my last update. A lot went wrong during this jam, tried my best to find ways to compensate. What I'm most salty about is I filmed a cool "build vlog" of getting it working for the first time last night, unfortunately my PC isnt up to the task of editing the 4k footage (I didnt know it would struggle with that, new to video editing :owlofshame:), so all I can share is a short clip with no audio. Perhaps I'll get the video out some time after the jam. RIP. &zunderglow

View original message on Discord

Finally made some progress. Made a little enclosure in openscad for the receiver and got colour data updating from a raylib gui. &zunderglow

View original message on Discord

Progress on my long awaited journey to ditch dearimgui. Following solhsa guide on imgui implementation except using no libraries, only win32 api.

View original message on Discord

Implemented preview of leds for my led visualization project, after getting #help for my jank WASAPI backend

View original message on Discord