)]}'
{
  "commit": "fc1404d58cf32d8ae853fafcd36fb6445bf5914f",
  "tree": "6b05567b793270c9794bfe2541dd9023859bb522",
  "parents": [
    "02a6006ae2a7c03f175b3fe0a1c5defe04a8d055"
  ],
  "author": {
    "name": "chiyotsai",
    "email": "chiyotsai@google.com",
    "time": "Thu Aug 08 12:09:12 2019 -0700"
  },
  "committer": {
    "name": "Chi Yo Tsai",
    "email": "chiyotsai@google.com",
    "time": "Tue Aug 13 00:24:00 2019 +0000"
  },
  "message": "Release previous hash-me memory when encoding new frame\n\nThe hash-table from hash-me has two usages:\n  - intrablock copy for keyframe\n  - prune subpel search in interframe\n\nThe current usages only require the hash-table for the current and\nprevious coded frame be kept. But currently in the codebase, the\nmemory is only released when the frame buffers are refreshed.\n\nThis commit changes so that the hash-tables for frames other than\nthe current and previously coded frames are released, which allows\nsignificant memory saving.\n\nPerformance when encoding 4k videos over 33 frames:\nBaseline: 7.2 GB\n Commit : 3.1 GB\n Saving : 4.1 GB, or ~57% memory reduction\n\nBUG\u003daomedia:2453\n\nChange-Id: I659dbe5eb2d7badea7239a841fc5ba06987f75f7\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "f205562ed401215b799dca154440ca3255be681a",
      "old_mode": 33188,
      "old_path": "av1/encoder/encodeframe.c",
      "new_id": "52c651cf540bf5e30698079ee0e17fc5b6544f46",
      "new_mode": 33188,
      "new_path": "av1/encoder/encodeframe.c"
    },
    {
      "type": "modify",
      "old_id": "1da9a6a40909eb6f29fa2b153b0ba236bf101748",
      "old_mode": 33188,
      "old_path": "av1/encoder/encoder.c",
      "new_id": "d5349d6b2c7bc2f0f6b809189310efa666592df0",
      "new_mode": 33188,
      "new_path": "av1/encoder/encoder.c"
    },
    {
      "type": "modify",
      "old_id": "9a7e25a6754c9ee5305f2d0279090ef8279cc80e",
      "old_mode": 33188,
      "old_path": "av1/encoder/encoder.h",
      "new_id": "2f9264d820afe447aa4dd7121882ddeb8b6cda82",
      "new_mode": 33188,
      "new_path": "av1/encoder/encoder.h"
    },
    {
      "type": "modify",
      "old_id": "950a570b121b08241be25daa91a9b8991e577e48",
      "old_mode": 33188,
      "old_path": "av1/encoder/hash_motion.c",
      "new_id": "25fedf953bf355b9fcb5b1e646f6920442545aeb",
      "new_mode": 33188,
      "new_path": "av1/encoder/hash_motion.c"
    },
    {
      "type": "modify",
      "old_id": "ed9bb6e52d271e44945d9a741ebf2f786c2db4fa",
      "old_mode": 33188,
      "old_path": "av1/encoder/hash_motion.h",
      "new_id": "0ea9daa337c81c760b4a57a76e54e21d59551584",
      "new_mode": 33188,
      "new_path": "av1/encoder/hash_motion.h"
    }
  ]
}
