Show more

I stopped doing those which-country-does-this-flag-belong-do quizzes once I found out how terrible browsers deal with color conversions.
Firefox still doesn't correctly present full-range h264, which around 10-20% of streams on Twitch use.

Split off the coefficients into bands. 64x64 blocks, so 12 bands, as shown in pic 2. In the video I enable 1 band per second. I should probably merge the last 3 bands.
Next stop: gain quantization and gain->K mapping.

Basic PVQ implemented.
Same image, same target compression, lapping enabled.
Milestone achieved: beat JPEG.

Show thread

Started working on FFV2 again. Experimenting with lapped DCTs. Scalar quantization.
Image 1: No lapping (basically JPEG)
Image 2: Lapped DCTs (32-point lapping, 64x64 blocks)
Image 3: Image before delapping
Next stop is experimenting with some PVQ ideas I've had

@mcc Re: cropping videos in Quicktime and having the start reappear
MP4 is not a linear format. Apple decided NLEs should use MP4 as a project format. Hence, an MP4 can contain jumps, loops, others. As a multimedia dev: <infernal screaming>.
Quicktime just signalled where the start should be, it didn't reencode. Whether programs respect that is completely up to them. Because having to implement turing-complete parsing for a container is batshit crazy.
Browsers generally don't. ffmpeg does kinda.

Fun fact: Diablo 2 had A3D (Aureal 3D) support. Yes, not EAX support, just A3D, who were dead 2 months after the game was released. LoD kept the support despite being released almost a year after the company went defunct. The latest patch still keeps support for it, along with the Glide API.
I've actually played it with an A3D wrapper for EAX, and it just added reverb when you were in the caves, and I think the rain was more audible (yes D2 has rain, it even has a day/night cycle).

Probably gave this suggestion for a reason, with the bible being so often forked and authorship changed.

Show thread

Speaking of closed development of open projects: fuck you Khronos. Draft Vulkan specs are closed and require an NDA to read.
I really need to know how the future en/decoder API will look like, but no one even whispered anything to me, like "you didn't hear this from me".
I "leaked" so much info during the AV1 dev process to anyone who asked (or didn't ask but I thought needed to know), yet not a single person did me a favor now.
If I have to break the FFmpeg Vulkan API I'll be really really mad.

This is av1's ref frame signalling structure.
All of this could have been solved in a much more efficient and flexible way by simply signalling 2 indices.
Not shown: the "Private and confidential" sign Google put on all their slides. I may have accidentally cropped it out.

Oh wow if you press tab on a completed unzip command it'll print out the contents of the archive! In your terminal! Without you having to remember what the list command you never use was or looking at the manual!
Only works on .zip, not on .rar, .tar or .7z.
Yes, I found this out by accident.

Squashed all changes into one, changelog:
- Never transcode video (recontained as mp4)
- Never transcode audio (recontained as audio-only mp4)
- Readd webp support
- Max image resolution is now 4096x4096.

Show thread

Fixed mastodon to never transcode and sanified the media code.
github.com/cyanreg/mastodon

I hate, hate, hate how nowadays everything revolves around discord. Want to talk games? <private discord you need an invite to get into>. Movies? Same. Programming? Same (rust idiots picked this as their official platform). Music? Same, same, same.
I dislike discord as a platform, I dislike how its structured, I dislike the users, some of which have the fucking audacity to ask to join their discord on IRC and I refuse to use it. And I hate how there's no one to chat to now about random things.

The just released mastodon 3.1.3 has the always-transcode commits in it but I'm too lazy to write never-transcode patches for it.

"Annex-B"
An uttering that causes most people who've had to deal with it shudder.

Popups never died.
Now they just appear as "This site uses cookies" and "This site _REALLY_ cares about your privacy (lol), please accept."

glibc's CPU code looks like an absolute trashfire.
"Get cpuflags to enable FMA/AVX/AVX2? Nah, let's just get the exact CPU model and decide everything based on that".
Because future processors don't exist and other vendors suck.

1408 - one of the few movies where executive meddling made the theatrical version better than the director's cut.

Show more
Parsee

A Mastodon instance for people interested in multimedia, codecs, assembly, SIMD, and the occasional weeb stuff.