4 ms·
> For a 1024x1024 image, that’s 256x256 blocks, where each one can independently be one of 10 separate formats. In total, that’s 10<sup>65536</sup> potential co
by Scaevolus 10y ago
> For a 1024x1024 image, that’s 256x256 blocks, where each one can independently be one of 10 separate formats. In total, that’s 10<sup>65536</sup> potential combinations for the encoder to search through in order to find the best-possible-quality image.
This math is misleading. ETC2 is a GPU texture compression format, so blocks are accessed independently-- each 4x4 chunk is entirely represented by 8 or 16 bytes of data. That means there's only 655,360 different possibilities to search through, assuming each chunk is encoded independently using the best method. That works out to ~10ms per chunk for brute force, which is slow but not completely crazy.
Here's a slide deck with a generic overview on what ETC2 provides: https://www.khronos.org/assets/uploads/developers/library/2012-siggraph-opengl-es-bof/Ericsson-ETC2-SIGGRAPH_Aug12.pdf https://www.khronos.org/assets/uploads/developers/library/20...
And here's one with detailed information on how ETC2 encodes blocks: http://www.graphicshardware.org/previous/www_2007/presentations/strom-etc2-gh07.pdf http://www.graphicshardware.org/previous/www_2007/presentati...