)]}'
{
  "commit": "e2c3c87c7dc7246802550a9d74ac98b09c73856c",
  "tree": "9e532adcb9530a5f98b01b478798d452317ca02c",
  "parents": [
    "ecdd4b74853dcdd9da30f4827a2c35aab8af7253"
  ],
  "author": {
    "name": "Joe Drago",
    "email": "jdrago@netflix.com",
    "time": "Mon Mar 09 11:22:28 2020 -0700"
  },
  "committer": {
    "name": "Joe Drago",
    "email": "jdrago@netflix.com",
    "time": "Mon Mar 09 11:22:28 2020 -0700"
  },
  "message": "Big RGB Conversion Refactor\n\n* Removed RGB planes from avifImage and associated avifPlanesFlags (breaking change)\n* New struct avifRGBImage for storing RGB conversion settings and pixel buffer\n* Added support for encoding and preserving limited alpha range (avifImage.alphaRange)\n* Created avifyuv test for roundtrip testing of depth rescaling / range conversion / formats\n* Removed memset(0) calls on YUVA plane allocation, they were unnecessary and slow\n* Removed old AVIF_FIX_STUDIO_ALPHA block, now that limited alpha is allowed/supported\n* Updated README with new RGB conversion examples\n* Updated avif_example1 to use new conversion\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "b781450fbe0be2d9e9823bd448a25c0cc2849e36",
      "old_mode": 33188,
      "old_path": "CMakeLists.txt",
      "new_id": "fb27bb4dd1241f803b5e9f1df2a5145e3f21222e",
      "new_mode": 33188,
      "new_path": "CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "bdc9997c952b55a36bc63f60ed8dd01767caff7f",
      "old_mode": 33188,
      "old_path": "README.md",
      "new_id": "d62e82d7352e1f9dd0cfdab25c0acb2f3df9d52a",
      "new_mode": 33188,
      "new_path": "README.md"
    },
    {
      "type": "modify",
      "old_id": "b7a9994427a0d7e47930c4773df82efa665ace7d",
      "old_mode": 33188,
      "old_path": "examples/avif_example1.c",
      "new_id": "cb2e1cd0a0db90ae4f6256168e65f6efcf7fab2b",
      "new_mode": 33188,
      "new_path": "examples/avif_example1.c"
    },
    {
      "type": "modify",
      "old_id": "5917461ae4a11bb1b286dbca564c028fa28fb6ab",
      "old_mode": 33188,
      "old_path": "include/avif/avif.h",
      "new_id": "fb056544735ace84e84db3da9ca9019e722f5c98",
      "new_mode": 33188,
      "new_path": "include/avif/avif.h"
    },
    {
      "type": "modify",
      "old_id": "d350bc4ee0a7e4d71d7ea3403e69ff8e101f79f8",
      "old_mode": 33188,
      "old_path": "include/avif/internal.h",
      "new_id": "2d46f63a2671869621c231f3caa71030f443fa5a",
      "new_mode": 33188,
      "new_path": "include/avif/internal.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "628077499cbd1f548fb2e777f482b012505c6a4f",
      "new_mode": 33188,
      "new_path": "src/alpha.c"
    },
    {
      "type": "modify",
      "old_id": "35577626105980282f24ed54615c2a62b0cbe409",
      "old_mode": 33188,
      "old_path": "src/avif.c",
      "new_id": "98944614e0c02f40b46183f632f87df6b6b48af7",
      "new_mode": 33188,
      "new_path": "src/avif.c"
    },
    {
      "type": "modify",
      "old_id": "10d63afa5a9a901060d4314d9d8be4e49e951502",
      "old_mode": 33188,
      "old_path": "src/codec_aom.c",
      "new_id": "7515681ad367338097aed293a38f7340f493c568",
      "new_mode": 33188,
      "new_path": "src/codec_aom.c"
    },
    {
      "type": "modify",
      "old_id": "813ae0a493718fb50e5520cc32d127ddf8ac15db",
      "old_mode": 33188,
      "old_path": "src/codec_dav1d.c",
      "new_id": "cc6bccd2dc64ff87663228a7e42ced5322115f7f",
      "new_mode": 33188,
      "new_path": "src/codec_dav1d.c"
    },
    {
      "type": "modify",
      "old_id": "8ba86804d716680dbbd0d45cd882cd450c932cff",
      "old_mode": 33188,
      "old_path": "src/codec_libgav1.c",
      "new_id": "aaa0b39754fc21cfbf992143c9000404e8c95138",
      "new_mode": 33188,
      "new_path": "src/codec_libgav1.c"
    },
    {
      "type": "modify",
      "old_id": "9176a646106a7f63c85246a2369f87b7f8aa91b8",
      "old_mode": 33188,
      "old_path": "src/codec_rav1e.c",
      "new_id": "60a3b22ee044dcbf86d26cd98010907e55c294e7",
      "new_mode": 33188,
      "new_path": "src/codec_rav1e.c"
    },
    {
      "type": "modify",
      "old_id": "eb1062b8777c7f39ecaabf7a25b34d496561f79f",
      "old_mode": 33188,
      "old_path": "src/read.c",
      "new_id": "1e1aa5e1efc8ca1df5a48ebc05d07ee25e3205dd",
      "new_mode": 33188,
      "new_path": "src/read.c"
    },
    {
      "type": "modify",
      "old_id": "0c05422d40b4f08ea86ced8b326138ca7a8fd765",
      "old_mode": 33188,
      "old_path": "src/reformat.c",
      "new_id": "f749fc23dbbe44d2b26bda663303ae06402cec70",
      "new_mode": 33188,
      "new_path": "src/reformat.c"
    },
    {
      "type": "modify",
      "old_id": "9d45b4a4d7e2e3d10db5e2e7f40b154023894523",
      "old_mode": 33188,
      "old_path": "src/write.c",
      "new_id": "8f2fbacaca0cb52e3454b4a4b1c1c12c2919b1b3",
      "new_mode": 33188,
      "new_path": "src/write.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "137e406c2636f0b2163f9fc01f375786d964f890",
      "new_mode": 33188,
      "new_path": "tests/avifyuv.c"
    }
  ]
}
