)]}'
{
  "commit": "6c545216a97e8ccb04ddbafed8d65b157df7c31b",
  "tree": "d35473aec4a251880d1e6a89478c3ab0fc3ae165",
  "parents": [
    "e84eec542dc2b2eb4aee654f941f05798088845c"
  ],
  "author": {
    "name": "Rupert Swarbrick",
    "email": "rupert.swarbrick@argondesign.com",
    "time": "Fri Sep 01 17:17:25 2017 +0100"
  },
  "committer": {
    "name": "Debargha Mukherjee",
    "email": "debargha@google.com",
    "time": "Sun Sep 03 04:46:44 2017 +0000"
  },
  "message": "Move loop restoration coefficients to within the frame\n\nRather than encoding the loop restoration coefficients at the start of\nthe frame header, this patch moves them to occur just after certain\ntop-level superblocks.\n\nYou might hope that we could just encode coefficients on top-level\nsuperblocks where the top-left corner of the superblock was also the\ntop-left corner of the loop restoration tile. Unfortunately, this\ncan\u0027t work with the superres experiment, where the loop restoration\ntiles don\u0027t necessarily line up with the superblocks. Indeed, in\ngeneral there can be multiple different loop restoration coefficients\nthat apply in a given top-level superblock. This patch defines a\nfunction, av1_loop_restoration_corners_in_sb, which yields the\nrectangle [rrow0, rrow1) x [rcol0, rcol1) of loop restoration tiles\nwhose top left corners lie in this top-level superblock.\n\nThe total file size should be unchanged by this patch: the bits have\njust been moved from the frame header and spread out among the rest of\nthe frame.\n\nChange-Id: Icf43b0560964a63dea0d2cd801313f04139188d7\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "57bf41ab5bc3f338f54193ebcd0a65de747f6fd6",
      "old_mode": 33188,
      "old_path": "av1/common/blockd.h",
      "new_id": "a5aa4d8fb870ac4a7b3f0d1fda4a0e5cb0f25ed8",
      "new_mode": 33188,
      "new_path": "av1/common/blockd.h"
    },
    {
      "type": "modify",
      "old_id": "910ecc33abea50dfd1c7ff3139263d9de838d78f",
      "old_mode": 33188,
      "old_path": "av1/common/restoration.c",
      "new_id": "11ee1d367e746b234a8398c26881d48d8cd999ea",
      "new_mode": 33188,
      "new_path": "av1/common/restoration.c"
    },
    {
      "type": "modify",
      "old_id": "b71853974a1939834bc8e948e20a1c56598a8937",
      "old_mode": 33188,
      "old_path": "av1/common/restoration.h",
      "new_id": "4a9ade9775cfc81ceef0540e2f4ed2e602f39fd9",
      "new_mode": 33188,
      "new_path": "av1/common/restoration.h"
    },
    {
      "type": "modify",
      "old_id": "fb0dbd7c3d25c184ad885c7f058394a83b8ff644",
      "old_mode": 33188,
      "old_path": "av1/decoder/decodeframe.c",
      "new_id": "9978a9fe567c4a504f2f177c154c14523898847c",
      "new_mode": 33188,
      "new_path": "av1/decoder/decodeframe.c"
    },
    {
      "type": "modify",
      "old_id": "be8073c19b435c9daffa03665d4a90cf1f63d6a6",
      "old_mode": 33188,
      "old_path": "av1/encoder/bitstream.c",
      "new_id": "da7951d43c5ccd980ebbac028d3f5132c25cb6dc",
      "new_mode": 33188,
      "new_path": "av1/encoder/bitstream.c"
    }
  ]
}
