Building a blazing fast ETC2 compressor

VR, Textures and ETC2

Introducing ETC2Comp: a fast ETC2 encoder

This is the Logarithmic-Scale version of the prior graph, provided for clarity.

Sanity check: What is Mali doing?

Why is ETC2Comp so much faster?

0. Understanding the problem

1. Generating the proto-block-chains, offline

2. Block scoring, sorting, and assigning

3. Block testing

Note: the post-encoded model for each block does not produce perfectly colored squares; I just ran out of time and didn’t generate the proper images :( You can see the parts of the chain we’re not testing in this pass as more transparent.

4. Iterating

Each block then decides if the newest format produces a better quality than the previous best-quality format, and updates pointers appropriately.

5. The effort parameter

6. Knowing when to stop

7. Threading the hell out of it.

Wrap-up

--

--

DA @ Google; http://goo.gl/bbPefY | http://goo.gl/xZ4fE7 | https://goo.gl/RGsQlF | http://goo.gl/4ZJkY1 | http://goo.gl/qR5WI1

Love podcasts or audiobooks? Learn on the go with our new app.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store