)]}'
{
  "commit": "a8b7f00bed64849f52c402d91c7bbbbe3538558a",
  "tree": "91d5a5bc9bd7172078c348d59ebab472a524d0cd",
  "parents": [
    "f0647c10a19ae96304ba0c76f3571023e78dc319"
  ],
  "author": {
    "name": "rivessamr",
    "email": "hello@rive.app",
    "time": "Wed Aug 21 18:29:40 2024 +0000"
  },
  "committer": {
    "name": "rivessamr",
    "email": "hello@rive.app",
    "time": "Wed Aug 21 18:29:40 2024 +0000"
  },
  "message": "iOS images unpremult SIMD support\n\nSupport for SIMD instructions for unpremult\n\nFirst checkin, using rive::int16x4 instructions : 1 pixel at a time\nFurther checkin, using rive::int16x4 instructions : 2 pixels at a time\nLast checkin, avoid computation when opaque pixels (assume there will be enough opaque pixels to warrant this)\n\nThanks to Chris for the SIMD instructions usage in rive\n\nMore checkins: move the decode and unpremult to the rive decoder - this requires modifications to build files. The benefits are we are now running tests on this path. However, there are some issues with decoding two images for tests:\n\n\"../../test/assets/bad.jpg\" ... Apple Preview app cannot open this image, however, the current test says that it should be not null\nAnd\n\"../../test/assets/bad.png\", Apple Preview app can load this images, however, the current test says that it should be null\n\nDiffs\u003d\ne992059d6 iOS images unpremult SIMD support (#7875)\n\nCo-authored-by: rivessamr \u003csuki@rive.app\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "41d3f18513415886e7cda946626ad93923a5f787",
      "old_mode": 33188,
      "old_path": ".rive_head",
      "new_id": "f67274a772d772fe559abdaf782d3d6edaa539b9",
      "new_mode": 33188,
      "new_path": ".rive_head"
    },
    {
      "type": "modify",
      "old_id": "44ba4c9273a86592cfb96b9bd900ec0e7cfd4d15",
      "old_mode": 33188,
      "old_path": "decoders/premake5_v2.lua",
      "new_id": "7f7c37b734d44b4196cdd7b17a19fa687d8aedac",
      "new_mode": 33188,
      "new_path": "decoders/premake5_v2.lua"
    },
    {
      "type": "modify",
      "old_id": "e497a6ea24461e1c3885029fa8cb3bfbb0ddaf80",
      "old_mode": 33188,
      "old_path": "decoders/src/bitmap_decoder.cpp",
      "new_id": "5bb4ee0a081e0a7fe5e0ab1c48eee7aa5252714c",
      "new_mode": 33188,
      "new_path": "decoders/src/bitmap_decoder.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "82b15d6d41f2645e0ad59104ee2a08eeef3b6ede",
      "new_mode": 33188,
      "new_path": "decoders/src/bitmap_decoder_cg.mm"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "6dc5a91ea50df2e5529c2fd77b30306755d8b208",
      "new_mode": 33188,
      "new_path": "decoders/src/bitmap_decoder_thirdparty.cpp"
    },
    {
      "type": "modify",
      "old_id": "9c16173192fb54b690b87fcfd74e94de439f90b5",
      "old_mode": 33188,
      "old_path": "dependencies/premake5_harfbuzz.lua",
      "new_id": "768cb138e3d0aa17f72dcfe23c0e2fbc51b4812f",
      "new_mode": 33188,
      "new_path": "dependencies/premake5_harfbuzz.lua"
    },
    {
      "type": "modify",
      "old_id": "9265555254ea2115a0f77c7476e5afae77db8107",
      "old_mode": 33188,
      "old_path": "dependencies/premake5_harfbuzz_v2.lua",
      "new_id": "c26c1d288952ebc48fad39cd7514ea22294760dd",
      "new_mode": 33188,
      "new_path": "dependencies/premake5_harfbuzz_v2.lua"
    },
    {
      "type": "modify",
      "old_id": "6ef35f95d50f32c0f235793bb59809e10cd44946",
      "old_mode": 33188,
      "old_path": "dependencies/premake5_libjpeg_v2.lua",
      "new_id": "34ba35477a3e19e61594a5160f0f6057ec95b2af",
      "new_mode": 33188,
      "new_path": "dependencies/premake5_libjpeg_v2.lua"
    },
    {
      "type": "modify",
      "old_id": "d4149e715000ac62d9c208f3723b92bc531db68b",
      "old_mode": 33188,
      "old_path": "dependencies/premake5_yoga.lua",
      "new_id": "bf83e1bacfcc3fab49e1ece1ed048a9458952a8e",
      "new_mode": 33188,
      "new_path": "dependencies/premake5_yoga.lua"
    },
    {
      "type": "modify",
      "old_id": "0cbd906277662bf295554211befb56a29666b1a2",
      "old_mode": 33188,
      "old_path": "dev/test/premake5.lua",
      "new_id": "dea984efe23fd9f93c18da6654a78889c3033b29",
      "new_mode": 33188,
      "new_path": "dev/test/premake5.lua"
    },
    {
      "type": "modify",
      "old_id": "401713768307e3f16a130c3974bde1a5c19d3899",
      "old_mode": 33188,
      "old_path": "skia/thumbnail_generator/build/premake5.lua",
      "new_id": "a724d647b6519063e7b7a4148b7a1058182fef0d",
      "new_mode": 33188,
      "new_path": "skia/thumbnail_generator/build/premake5.lua"
    },
    {
      "type": "modify",
      "old_id": "21132c27d9e21669a04e62fdc497202695c47e42",
      "old_mode": 33188,
      "old_path": "test/image_decoders_test.cpp",
      "new_id": "4d6a8216aedbd0beabda781211beae8e5cc926fd",
      "new_mode": 33188,
      "new_path": "test/image_decoders_test.cpp"
    }
  ]
}
