247
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
this post was submitted on 09 Oct 2023
247 points (98.8% liked)
Open Source
31200 readers
279 users here now
All about open source! Feel free to ask questions, and share news, and interesting stuff!
Useful Links
- Open Source Initiative
- Free Software Foundation
- Electronic Frontier Foundation
- Software Freedom Conservancy
- It's FOSS
- Android FOSS Apps Megathread
Rules
- Posts must be relevant to the open source ideology
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
- !libre_culture@lemmy.ml
- !libre_software@lemmy.ml
- !libre_hardware@lemmy.ml
- !linux@lemmy.ml
- !technology@lemmy.ml
Community icon from opensource.org, but we are not affiliated with them.
founded 5 years ago
MODERATORS
I have the utmost respect for the ffmpeg developers; writing ASM is a skill I do not possess. I do have to wonder, though, would it be easier for cross-platform compatibility to write in C instead. I have always understood that C generally compiles almost directly to assembly with little to no abstraction overhead, and it would not require platform-specific ASM code. What is the logic in choosing ASM over C? I have no doubt there is a good reason.
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)
If by 'String/Quantum' you mean String Theory and quantum physics then you are wrong on the latter (and somewhat even the former). Quantum physics doesn't replace classical physics nor are they necessarily in opposition, and quantum physics is as much a theory as classical physics; so bashing one for being 'theory' is just as true for the other. And quantum physics is certainly in common use as you simply cant do anything at the atomic level without it. For example, any modern computer would not be able to function if quantum physics wasn't used to inform their design; in the same vein a modern computer would not function if classical physics was used to design them. It's important to remember that the word 'theory' in this context doesn't mean unproven, rather it describes a collection of confirmed, falsifiable, explanations of the natural world.
As for String Theory, it shouldn't be thought of as equivalent in scale to quantum physics, it's really just an optional framework within quantum physics that attempts to describe the fundamental nature of particles in a way that supports quantum gravity. Due to this its usage is confined to theoretical physics and is dependent on which aspects of a system is being investigated, but it's still used in some situations as its one of the best supported tools available.
I guess my main point is that quantum physics isn't fringe theory that shows up only in theoretical work, it's very much a requirement for all fields and is thereby prevalent and very much in common use. I have a CS degree and many of my courses touched on quantum mechanics, from pnp/npn transistor design to quantum-annealing/gate proof cryptography, without getting too into the mechanics/math as we were not physicists.
sethboy66's response is very good, but I'll summarize it here in case it helps. In science, the word "theory" basically means "explanation." Some explanations are proven wrong, but others have a lot of evidence going for them. Quantum mechanics is a theory that's basically proven, and it's commonly used all the time, such as in the computer you used to write that comment. String theory is not really proven, but it's basically an extension to the existing body of quantum mechanics.
I hav that same thought about par files I just can't figure out how they do what they do.