)]}'
{
  "commit": "016144ea8b8b84b9cfa1c3fba56227b2d3471229",
  "tree": "2276e2893edd7a7f0b1d4ecf721895bd3924292b",
  "parents": [
    "7b6197cb8fdc1ce555a03d23a9d25242c61d38e6"
  ],
  "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": "Wed Oct 21 11:21:53 2026 -0700"
  },
  "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(cherry picked from commit a01bb1dddef8acf39a330dfc21b313518ad47576)\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "f43c8df473010c6a4e112ca1a633c4b53add154d",
      "old_mode": 33188,
      "old_path": "av1/encoder/nonrd_pickmode.c",
      "new_id": "f1afd121048f2992165e45e4534a7cef387b12dd",
      "new_mode": 33188,
      "new_path": "av1/encoder/nonrd_pickmode.c"
    },
    {
      "type": "modify",
      "old_id": "56219335c3c04526bdcf148d9a7bd20f8678d6ea",
      "old_mode": 33188,
      "old_path": "test/encode_api_test.cc",
      "new_id": "aec7f6fadbacb2cd4dbecce60514ab71c0553465",
      "new_mode": 33188,
      "new_path": "test/encode_api_test.cc"
    }
  ]
}
