)]}'
{
  "commit": "a01bb1dddef8acf39a330dfc21b313518ad47576",
  "tree": "7db05558c953e9cfd85656671f12fedc68195bf2",
  "parents": [
    "394f9f7df624e4268fd8c894ead9f059d279e480"
  ],
  "author": {
    "name": "Marco Paniconi",
    "email": "marpan@google.com",
    "time": "Fri Oct 16 03:58:41 2026 +0000"
  },
  "committer": {
    "name": "Marco Paniconi",
    "email": "marpan@google.com",
    "time": "Fri Oct 16 05:08:50 2026 +0000"
  },
  "message": "rtc: Clamp forced NEWMV vectors in handle_inter_mode_nonrd\n\nIn handle_inter_mode_nonrd(), when NEWMV reuses the superblock motion\nvector (x-\u003esb_me_mv, searched relative to (0, 0)) or an inter-layer SVC\nmotion vector (force_mv_inter_layer), search_new_mv() is bypassed. As a\nresult, the motion vector was not constrained relative to the block\u0027s\nreference MV predictor (ref_mv), allowing |mv - ref_mv| to exceed MV_MAX\n(MV_CLASS_10) during bitstream encoding, and leaving rate_mv at 0.\n\nClamp the forced NEWMV motion vector to SubpelMvLimits around ref_mv,\nskip NEWMV if the clamped vector equals ref_mv, and compute rate_mv\nvia av1_mv_bit_cost().\n\nUnittest added.\n\nBug: 574032795\nChange-Id: Ib688ce9b4a852a12ba755a281ab532332ffa6126\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "0034f1292f223c11e0db7f71807d8ecda83bb47d",
      "old_mode": 33188,
      "old_path": "av1/encoder/nonrd_pickmode.c",
      "new_id": "7c4f32e7e400dcbcfc5d154a6ee166000d525af1",
      "new_mode": 33188,
      "new_path": "av1/encoder/nonrd_pickmode.c"
    },
    {
      "type": "modify",
      "old_id": "352a51c633c9ada510be89541acaa33ed165bf3d",
      "old_mode": 33188,
      "old_path": "test/encode_api_test.cc",
      "new_id": "eac1ec0261ee07e215afbd19890c51dd6cefcbd3",
      "new_mode": 33188,
      "new_path": "test/encode_api_test.cc"
    }
  ]
}
