)]}'
{
  "commit": "d706ed258b631901cb7df1e0687f4c957bd87778",
  "tree": "9c435de9f313c79a22fa2489e456f172c8d232e7",
  "parents": [
    "f9d77bd5a2541387dc435e052704b2e734307c20"
  ],
  "author": {
    "name": "David Barker",
    "email": "david.barker@argondesign.com",
    "time": "Tue May 02 14:16:01 2017 +0100"
  },
  "committer": {
    "name": "Debargha Mukherjee",
    "email": "debargha@google.com",
    "time": "Tue May 02 17:33:06 2017 +0000"
  },
  "message": "Fix encode/decode mismatch when enabling frame resizing\n\nThere was a bug caused by the following sequence of events:\n* A frame was coded full-size, filling out the\n  cm-\u003eabove_context array as normal.\n* The next frame was coded at a reduced size\n* Due to changes between VP9 and AV1, we now clear the\n  context arrays per-tile on the decoder side. The amount\n  cleared is the span of the tile, rounded up to the next\n  mi unit. Since this frame is at a reduced size, this\n  leaves some entries \"off the edge of the frame\" set to 1.\n* get_entropy_context() reads a full transform block\u0027s worth\n  of data from cm-\u003eabove_context. This could read the off-frame\n  1s, even when all the in-frame values were 0 (eg, because\n  we\u0027re working on the topmost block of the frame).\n* This leads to the decoder getting the wrong context, causing\n  an encode/decode mismatch.\n\nWe fix this by rounding up to the next superblock, rather than\nthe next mi unit, when clearing the context arrays per-tile.\nThis is safe because all tiles other than the rightmost column\nmust be an integer number of superblocks wide.\n\nBUG\u003daomedia:481\n\nChange-Id: I8283c69957900572d44eb8d7f633cb59e352da3c\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "69c48793ee82ad91c7df56624d0128283982468c",
      "old_mode": 33188,
      "old_path": "av1/common/onyxc_int.h",
      "new_id": "dbc047d05658526d9e900631c72a1ace0aa67717",
      "new_mode": 33188,
      "new_path": "av1/common/onyxc_int.h"
    }
  ]
}
