4 ms·
Your h265 example is due to the iPhone having a dedicated HW encoder while the iMac was rendering using the CPU. A hardware video encoder is almost always going
by joefourier 6y ago
Your h265 example is due to the iPhone having a dedicated HW encoder while the iMac was rendering using the CPU. A hardware video encoder is almost always going to be faster and more power efficient than a CPU-based one by definition. However, a CPU encoder offers more flexibility and the possibility of being continually improved to offer better compression ratios.
Generally, HW encoders offer worse quality at smaller fie sizes and are used for real-time streaming, while CPU-based ones are used in offline compression in order to achieve the best possible compression ratios.
- gjsman-1000 6y agoOK... but let's say I'm a professional. That's a big sell. Having dedicated HW to do something faster than CPU is a bonus, not cheating.
- majewsky 6y agoWell yeah, for that one use case. But you cannot go from "X is 20% faster than Y at H265" to "X is 20% faster than Y at doing computer stuff".
- joefourier 6y agoYou already have HW encoder blocks on certain CPUs and most GPUs. See: Intel Quicksync, Nvidia NVENC and AMD Video Core Next. Support for them will of course depend on your platform and the applications you are using. IIRC, video editing software will generally use HW decoding for smooth-real time playback, but use CPU-encoding for the final output.
- rkangel 6y agoAbsolutely. But how many of those hardware blocks exist for what you want to do? If you care about H265, great. Let's say you get a dozen specific hardware accelerators, that's still only 12 tasks. That might end up covering the vast majority of web browsing tasks (to pick one example), but particularly as an engineer there is always going to be something else. And not all intensive tasks are amenable to hardware acceleration, e.g. compilation. That's why we care about general purpose CPU performance - at some point you always need it. Incidentally, this is philosophically the idea behind processors with built in FPGA capability. The hardware acceleration would just be a binary blob that could be loaded in and used when necessary. It could be continually updated, and provided with whatever software needed it.
- AnthonyMouse 6y agoNot only that, what happens over time? Not long ago the hardware accelerated codec would have been H.264. Soon it could be AV1. We're already at the point that professionals could want to be using AV1.
- satysin 6y agoYes but that is kind of the point. Going forward all Apple Silicon machines will have this kind of hardware baked into the SoC at no extra cost whereas no Intel system (be it PC or Mac) will. That is a big deal as it means Adobe, Sony, BlackMagic, etc. will be able to optimise to levels impossible to do elsewhere. If that 8x speed up scales linearly to large video projects you would have to have a Mount Everest sized reason to stick to PC.
- chungus_khan 6y agoThat's not really true. Every modern Intel, AMD, and Nvidia GPU does actually include hardware to accelerate encoding video, it's just that software solutions end up being preferred in a lot of cases because they produce better output and can be continually improved. A large body of encoding software is however, perfectly capable of taking advantage of them. The comparison is kind of silly.
- satysin 6y ago> The comparison is kind of silly. I disagree. Sure we have things like NVENC for accelerated H.265 encoding but that is an additional hardware expense and means only the machines you have that hardware in benefits. This will literally be all Macs from a $699 Mini and up. I don't know enough about Intel QuickSync to compare but it clearly isn't used on the iMac in that video for some reason (perhaps the software does not support it? I don't know) That is pretty exciting for video professionals IMHO. I'm not saying it is world changing but being able to pick up a MacBook Air for $999 and get performance similar (or maybe better?) than a PC that costs two or three times that with dedicated hardware is very cool. edit: I appear to be missing why this is a ridiculous thing to say? Could somebody please explain to me why the comparison is "silly"?
- deleted 6y ago[deleted]
- joefourier 6y agoAt the risk of going in circles, let me try to explain one last time: All modern GPUs already have HW-accelerated encoding, including integrated Intel GPUs, and Nvidia and AMD dedicated ones. Despite that, HW-encoding is not used that much by video professionals because CPU encoders produce better compression given enough time. You only have to do compression once, while the video will be watched who knows many times, therefore there is no real point in making your encoding faster if the file size goes up. Your HW encoder is absolutely useless for anything else. It does not make your FX rendering faster, and cannot be used for any other codecs. Even if say, your HW matches CPU-based encoder at first, it is fixed and cannot be updated unless you buy new HW which takes millions to design. Meanwhile any old dev can contribute to x265 and figure out new psychovisual enhancements that will enhance the quality while minimising the file size. Specialized HW (i.e. ASICs) has been in existence for decades, yet despite that, there are very good reasons as to why we still use general-purpose CPUs (and GPUs) for most computing applications.
- Joeri 6y agoYou see the same order of magnitude differences between encoding 8-bit H265 on the 2020 imac vs 2019 imac. The T2 in the 2020 imac has hardware encoding ability for 8-bit H265. Now, the thing is: intel's AVX512 instructions are supposed to accelerate this sort of work, but in practice they are getting lapped by the T2 chip. That signals that apple's ability to tune hardware designs to the needs of content creators is greater than intel's.