Top > PNG > iDOT
  • What does Apple's iDOT chunk do?
    • https://www.hackerfactor.com/blog/index.php?/archives/895-Connecting-the-iDOTs.html
      uint32_t: Height divisor. Apple divides the image vertically. The only value I have ever seen is "2".
      uint32_t: Unknown. I don't know the purpose, but it's always "0". This might be reserved for flags.
      uint32_t: Divided height. The IHDR block defines the image height. This is half the height. Since I've only ever seen a divisor of 2 and Apple PNG images with an even number of lines, I don't know if this serves some other purpose. It could be the maximum height after dividing the image (rounding up).
      uint32_t: Unknown. The only value I have ever seen is "0x40". (The iDOT chunk contains 28 bytes. The value 0x28 in hex is 40. So maybe this is related?)
      uint32_t: First half height. The divisor splits the image vertically, into two halves. This is the height of the first half.
      uint32_t: Second half height. Since I've only seen a divisor of 2 and images that have an even number of rows, the divided height, first half, and second half are all the same value.
      uint32_t: IDAT restart offset. This is the important value and I think it's the entire purpose of the iDOT block. But to understand it, you have to understand the IDAT chunks.

Reload   Diff   Front page List of pages Search Recent changes Backup Referer   Help   RSS of recent changes
Last-modified: Sun, 21 Jan 2024 00:33:02 JST (98d)