)]}'
{
  "commit": "cea1c66479e32792fba4c927efd859aa0beaea17",
  "tree": "ab354a763ddcdce5f3a7b234f6a7374a311815d5",
  "parents": [
    "23a7cb3db94d00a9672843056479523d603de394"
  ],
  "author": {
    "name": "Cheng Chen",
    "email": "chengchen@google.com",
    "time": "Tue Apr 06 23:02:51 2021 -0700"
  },
  "committer": {
    "name": "Cheng Chen",
    "email": "chengchen@google.com",
    "time": "Tue Apr 13 17:18:08 2021 +0000"
  },
  "message": "Temporal filtering: apply filtering adaptively based on qindex\n\nAt low bit rates, a stronger filtering reduces more noise and leads\nto a higher rate saving.\n\nAt high bit rates, a weaker filtering is demanded to faithfully\nencode the frame at a high quality.\n\nHere, we adjust smoothing weight adaptively according to qindex, to\napply a slightly stronger filtering for low bit rates.\n\nPerformance on 150 frames, vbr mode:\nspeed_4    Ovr_psnr      ssim      vmaf_neg\nLowres     -0.206       -0.367     -0.549\nUgc360p    -0.329       -0.379     -0.236\nUgc480p    -0.494       -0.809     -1.171\nHdres      -0.293       -0.344     -0.237\nHdres2     -0.489       -0.503      0.091\n\nspeed_1    Ovr_psnr      ssim      vmaf_neg\nLowres     -0.152       -0.269     -0.377\nUgc360p    -0.257       -0.249     -0.109\nUgc480p    -0.574       -0.890     -0.991\nHdres      -0.335       -0.421     -0.217\nHdres2     -0.374       -0.347      0.036\n\nSTATS_CHANGED\n\nChange-Id: Iaff961ef3a7fcb729be8d880de14f363a8e6ead9\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "3c9d311297d1b2f4ed50a2974eac5342de7be406",
      "old_mode": 33188,
      "old_path": "av1/encoder/temporal_filter.c",
      "new_id": "9689e08259cda090ac993f975bfea6adbf151c84",
      "new_mode": 33188,
      "new_path": "av1/encoder/temporal_filter.c"
    },
    {
      "type": "modify",
      "old_id": "2ae7dd4bda99929378686483ad2024cec34580e0",
      "old_mode": 33188,
      "old_path": "av1/encoder/temporal_filter.h",
      "new_id": "d2f728d8b866219949f0a8d5f03e9c04f3046d48",
      "new_mode": 33188,
      "new_path": "av1/encoder/temporal_filter.h"
    },
    {
      "type": "modify",
      "old_id": "b5477ec9bad1a521ffb859f89d1d3c82178b6e47",
      "old_mode": 33188,
      "old_path": "av1/encoder/x86/highbd_temporal_filter_avx2.c",
      "new_id": "68509fa106beb44409eac121d414f99480506142",
      "new_mode": 33188,
      "new_path": "av1/encoder/x86/highbd_temporal_filter_avx2.c"
    },
    {
      "type": "modify",
      "old_id": "bbb37715433b1727438b30d38341ebee39f9c366",
      "old_mode": 33188,
      "old_path": "av1/encoder/x86/highbd_temporal_filter_sse2.c",
      "new_id": "1bfdaf72e114258cc288bc82c74bacd921be1879",
      "new_mode": 33188,
      "new_path": "av1/encoder/x86/highbd_temporal_filter_sse2.c"
    },
    {
      "type": "modify",
      "old_id": "72914e1781b4b00dc9ce858654e44dcd0491f394",
      "old_mode": 33188,
      "old_path": "av1/encoder/x86/temporal_filter_avx2.c",
      "new_id": "8aa07641aa55216c2d1f8a884a411c0e197ba86d",
      "new_mode": 33188,
      "new_path": "av1/encoder/x86/temporal_filter_avx2.c"
    },
    {
      "type": "modify",
      "old_id": "d70792c6449cf6b1abb3b4587aa095792944cb85",
      "old_mode": 33188,
      "old_path": "av1/encoder/x86/temporal_filter_sse2.c",
      "new_id": "26c3926dcaac6c1b69edd8d335409743cd3e1481",
      "new_mode": 33188,
      "new_path": "av1/encoder/x86/temporal_filter_sse2.c"
    }
  ]
}
