)]}'
{
  "commit": "d4e6904d408a18c233bdf3a44012e7252eaffbbd",
  "tree": "7fd764a26cc827e69d980e70f317fe922c057ffc",
  "parents": [
    "f294d2629f905afd97c01986f41adf19dd08253b"
  ],
  "author": {
    "name": "Per Åhgren",
    "email": "peah@webrtc.org",
    "time": "Thu Sep 05 13:55:58 2019"
  },
  "committer": {
    "name": "Commit Bot",
    "email": "commit-bot@chromium.org",
    "time": "Thu Sep 05 14:30:49 2019"
  },
  "message": "AEC3: Reducing the complexity and heap usage of the adaptive filter\n\nThis CL reduces the complexity and heap usage of the adaptive filter\nin AEC3 by avoiding to compute these for the shadow\nfilter. In particular it\n-Moves to compute the ERL, frequency response and impulse response\n on an on-demand basis.\n-Stores the ERL, frequency response and impulse response outside\n of the adaptive filter.\n\nAll the changes have been tested for bitexactness on a sizeable\namount of recordings.\n\nBug: webrtc:10913\nChange-Id: If83c236a6e3f2e489be129b9ebf6143a72f521d1\nReviewed-on: https://webrtc-review.googlesource.com/c/src/+/151138\nCommit-Queue: Per Åhgren \u003cpeah@webrtc.org\u003e\nReviewed-by: Sam Zackrisson \u003csaza@webrtc.org\u003e\nCr-Commit-Position: refs/heads/master@{#29081}\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "4b8142945c29219ec49fb53b7d0c7acf0e491bce",
      "old_mode": 33188,
      "old_path": "modules/audio_processing/aec3/BUILD.gn",
      "new_id": "6baf3a1ddb25b27f1ff990846dbe9ea246654a24",
      "new_mode": 33188,
      "new_path": "modules/audio_processing/aec3/BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "024b605527844d382d76d023a500d5a90514c6ba",
      "old_mode": 33188,
      "old_path": "modules/audio_processing/aec3/adaptive_fir_filter.cc",
      "new_id": "00fa884aeb856532e830f8e621718ef4698c4cab",
      "new_mode": 33188,
      "new_path": "modules/audio_processing/aec3/adaptive_fir_filter.cc"
    },
    {
      "type": "modify",
      "old_id": "12716bbb5aa34e1b62e74af503d4e2ea6a5fb867",
      "old_mode": 33188,
      "old_path": "modules/audio_processing/aec3/adaptive_fir_filter.h",
      "new_id": "aec83aabd4cbb9cd07034f6c5c521cf861c18dd4",
      "new_mode": 33188,
      "new_path": "modules/audio_processing/aec3/adaptive_fir_filter.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "80378eb3cf749247ff81839ae974b4feb09117bb",
      "new_mode": 33188,
      "new_path": "modules/audio_processing/aec3/adaptive_fir_filter_erl.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "108d9f8e4493363677631251d2793ca9633bd698",
      "new_mode": 33188,
      "new_path": "modules/audio_processing/aec3/adaptive_fir_filter_erl.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "069fc9fa5bd4cf195a5523ed278469ed036264a6",
      "new_mode": 33188,
      "new_path": "modules/audio_processing/aec3/adaptive_fir_filter_erl_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "e7c9c85eca6eb9d8f021d3bd1f8ec9d13bb2f524",
      "old_mode": 33188,
      "old_path": "modules/audio_processing/aec3/adaptive_fir_filter_unittest.cc",
      "new_id": "9318c21ce95fff000aa1182df8fe08974c63de06",
      "new_mode": 33188,
      "new_path": "modules/audio_processing/aec3/adaptive_fir_filter_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "11a97e2781fee411c3d3b0e4784330620b39f68c",
      "old_mode": 33188,
      "old_path": "modules/audio_processing/aec3/main_filter_update_gain.cc",
      "new_id": "c2cfd2c447eb8b8679236d70a5cfda042fe2c90d",
      "new_mode": 33188,
      "new_path": "modules/audio_processing/aec3/main_filter_update_gain.cc"
    },
    {
      "type": "modify",
      "old_id": "dca0ff871368856b4489e3295e4bb10499127843",
      "old_mode": 33188,
      "old_path": "modules/audio_processing/aec3/main_filter_update_gain.h",
      "new_id": "1955d2a40262d5ae8097ffcee27e3bbc4869841b",
      "new_mode": 33188,
      "new_path": "modules/audio_processing/aec3/main_filter_update_gain.h"
    },
    {
      "type": "modify",
      "old_id": "29d8ea901e2b8b8002fea7960a262fb69e69c181",
      "old_mode": 33188,
      "old_path": "modules/audio_processing/aec3/main_filter_update_gain_unittest.cc",
      "new_id": "e78f1cdb6186de4239bf426fcf552a5163bb2ef2",
      "new_mode": 33188,
      "new_path": "modules/audio_processing/aec3/main_filter_update_gain_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "efb79d42dc9468bd4807855cd4ad240ad862ed93",
      "old_mode": 33188,
      "old_path": "modules/audio_processing/aec3/subtractor.cc",
      "new_id": "4d86358781be4a2fb99d5b1a7140d5295f7c998d",
      "new_mode": 33188,
      "new_path": "modules/audio_processing/aec3/subtractor.cc"
    },
    {
      "type": "modify",
      "old_id": "a23eaaf707b8d130ce672184d7b54227e149bfa5",
      "old_mode": 33188,
      "old_path": "modules/audio_processing/aec3/subtractor.h",
      "new_id": "7c3c5e09308dd567590f1163c1b0a90dce328f9f",
      "new_mode": 33188,
      "new_path": "modules/audio_processing/aec3/subtractor.h"
    }
  ]
}
