3 ms·
Don't all Apple Silicon devices have extremely good (in both speed and feature coverage) H.264 hardware decoders already?
by zamadatix 1y ago
Don't all Apple Silicon devices have extremely good (in both speed and feature coverage) H.264 hardware decoders already?
- sroussey 1y agoYes, H.264 is in hardware on Apple Silicon. 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.
- metadat 1y agoWhat 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/5a3c19fc0ccacb03f9841d29bc36ebfe2083aeec/README.md?plain=1#L41 https://github.com/tvlabs/edge264/blob/5a3c19fc0ccacb03f9841...
- zamadatix 1y agoBut 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).
- mikepurvis 1y agoOut of curiosity, what does “in hardware” actually mean in this context? Is it pure vhdl? Microcode that leverages special primitives? Something else?
- bri3d 1y agoIn 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. https://github.com/eiln/avd https://github.com/eiln/avd 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.
- antihero 1y agoDo we have hardware H.265 or other more current codec support in hardware on anything?
- galad87 1y agoYes, almost everything out there supports at least H.265, H.264, VP9, and AV1 in hardware.
- CharlesW 1y agoYes. If there's a hole in macOS's VideoToolbox support it's the middling quality of their hardware-accelerated encoder, so people who want high quality encodes will generally use x264/x265 for that.