)]}'
{
  "commit": "f78632e00cb3c679b1485e9d3e34b824d878b0f4",
  "tree": "4f904d1a0035371e729b83622345b8c66ae5d16f",
  "parents": [
    "7fc6b2ac7c85318a07b71ea3473c60d1fd88844c"
  ],
  "author": {
    "name": "Cheng Chen",
    "email": "chengchen@google.com",
    "time": "Fri Oct 20 15:30:51 2017 -0700"
  },
  "committer": {
    "name": "Jingning Han",
    "email": "jingning@google.com",
    "time": "Mon Nov 06 16:01:22 2017 +0000"
  },
  "message": "JNT_COMP: Refactor code\n\nThe refactoring serves two purposes:\n1. Separate code paths for jnt_comp and original compound average\ncomputation. It provides function interface for jnt_comp while leaving\noriginal compound average computation unchanged. In near future, SIMD\nfunctions can be added for jnt_comp using the interface.\n\n2. Previous implementation uses a hack on second_pred. But it may cause\nsegmentation fault when the test clip is small. As reported in Issue\n944. This refactoring removes hacking and make it possible to address\nthe seg fault problem in the future.\n\nChange-Id: Idd2cb99f6c77dae03d32ccfa1f9cbed1d7eed067\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "0e78eea8574ac6c31e2a810077952abd7483416c",
      "old_mode": 33261,
      "old_path": "aom_dsp/aom_dsp_rtcd_defs.pl",
      "new_id": "0b7fbca196b5834537025f29657dbcf41c13346c",
      "new_mode": 33261,
      "new_path": "aom_dsp/aom_dsp_rtcd_defs.pl"
    },
    {
      "type": "modify",
      "old_id": "77587d51b5e17e8628db777e6e0ae85b6b751f62",
      "old_mode": 33188,
      "old_path": "aom_dsp/sad.c",
      "new_id": "871d13e676da1d73b845e019717ecc9300a05697",
      "new_mode": 33188,
      "new_path": "aom_dsp/sad.c"
    },
    {
      "type": "modify",
      "old_id": "c07f46d4e460ad1c8af8f8cc1d57c782154bbbaf",
      "old_mode": 33188,
      "old_path": "aom_dsp/variance.c",
      "new_id": "16ad001471559676defe28893739631a033e9776",
      "new_mode": 33188,
      "new_path": "aom_dsp/variance.c"
    },
    {
      "type": "modify",
      "old_id": "d12cd9176f636ee53152fec5db974567bb5c8079",
      "old_mode": 33188,
      "old_path": "aom_dsp/variance.h",
      "new_id": "d4a1e83224ce688bf3181a017dd7459cca5cda60",
      "new_mode": 33188,
      "new_path": "aom_dsp/variance.h"
    },
    {
      "type": "modify",
      "old_id": "37236b655ba4e3598555f924e127c26f122babf3",
      "old_mode": 33188,
      "old_path": "av1/common/blockd.h",
      "new_id": "cdca887621786e6eb16cb12691776e75df39e33d",
      "new_mode": 33188,
      "new_path": "av1/common/blockd.h"
    },
    {
      "type": "modify",
      "old_id": "e6aff6644f6f9da6786a6c67e38037587c2e65b6",
      "old_mode": 33188,
      "old_path": "av1/common/reconinter.c",
      "new_id": "dca9cc4f0e751392a8f690fe469c973e8cf8fa36",
      "new_mode": 33188,
      "new_path": "av1/common/reconinter.c"
    },
    {
      "type": "modify",
      "old_id": "441fe7905bcf5d920e40364ed15b3e9d53da7d42",
      "old_mode": 33188,
      "old_path": "av1/common/reconinter.h",
      "new_id": "272e4f68ad1d3013ccf8178a505a5a94fa88ebe3",
      "new_mode": 33188,
      "new_path": "av1/common/reconinter.h"
    },
    {
      "type": "modify",
      "old_id": "1990e7073ba3fd879be88894d1e77a0fe81a2ea6",
      "old_mode": 33188,
      "old_path": "av1/encoder/encoder.c",
      "new_id": "5d6ab418b3de52b19e85d394b7e3d2246ea39d81",
      "new_mode": 33188,
      "new_path": "av1/encoder/encoder.c"
    },
    {
      "type": "modify",
      "old_id": "f4d132eb4854d6447546cee65a092d11e77c7391",
      "old_mode": 33188,
      "old_path": "av1/encoder/mcomp.c",
      "new_id": "63f81056eeaa4ace7b279d85c73cf94843dfc4c1",
      "new_mode": 33188,
      "new_path": "av1/encoder/mcomp.c"
    },
    {
      "type": "modify",
      "old_id": "36c3aed9a3ebf7a21f6e63ec01bd031be44cb8c2",
      "old_mode": 33188,
      "old_path": "av1/encoder/rdopt.c",
      "new_id": "92249a1c4fe65868732db91c4b5ef5bd073f802b",
      "new_mode": 33188,
      "new_path": "av1/encoder/rdopt.c"
    }
  ]
}
