)]}'
{
  "commit": "fecb2abc4ebc66054ae1ac4d3caa1a1b500a0c8d",
  "tree": "45f508d606039e610cede0ef8969c12919f32a96",
  "parents": [
    "e13a11f34f78aa7375aff953e3851cd09441cabe"
  ],
  "author": {
    "name": "Fergus Simpson",
    "email": "afergs@google.com",
    "time": "Sun Apr 30 15:49:57 2017 -0700"
  },
  "committer": {
    "name": "Fergus Simpson",
    "email": "afergs@google.com",
    "time": "Tue May 09 16:08:13 2017 +0000"
  },
  "message": "resize-refactor: Change resizing process with helpers\n\nAdds three new helpers and changes one other. The intention of this is\nto make the triggering and function of resizing simpler. The new process\nis to resize to the next state and then update the current state to\nmatch. The new helpers reflect this change and make the overall flow\nsimpler.\n\nresize_pending is now a helper instead of a member, so it doesn\u0027t need\nto be raised manually. A resize is pending when the numerator or\ndenominator of the next resize state is different from the current one.\nresize_pending could be 1 (scale down), 0 (no change), or -1 (return to\noriginal resolution if 1-pass CBR), but now it can only be 1 or 0. To\nreturn to the original resolution just set the scale to 1:1. This\nreduces complexity with no change in functionality.\n\nresize_unscaled just returns 1 if the current numerator and denominator\nare equal. This makes some if conditions cleaner.\n\nresize_step makes the current scale equal to the next scale. This\nsignifies that a resize is complete and will cause resize_pending to be\nfalse until the next state is changed. This is the end of the new\nresizing procedure.\n\nav1_calculate_coded_size has been changed to calculate the next size\ninstead of the current size. The current state can\u0027t be updated until\nthe resize is complete because if it were, the resize_pending state\nwould drop and the resize wouldn\u0027t finish. This just means the next\nresolution is the target resolution until the resize is complete.\n\nChange-Id: I5d5855cc83f532d3a8b1f8853ba70a0d43221fbf\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "e41c608b6442e0fdcdcb39e000f2c56e125e75f0",
      "old_mode": 33188,
      "old_path": "av1/encoder/aq_cyclicrefresh.c",
      "new_id": "b2b4106172d05ca54682cc9b15611e1e19ff22ee",
      "new_mode": 33188,
      "new_path": "av1/encoder/aq_cyclicrefresh.c"
    },
    {
      "type": "modify",
      "old_id": "e2047e3ac716ec934286a8343d09b9404851472d",
      "old_mode": 33188,
      "old_path": "av1/encoder/encoder.c",
      "new_id": "44f447f57d5cd4d106ffbdff72d524dbee7f4add",
      "new_mode": 33188,
      "new_path": "av1/encoder/encoder.c"
    },
    {
      "type": "modify",
      "old_id": "bac468fe59fe5e56803d91480fae8729bb0a6bd8",
      "old_mode": 33188,
      "old_path": "av1/encoder/encoder.h",
      "new_id": "4373b6f64e08e6f1214ecceb6ecffe1507029bac",
      "new_mode": 33188,
      "new_path": "av1/encoder/encoder.h"
    },
    {
      "type": "modify",
      "old_id": "109de34b79dcac0e85a83a2f42561173b2122ff0",
      "old_mode": 33188,
      "old_path": "av1/encoder/firstpass.c",
      "new_id": "ac4210bb3158c5ca828ecf898fcfbb9eeffb28b8",
      "new_mode": 33188,
      "new_path": "av1/encoder/firstpass.c"
    },
    {
      "type": "modify",
      "old_id": "cb893d4d0bc5b7c50895418d965717dc9a3428c9",
      "old_mode": 33188,
      "old_path": "av1/encoder/firstpass.h",
      "new_id": "830f4e1be0f08e2177716e6ef14138ebd295c1f3",
      "new_mode": 33188,
      "new_path": "av1/encoder/firstpass.h"
    },
    {
      "type": "modify",
      "old_id": "efca3710a09c76a328ccd9f10c914f9e3057a999",
      "old_mode": 33188,
      "old_path": "av1/encoder/ratectrl.c",
      "new_id": "4552c674e0b13e1733530110dfbaf1436f54d500",
      "new_mode": 33188,
      "new_path": "av1/encoder/ratectrl.c"
    }
  ]
}
