)]}'
{
  "commit": "17b4100247e7f77c435941f54b8a87cb10d39dad",
  "tree": "1636eecc9cbf0bc46dede0abfcfe274bfde35dc2",
  "parents": [
    "a1c0224540f8594cfd151885a20d0247e79c607f"
  ],
  "author": {
    "name": "Urvang Joshi",
    "email": "urvang@google.com",
    "time": "Wed Sep 09 00:55:15 2020 -0700"
  },
  "committer": {
    "name": "Urvang Joshi",
    "email": "urvang@google.com",
    "time": "Thu Sep 10 00:48:38 2020 +0000"
  },
  "message": "Bugfix: low delay with pyramid (adaptive QP case)\n\nFrames are assigned qp based on their pyramid levels as follows:\n- Starting with a quality of pyramid level 1, determined based on some stats\n- Then selecting a value between that and cq_level, depending on\npyramid level.\n\nThis was working fine for high delay case (out-of-order coding), as ARF\nframe comes before any frames at lower levels of the pyramid. So, one\ncan store qp for ARF in \u0027arf_q\u0027 and use that for later frames.\n\nHowever, for low-delay case, frames are coded in display order. So,\n\u0027arf_q\u0027 was used uninitialized (had value 0).\n\nTo correct this for low delay case, now initialize this variable for the\nfirst frame that is not a bottom leaf frame.\n\nAlso, renamed this variable to more appropriate name \u0027level1_qp\u0027.\nAnd added some checks to avoid uninitialized values in the future.\n\nCoding gain for low delay default vs --subgop-config-str\u003dld:\n                    Before    After\nlowres2:            +1.026    -3.021\nmidres2:            +3.295    -3.053\nobjective-1-fast:   +3.515    -4.404\n\nChange-Id: Ic57091de14acf2cb9881673301aa53e054611f84\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "717d7776194d1382b8c8d1a9e416842f838e165a",
      "old_mode": 33188,
      "old_path": "av1/encoder/gop_structure.c",
      "new_id": "e4ce77576b12af6b0fc110a6f38c2e5aa26f35d8",
      "new_mode": 33188,
      "new_path": "av1/encoder/gop_structure.c"
    },
    {
      "type": "modify",
      "old_id": "bdebe20ceb3e4dfe20e4f623a03c53c0587c203d",
      "old_mode": 33188,
      "old_path": "av1/encoder/ratectrl.c",
      "new_id": "7fff5d8bb83e143afc420867afcf0e3a526fba9a",
      "new_mode": 33188,
      "new_path": "av1/encoder/ratectrl.c"
    },
    {
      "type": "modify",
      "old_id": "271ab551098ec0be68049f5284c3bdc0e136b7a5",
      "old_mode": 33188,
      "old_path": "av1/encoder/ratectrl.h",
      "new_id": "b2de5b6f1bb3a105d17bd960ab8967ddc2431c5d",
      "new_mode": 33188,
      "new_path": "av1/encoder/ratectrl.h"
    }
  ]
}
