• ellieficent@reddthat.com
    link
    fedilink
    English
    arrow-up
    4
    ·
    9 hours ago

    Dav2d has the same goal—to be the fastest possible solution for AV2 playback and to bridge the years during which hardware decoders will be unavailable or uncommon in PCs. At the same time, the decoder is intended to be optimized for high performance on both the newest and older processors. Developers will initially focus on performance for current x86 processors supporting AVX2—such as all Ryzen CPUs and Intel Core 4th-generation and newer (in this sense, targeting AVX means usage of these instructions as well as older instruction sets supported on the relevant CPUs)—and newer Arm processors based on ARMv8 (or ARMv9), meaning smartphones are Dav2d’s target as well.

    Once that is done, work will move on to code paths optimized for older processors—targeting cores that support SSSE3, which means Intel Core 2 and newer processors up through Sandy Bridge and Ivy Bridge (as well as various SoCs based on Atom-line cores through the Tremont architecture). On AMD’s side, this includes Bulldozer, Piledriver, Steamroller, Jaguar, and technically even Bobcat cores.

    With lower priority, Dav2d also plans to explore optimizations for 32-bit ARM cores (ARMv7) and eventually, if resources permit, IBM Power/PowerPC, RISC-V, and very old x86 processors lacking SSSE3 support—which in practice mainly means various AMD Phenom and Athlon II chips based on the K10 architecture. Their architecture tops out at SSE3 but lacks SSSE3, or “Supplemental SSE3,” which was introduced in Core 2 processors and (unfortunately fo K10) includes several instructions highly important for multimedia SIMD code, such as PSHUFB.

    These now rarely used, obsolete, or exotic processors are among the lowest priority items on the roadmap. Ironically, AVX-512 optimizations are also similarly low on the to do list. That is likely due to a combination of AVX-512’s limited historical market penetration and the assumption that any processors supporting AVX-512 will probably have enough excess performance even when relying just on AVX2.

    So, eventually… which is pretty cool. I’ve got a C2D I could repurpose, as well as some raspberry pi ARMv7’s.