)]}'
{
  "commit": "64764fd408d1dc0d7c50324d1fa44b33277ee494",
  "tree": "476c87bcea6acc3ab8085897f4d9602b3d973f88",
  "parents": [
    "9b6bb651da938a0561377398f0b859159c65a6cc"
  ],
  "author": {
    "name": "Urvang Joshi",
    "email": "urvang@google.com",
    "time": "Wed Feb 28 11:32:25 2024 -0800"
  },
  "committer": {
    "name": "Urvang Joshi",
    "email": "urvang@google.com",
    "time": "Mon Mar 04 08:05:13 2024 -0800"
  },
  "message": "Guided CNN Restoration: completely rewrite the code.\n\nEarlier, for each CNN model:\n- Encoder was running 4 inferences: 1 for full frame used by NONE\n  quadtree partition and 3 for partial frame (multiple of quadtree unit\n  size) used by SPLIT, VERT and HORZ quadtree partitions.\n- Decoder was running 2 inferences: 1 for full frame and 1 for partial\n  frame.\n\nInstead, we rewrite the code so that:\n- Both encoder and decoder run just 1 inference each.\n- For each qudtree unit, we perform RDO to pick best of NONE, SPLIT,\n  HORZ and VERT partition types using RDCost.\n\nAlso, related improvements to code:\n- Clear demarkations for encoder and decoder related functions.\n- Refactor lots of repeated logic for inference, rate computation etc.\n- Pad width and height to allow 4 downscale/upscale, as done by current\n  models.\n- If there is an error in inference, report an error at codec level.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "920486888f908b92071490af72b39b1a147fd02c",
      "old_mode": 33188,
      "old_path": "av1/common/cnn_tflite.cc",
      "new_id": "ee18a756f5fac2b5cbfba4140e006fdb4e1c1b53",
      "new_mode": 33188,
      "new_path": "av1/common/cnn_tflite.cc"
    },
    {
      "type": "modify",
      "old_id": "2cbbae1e4f7ff5b9468f303c927ebd3f983de05d",
      "old_mode": 33188,
      "old_path": "av1/common/cnn_tflite.h",
      "new_id": "6272cf6366e259bf737c353df2750b9a9e8ff630",
      "new_mode": 33188,
      "new_path": "av1/common/cnn_tflite.h"
    },
    {
      "type": "modify",
      "old_id": "70f48d8f5bc0007ba0b4f911de7ed399a623dc38",
      "old_mode": 33188,
      "old_path": "av1/common/guided_quadtree.c",
      "new_id": "43e157ed83bc6317ed840c25e7b15315bb5f9e92",
      "new_mode": 33188,
      "new_path": "av1/common/guided_quadtree.c"
    },
    {
      "type": "modify",
      "old_id": "b2313507b2f12ccb2d114153a3e47bede26d8773",
      "old_mode": 33188,
      "old_path": "av1/common/guided_quadtree.h",
      "new_id": "0aca162281826b42018234023bad42a40d1b4c0d",
      "new_mode": 33188,
      "new_path": "av1/common/guided_quadtree.h"
    },
    {
      "type": "modify",
      "old_id": "71f4af1f55a3008a93f61458b58019335088a186",
      "old_mode": 33188,
      "old_path": "av1/decoder/decodeframe.c",
      "new_id": "41102ef2c48be4727d92be7f6f19c9638166d8c5",
      "new_mode": 33188,
      "new_path": "av1/decoder/decodeframe.c"
    },
    {
      "type": "modify",
      "old_id": "7071d19be5a581660d541b00dce91399ba81466c",
      "old_mode": 33188,
      "old_path": "av1/encoder/encoder.c",
      "new_id": "8f7d12981b5e7f312eab8456ff344f022c2c1a16",
      "new_mode": 33188,
      "new_path": "av1/encoder/encoder.c"
    }
  ]
}
