)]}'
{
  "commit": "002e7b7a03a7cba015acc815b8a49de5ebc5c9f7",
  "tree": "46f70b764a337e2d5516a2e5edae47d1725bff4b",
  "parents": [
    "ed8e2d2a6056817a7997321f79ca15b2a1968fe0"
  ],
  "author": {
    "name": "Rostislav Pehlivanov",
    "email": "rpehlivanov@mozilla.com",
    "time": "Wed Feb 15 19:45:54 2017 +0000"
  },
  "committer": {
    "name": "Rostislav Pehlivanov",
    "email": "rpehlivanov@mozilla.com",
    "time": "Fri Feb 17 00:18:53 2017 +0000"
  },
  "message": "Implement a new rate control system\n\nThis commit implements a new rate control system which was ported from\nDaala\u0027s rate control system (which was based off of Theora\u0027s rate\ncontrol system) to the encoder. Its aim is to address the weaknesses of\nthe current rate control system and eventually serve as its replacement.\n\nThis is still work in progress. So far this commit only implements\nsupport for single pass encoding for constant quality and bitrate\ntargeting.\nAdditional commits which implement two-pass support and the rest to\nmatch the feature set of the current rate control system are coming\nsoon.\n\nThe rate control system hasn\u0027t been fully tuned (and will likely need\nadditional tuning as the encoder\u0027s development progresses) and does\ncontain some \"hacks\", to convert the quality to a quantizer value\n(empirical) and to tweak the quantizer in between golden frames (which\nuses some code from the current rate control system as well as code\nwhich attempts to model what that code does), the latter of which is\nonly in the constant quality codepath.\n\nBitrate targeting works much better than the current rate control\nsystem\u0027s targeting and will actually closely match the rate specified by\nthe user without the current rate control system\u0027s bursty behaviour.\n\nChange-Id: I588fbfd2e80a3d21ce7176903115d6a96ef1700a\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "3e1fe8177522a8b3b83b94c05bae177c3ba015c4",
      "old_mode": 33188,
      "old_path": "av1/av1_cx.mk",
      "new_id": "e812e9e6234fed4c35d800e6950d86c1a4f891e9",
      "new_mode": 33188,
      "new_path": "av1/av1_cx.mk"
    },
    {
      "type": "modify",
      "old_id": "ee5e2c5def7cbb74077bc1a1d20cf0aafdbfbc89",
      "old_mode": 33188,
      "old_path": "av1/av1_cx_iface.c",
      "new_id": "a6278008bc491fc955003e17768f70c336e045e4",
      "new_mode": 33188,
      "new_path": "av1/av1_cx_iface.c"
    },
    {
      "type": "modify",
      "old_id": "68a6f905b9ab92e37cf2a2425ed3724ade98ae78",
      "old_mode": 33188,
      "old_path": "av1/common/odintrin.h",
      "new_id": "66962ad15f0428b8f3673116da3c164380291a0c",
      "new_mode": 33188,
      "new_path": "av1/common/odintrin.h"
    },
    {
      "type": "modify",
      "old_id": "6e1b0e970090390e8ae179bac00c5a26c68f62b3",
      "old_mode": 33188,
      "old_path": "av1/common/quant_common.c",
      "new_id": "63841292943e90ac79198900ebe80ccc6c7eb06c",
      "new_mode": 33188,
      "new_path": "av1/common/quant_common.c"
    },
    {
      "type": "modify",
      "old_id": "0b7f97db7b9ffc84b3b0c139b18e985dcd72ea6b",
      "old_mode": 33188,
      "old_path": "av1/common/quant_common.h",
      "new_id": "3f442427def54078a3cf722455f558d2330abd9d",
      "new_mode": 33188,
      "new_path": "av1/common/quant_common.h"
    },
    {
      "type": "modify",
      "old_id": "6e443611bff54424fd4faaf5cddd612dd382bff3",
      "old_mode": 33188,
      "old_path": "av1/encoder/encoder.c",
      "new_id": "e408278169ef6bf35a939155393746109b405ec5",
      "new_mode": 33188,
      "new_path": "av1/encoder/encoder.c"
    },
    {
      "type": "modify",
      "old_id": "8968cfda11fae5d7b77182c0f12710b2425bf650",
      "old_mode": 33188,
      "old_path": "av1/encoder/encoder.h",
      "new_id": "3cfb5b7be495e0be40c6f21dd6cf50e1abcad446",
      "new_mode": 33188,
      "new_path": "av1/encoder/encoder.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e22b4425309f81757274c1a0b0d611a344d9346c",
      "new_mode": 33188,
      "new_path": "av1/encoder/ratectrl_xiph.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "953f3a5b9f9238a2f7e7a3a26e1fa625d54e5304",
      "new_mode": 33188,
      "new_path": "av1/encoder/ratectrl_xiph.h"
    },
    {
      "type": "modify",
      "old_id": "dc8e026e3118efb2a83be97763d25afedc031241",
      "old_mode": 33261,
      "old_path": "configure",
      "new_id": "8a0dfa42047da9c32e86cd2a5ceda9df56728b4f",
      "new_mode": 33261,
      "new_path": "configure"
    }
  ]
}
