The logic is that it’s much faster which is important for code that runs on a large portion of the world’s devices. Pretty much anything to do with video is using ffmpeg. From a set top box, to your phone, computer, YouTube & Netflix, even on Mars.
Video processing is hard, and when you’re processing that much data a x10 speedup is huge. That’s why it’s written in assembly. And there’s really no downsides to it because the original implementation is in C (cross-platform), then there are handmade assembly versions for each specific platform (performance). Win-win.
Not to mention size. Assembly is so incredibly small without all the code interpretation and library overhead. I remember some of the old warez scene exe’s for DOS that were a few kilobytes but ended up being a huge video quality intro. Some lasting minutes. Rather than a few seconds.
The logic is that it’s much faster which is important for code that runs on a large portion of the world’s devices. Pretty much anything to do with video is using ffmpeg. From a set top box, to your phone, computer, YouTube & Netflix, even on Mars.
Video processing is hard, and when you’re processing that much data a x10 speedup is huge. That’s why it’s written in assembly. And there’s really no downsides to it because the original implementation is in C (cross-platform), then there are handmade assembly versions for each specific platform (performance). Win-win.
Not to mention size. Assembly is so incredibly small without all the code interpretation and library overhead. I remember some of the old warez scene exe’s for DOS that were a few kilobytes but ended up being a huge video quality intro. Some lasting minutes. Rather than a few seconds.
Assembly is probably the closest thing to magic humans have ever created.
(I’m disqualifying String/Quantum as they are “theories” and not in common use)