Re:Edge264 – Minimalist, high-performance software decoder f...
by metadat on Wednesday October 01, 2025 @09:31PM
(#45445534)
What if there were some intelligence to test-for and auto-switch to support extensions when available? If you specify it manually it already supports x64-specific instructions via the ${VARIANTS} env var.
https://github.com/tvlabs/edge264/blob/5a3c19fc0ccacb03f9841...
Re:Edge264 – Minimalist, high-performance software decoder f...
by zamadatix on Wednesday October 01, 2025 @10:48PM
(#45445893)
But why go through the trouble of building and shipping a software decoder for a platform you know has no devices which need such a thing? On the other hand it's not too hard to find ARM64 Linux devices which need an efficient software decoder (either because there isn't a hardware one at all, there one that is there is limited in feature support, or the one that is there is hybrid but written so poorly a good software decoder is more efficient).
Re:Edge264 – Minimalist, high-performance software decoder f...
by mikepurvis on Wednesday October 01, 2025 @10:51PM
(#45445906)
Out of curiosity, what does “in hardware” actually mean in this context? Is it pure vhdl? Microcode that leverages special primitives? Something else?
Re:Edge264 – Minimalist, high-performance software decoder f...
by bri3d on Wednesday October 01, 2025 @11:30PM
(#45446098)
In the case of Apple AVD, it's a multi-stage system with a bunch of special primitives, orchestrated by a Cortex-M3 with firmware. Codec-specific frontends emit IR which a less specialized backend can execute.
This really heavily depends on the device, though. There are all sorts of "hardware" video decoders ranging from fairly generic vector coprocessors running firmware to "pure" HDL/VLSI level implementations. Usually on more modern or advanced hardware you'll see more and more become more general purpose, since a lot of the later stages can be shared across codecs, saving area vs. a pure hardware implementation.
But as a software decoder which is specifically made to not use hardware APIs for decoding, I am not sure why they skipped ARM64 on non-linux platforms.