)]}'
{
  "commit": "0d94e966268bbc200ea57e074f33afca6321e483",
  "tree": "91db55b2bb29e1bda45d9501c137372cee549a54",
  "parents": [
    "eecb5a5c0a3f927d001f8444cae4b0c2d9dbcb74"
  ],
  "author": {
    "name": "Alec Mouri",
    "email": "alecmouri@google.com",
    "time": "Thu Dec 05 19:03:32 2024 +0000"
  },
  "committer": {
    "name": "SkCQ",
    "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
    "time": "Fri Dec 06 19:50:34 2024 +0000"
  },
  "message": "Support PNG gainmaps\n\nTwo private PNG chunks are defined:\n* gmAP: contains a binary blob that is an ISO gainmap payload\n* gdAT: contains a PNG-encoded image that is the gainmap.\n\nThe base image contains both a gmAP and a gdAT chunk: the gmAP chunk\nonly contains ISO versioning (for future-proofing).\n\nThe gainmap image will contain only a gmAP chunk that actually contains\nthe gainmap metadata. If there\u0027s a nested gdAT chunk upon DEcoding, then\nwe drop it on the floor.\n\nThis is pretty much option B described in:\nhttps://github.com/w3c/png/issues/380#issuecomment-2325163149, but we\nare using privately-defined chunks because the spec has not yet been\nagreed on yet :)\n\nBug: b/329469053\nChange-Id: I00da00f241eb02d3f19384b3525bd8650b368a9e\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/926765\nReviewed-by: Florin Malita \u003cfmalita@google.com\u003e\nCommit-Queue: Alec Mouri \u003calecmouri@google.com\u003e\nAuto-Submit: Alec Mouri \u003calecmouri@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "fa7b62e5cd36e1afa441159cabe4e4dc70d44af3",
      "old_mode": 33188,
      "old_path": "gn/codec.gni",
      "new_id": "cc20b2eeb31d1bbf02c727fc9fedec8147a65d2e",
      "new_mode": 33188,
      "new_path": "gn/codec.gni"
    },
    {
      "type": "modify",
      "old_id": "3ff126ec2226c3612485b1796431013e1bd21601",
      "old_mode": 33188,
      "old_path": "include/codec/SkCodec.h",
      "new_id": "076d55ebb32f0fbe85c193afcac04045ceb23722",
      "new_mode": 33188,
      "new_path": "include/codec/SkCodec.h"
    },
    {
      "type": "modify",
      "old_id": "b26befa323ef30174df216fac830b551c9ce6f51",
      "old_mode": 33188,
      "old_path": "include/encode/SkPngEncoder.h",
      "new_id": "909f5e773f66e0319cda3d03f96f192a4963aa1b",
      "new_mode": 33188,
      "new_path": "include/encode/SkPngEncoder.h"
    },
    {
      "type": "modify",
      "old_id": "a471e4059092f4bcc2966f787b520b801d871f6d",
      "old_mode": 33188,
      "old_path": "src/codec/BUILD.bazel",
      "new_id": "aeea50bec54e7d537d851aae0d064676f0a99fc6",
      "new_mode": 33188,
      "new_path": "src/codec/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "98b69f04283a4e1f7266901c460535c6ea77b938",
      "old_mode": 33188,
      "old_path": "src/codec/SkPngCodec.cpp",
      "new_id": "22d28a6d2e57be4da64089643ca1da4e63e4ce09",
      "new_mode": 33188,
      "new_path": "src/codec/SkPngCodec.cpp"
    },
    {
      "type": "modify",
      "old_id": "aef9a6597c305430fc3e0556d6131c0a545ac4b1",
      "old_mode": 33188,
      "old_path": "src/codec/SkPngCodec.h",
      "new_id": "1a2c138c67164b82e51c47bb38974e4e3e4d0e7b",
      "new_mode": 33188,
      "new_path": "src/codec/SkPngCodec.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "db27cbe7c0ba7097205b4da197443375e9515b18",
      "new_mode": 33188,
      "new_path": "src/codec/SkPngCompositeChunkReader.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "fc8b2eb27d2429a6665c094a0eceb881141ca083",
      "new_mode": 33188,
      "new_path": "src/codec/SkPngCompositeChunkReader.h"
    },
    {
      "type": "modify",
      "old_id": "eb6c21357bb6c0f519231ee428330c8b48f52686",
      "old_mode": 33188,
      "old_path": "src/encode/SkPngEncoderImpl.cpp",
      "new_id": "8272540ada76eea15acb95a2a81721de24a77980",
      "new_mode": 33188,
      "new_path": "src/encode/SkPngEncoderImpl.cpp"
    }
  ]
}
