Hacker News new | ask | show | jobs
by mihaelm 86 days ago
It's a lower-level component in so much stuff we're not even aware of.
2 comments

Yep. Which is a great architecture IMO. Simple, performant and flexible: choose 3
As a FFMPEG API user (e.g. through libavcodec etc.) I would definitely not say "simple". It's constantly breaking stuff and deprecating features from one version to another, and basically requires reading the source constantly to make sure of what's happening and on which backend / API each function can operate. Just today, when I was trying to implement vulkan video decode in ossia score (https://ossia.io) :

    Copy data to or from a hw surface. At least one of dst/src must have an AVHWFramesContext attached.
    int av_hwframe_transfer_data(AVFrame *dst, const AVFrame *src, int flags);
Well unlike what the very first sentence of the comment block hints towards, it actually is only implemented for host<->device copy, not device<->device for many backends

That said, when it works, it's really great

FFmpeg is a prime single-block-everything-is-built-on xkcd example.
It's a sibling to curl in that way
Big difference for ffmpeg especially (but I imagine for curl too): it's not just one guy in Nebraska. Seems to have a very healthy community of devs involved in it.
Well, I don't how it is these days, but it hasn't always been describable as "Healthy".
I guess you guys have never heard of HarfBuzz, huh?
> prime single-block-everything-is-built-on xkcd

Sometimes I wonder if we can vanish one single project out of existence instantly, which one would cause the most chaos.

It looks like the EU compiled a list of contenders.

https://interoperable-europe.ec.europa.eu/sites/default/file...