Skip to content

ETC1S Texture Video Specification (wiki page) says flip bit = 1 #377

@nigeltao

Description

@nigeltao

https://github.com/BinomialLLC/basis_universal/wiki/.basis-File-Format-and-ETC1S-Texture-Video-Specification

says (emphasis added)

In ETC1S, the mode is always differential (diff bit=1), the Rd, Gd, and Bd color deltas are always (0,0,0), and the flip bit is always set. ETC1S blocks are specified using the 15-bit 555 base color (called "color endpoints" in this specification, which is terminology derived from our BC1 texture format systems), the 3-bit intensity table index, and the 4x4 texel array of 2-bit selector indices (which are called "pixel index bits" in the Khronos ETC1 specification).

The Khronos spec says

the flip bit is encoded as 0 — the subsets are identical anyway.

I mean, it doesn't matter much in practice. As Khronos says, both halves of the 4×4 block have the same base color regardless of flip-ness. But as someone writing an ETC1S encoder, I was momentarily confused on what to output and this wiki page ranks pretty highly when doing a web search for "etc1s specification".

BasisU code also emits flip bit = 0:

//block.set_flip_bit(true);
// Setting the flip bit to false to be compatible with the Khronos KDFS.
block.set_flip_bit(false);


Relatedly, the Khronos spec also sas that "The [3 bit] Table codeword for each subblock is identical" but this wiki page also doesn't explicitly mention this constraint, unless you count the "the" (meaning unique) in "the 3-bit intensity table index".

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions