)]}'
{
  "commit": "c6cc1f5ea08d65b3bbed58cbd9bae1b60dab7de5",
  "tree": "635c1b41da357cfdcf4bc2d9bec18a8249f6768f",
  "parents": [
    "9dccdf24d9ebbb30483da4b54a7cb97e9cdf44c1"
  ],
  "author": {
    "name": "Rupert Swarbrick",
    "email": "rupert.swarbrick@argondesign.com",
    "time": "Wed Oct 04 11:52:12 2017 +0100"
  },
  "committer": {
    "name": "Rupert Swarbrick",
    "email": "rupert.swarbrick@argondesign.com",
    "time": "Wed Oct 04 16:45:05 2017 +0000"
  },
  "message": "Fix rate costing for small blocks with skip flag\n\nIn av1_rd_pick_intra_mode_sb, the code calculates the rate for Y and\nUV planes separately. If the transform coefficient should be zero,\nrd_pick_intra_sby_mode and rd_pick_intra_sbuv_mode return the cost of\nactually coding up the zero coefficient, but also set a flag (y_skip\nor uv_skip) saying that this could be skipped.\n\nSince the skip flag isn\u0027t per-plane, av1_rd_pick_intra_mode_sb checks\nto see whether both y_skip and uv_skip were true. In that case, it\ncosts the block for setting the skip flag rather than outputting zero\ntransform coefficients.\n\nIf a small block (less than 8x8) has no chroma information,\nx-\u003eskip_chroma_rd is true. In that case, we don\u0027t call\nrd_pick_intra_sbuv_mode and so uv_skip is never set. However, when we\ncome to write the block, it will be written using the skip flag. This\npatch gets the costing right in that case.\n\nChange-Id: Ib31b80b4b44a5c8ed9d9b3f86d782c54927345f3\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "3bf1d7fbc81c5130783b1537dd8b565bc6a660cb",
      "old_mode": 33188,
      "old_path": "av1/encoder/rdopt.c",
      "new_id": "ac2693c643654ac0e030e2ece53ad03d98e07610",
      "new_mode": 33188,
      "new_path": "av1/encoder/rdopt.c"
    }
  ]
}
