)]}'
{
  "commit": "02fa5d6fbddfe52d3429cefefc8ec2571f50738b",
  "tree": "8349952af7add8ffccc15d7139518c34f68a841b",
  "parents": [
    "21685ad9687b5385ec0a0448e3ca61fd5654223b"
  ],
  "author": {
    "name": "Ihor Buhaiov",
    "email": "freedbrt@gmail.com",
    "time": "Fri Oct 16 01:33:16 2026 +0200"
  },
  "committer": {
    "name": "Marco Paniconi",
    "email": "marpan@google.com",
    "time": "Thu Nov 12 14:20:16 2026 -0800"
  },
  "message": "rtc: Set costs on frames that skip CDF updates\n\nWith nonrd pick mode the coefficient, mode and mv costs are updated\nat the start of each superblock or superblock row, but not in frames\nthat don\u0027t update their CDFs. The frame level update is skipped too,\nunless the update level is tile. So every thread codes such a frame\nwith the costs the main thread had at the end of an earlier frame.\nWith row mt the superblock the main thread coded last depends on\nthread timing, so the output changes from run to run.\n\nThe default build hits this in real time mode, since its default\ncost update frequency is per superblock. The realtime only build\ndefaults to off and is only hit when the cost update controls are\nset.\n\nSet these costs at the frame level when the frame doesn\u0027t update its\nCDFs and the update level isn\u0027t off. The CDFs of such a frame stay at\nthe frame context, so these are the costs the per row update would\ncompute.\n\nChecked on main at speed 11 with 4 threads, row mt, 2 tile columns\nand the default build. On two screen captures of 150 frames, 3 runs\neach, there were 2 or 3 different streams before and 1 after, in\nboth 4:2:0 and 4:4:4. niklas_640_480_30 with 300 frames gave 6\nstreams in 6 runs before and 1 after. The realtime only build output\nis unchanged, also for 10 bit 4:2:0 and 4:4:4. The new\nAVxEncoderThreadRTCostUpdTest fails on main in both builds.\n\nAt 1 thread the default build output changes a little on the two\nscreen captures:\n\n  4:2:0: 0.21% to 0.39% smaller, PSNR 0.07 dB lower to 0.03 dB\n  higher, encode time 1.6% faster to 0.5% slower\n  4:4:4: up to 1.11% smaller, PSNR up to 0.10 dB lower, encode\n  time unchanged to 1.2% slower\n\nThe time changes are within run to run noise.\n\nChange-Id: I446b973cb941ed5e70e2c9fd93062dde67e6c154\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "9fafdafae6f422b933ba1fcfcedfbd4b861bc2cd",
      "old_mode": 33188,
      "old_path": "av1/encoder/rd.c",
      "new_id": "9abd00ccdda4accaaaecaea11b99b265a43a0e36",
      "new_mode": 33188,
      "new_path": "av1/encoder/rd.c"
    },
    {
      "type": "modify",
      "old_id": "b0940bade9b8955b34bfb070248d784eda883d53",
      "old_mode": 33188,
      "old_path": "test/ethread_test.cc",
      "new_id": "c432fdd440bdc89d927ec867353a108d7f3d0f5f",
      "new_mode": 33188,
      "new_path": "test/ethread_test.cc"
    }
  ]
}
