)]}'
{
  "commit": "cb0b87d6c2dda00b534149b0f27559bf8fa6eecb",
  "tree": "c8f08ee58c0ec33838e4d53fdb10cf3248dd21da",
  "parents": [
    "e44e42dc3c93458fca1b1543c6088bc6b60475a1"
  ],
  "author": {
    "name": "Jeremy Dorfman",
    "email": "jdorfman@google.com",
    "time": "Wed May 13 08:28:54 2026 -0400"
  },
  "committer": {
    "name": "Jeremy Dorfman",
    "email": "jdorfman@google.com",
    "time": "Thu May 14 10:07:12 2026 -0700"
  },
  "message": "[variance] Optimize AVX2 subpel bilinear filtering\n\nThis change replaces row-by-row execution with explicit pipelining in\nthe X and Y bilinear filtering path, improving performance by around 20%\nin aom_sub_pixel_varianceWxH_avx2. All of the improvement here is from\nbetter instruction-level parallelism by interleaving loading and\nfiltering.\n\nThis change doesn\u0027t use or change the existing macros; I will openly\nadmit it was hard for me to keep track of all of them, and so this\nchange avoids them entirely.\n\nWidth/Height\n           Baseline CPU  New CPU      Improvement\n128/128    1.386µ ± 0%   1.085µ ± 0%  -21.73% (p\u003d0.000 n\u003d20)\n128/64     675.6n ± 0%   525.9n ± 0%  -22.17% (p\u003d0.000 n\u003d20)\n64/128     677.1n ± 0%   525.7n ± 0%  -22.36% (p\u003d0.000 n\u003d20)\n64/64      337.5n ± 0%   261.5n ± 1%  -22.54% (p\u003d0.000 n\u003d20)\n64/32      174.9n ± 0%   136.4n ± 0%  -22.02% (p\u003d0.000 n\u003d20)\n32/64      167.4n ± 1%   130.7n ± 0%  -21.89% (p\u003d0.000 n\u003d20)\n32/32      87.09n ± 0%   68.62n ± 0%  -21.21% (p\u003d0.000 n\u003d20)\n32/16      48.31n ± 1%   37.66n ± 0%  -22.05% (p\u003d0.000 n\u003d20)\n16/32      64.98n ± 0%   51.62n ± 0%  -20.57% (p\u003d0.000 n\u003d20)\n16/16      34.84n ± 0%   28.02n ± 0%  -19.58% (p\u003d0.000 n\u003d20)\n16/8       20.06n ± 0%   17.45n ± 0%  -12.99% (p\u003d0.000 n\u003d20)\n16/64      123.83n ± 0%  97.84n ± 1%  -20.98% (p\u003d0.000 n\u003d20)\n16/4       12.53n ± 6%   10.64n ± 2%  -15.05% (p\u003d0.000 n\u003d20)\n\nChange-Id: Ib602d487c9a29c5216f33f293890a1e621dd971d\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "d402697501e899fae3a359bdc581f709f0c6bcc8",
      "old_mode": 33188,
      "old_path": "aom_dsp/x86/variance_impl_avx2.c",
      "new_id": "93439e5d5f90b66329f25b8036ac0cc33ec77ff7",
      "new_mode": 33188,
      "new_path": "aom_dsp/x86/variance_impl_avx2.c"
    }
  ]
}
