)]}'
{
  "commit": "956e36bf864dcff19a2ccf5eb613ce0dec1ff784",
  "tree": "0875c5170741b8f7960924779b63c23c4bef84ea",
  "parents": [
    "0238457b9dd220c67eb0cf9b84694cdf50f8e065"
  ],
  "author": {
    "name": "Luc Trudeau",
    "email": "luc@trud.ca",
    "time": "Fri Feb 23 12:07:14 2018 -0500"
  },
  "committer": {
    "name": "Yaowu Xu",
    "email": "yaowu@google.com",
    "time": "Sat Feb 24 00:09:57 2018 +0000"
  },
  "message": "[CFL] Reuse Subsampling SSSE3 in AVX2\n\nFor smaller blocks, AVX2 SIMD offers no advantage over SSSE3. In order\nto avoid duplicate code, the AVX2 verion of the code is composed of the\nSSSE3 for small blocks and AVX2 for bigger blocks. Slight code changes\nhave been made to uniformize both version.\n\nSSSE3/CFLPredictTest\n4x4: C time \u003d 802 us, SIMD time \u003d 160 us (~5x)\n8x8: C time \u003d 2626 us, SIMD time \u003d 248 us (~11x)\n16x16: C time \u003d 9409 us, SIMD time \u003d 696 us (~14x)\n32x32: C time \u003d 25375 us, SIMD time \u003d 2249 us (~11x)\n\nAVX2/CFLPredictTest\n4x4: C time \u003d 823 us, SIMD time \u003d 160 us (~5.1x)\n8x8: C time \u003d 2580 us, SIMD time \u003d 249 us (~10x)\n16x16: C time \u003d 9630 us, SIMD time \u003d 671 us (~14x)\n32x32: C time \u003d 25061 us, SIMD time \u003d 1713 us (~15x)\n\nSSSE3/CFLPredictHBDTest\n4x4: C time \u003d 782 us, SIMD time \u003d 195 us (~4x)\n8x8: C time \u003d 2633 us, SIMD time \u003d 289 us (~9.1x)\n16x16: C time \u003d 10416 us, SIMD time \u003d 833 us (~13x)\n32x32: C time \u003d 41339 us, SIMD time \u003d 3226 us (~13x)\n\nAVX2/CFLPredictHBDTest\n4x4: C time \u003d 760 us, SIMD time \u003d 186 us (~4.1x)\n8x8: C time \u003d 2687 us, SIMD time \u003d 309 us (~8.7x)\n16x16: C time \u003d 10003 us, SIMD time \u003d 634 us (~16x)\n32x32: C time \u003d 40958 us, SIMD time \u003d 2119 us (~19x)\n\nBy uniformizing the behavior between SSSE3 and AVX2 we also resolve:\n\nBUG\u003daomedia:1419\n\nChange-Id: I89c1a17d37e94178f6c19a5ac938bce1c645e9fb\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "f8bd4ef8b4d15c7002d33bf79259d9ac2dbd090e",
      "old_mode": 33188,
      "old_path": "av1/common/cfl.h",
      "new_id": "e26c0d0fb7fd21814b8c494c31355cad9b2adc89",
      "new_mode": 33188,
      "new_path": "av1/common/cfl.h"
    },
    {
      "type": "modify",
      "old_id": "730bffd1e96aa7878db633c9ac7d1b3900e5621f",
      "old_mode": 33188,
      "old_path": "av1/common/x86/cfl_avx2.c",
      "new_id": "3afa55c09f1792d7f7a718ef8949bce9fbb232da",
      "new_mode": 33188,
      "new_path": "av1/common/x86/cfl_avx2.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f796a745a215fcbf10f32c3fcc1b88f649f65158",
      "new_mode": 33188,
      "new_path": "av1/common/x86/cfl_simd.h"
    },
    {
      "type": "modify",
      "old_id": "913131def09efabad19fdb4b7cd07c4b7e9b442b",
      "old_mode": 33188,
      "old_path": "av1/common/x86/cfl_ssse3.c",
      "new_id": "ff92811318db3cee9dce17a1c92135734ca66bdf",
      "new_mode": 33188,
      "new_path": "av1/common/x86/cfl_ssse3.c"
    }
  ]
}
