)]}'
{
  "commit": "d492901dc6c8e925db122db590670b6933c69779",
  "tree": "c1d1457df77d3c6091e086d96e9e0c65b8686b4b",
  "parents": [
    "e0a9f7246fe86819cac1dc180aa36801c9b7f8dd"
  ],
  "author": {
    "name": "Dominic Symes",
    "email": "dominic.symes@arm.com",
    "time": "Wed Jan 31 17:32:01 2018 +0100"
  },
  "committer": {
    "name": "Dominic Symes",
    "email": "dominic.symes@arm.com",
    "time": "Wed Feb 28 16:06:52 2018 +0000"
  },
  "message": "FILM GRAIN: Move film grain parameters for Altref frames\n\nWhen a hidden (Altref) frame is later used as a \"show existing frame\"\nthe current code stores the film grain parameters in the \"show existing\nframe\". However, this requires a second full pass of the frame\nto apply the parameters. It is more efficient to have the option of\napplying the parameters at the time the Altref frame is being decoded.\nTo enable this we have made the following changes:\n- a hidden frame signals if it can later be used as a \"show existing\nframe\" by sending a new flag \"showable_frame\"\n- a hidden frame with the \"showable_frame\" flag set sends the film\ngrain parameters in the hidden frame rather than in the show existing\nframe. The parameters can be decoded at the time the hidden frame is\ndecoded.\n\nNote: The experiment is still disabled by default. Enabling will be\na separate commit.\n\nChange-Id: Ib24d13a5d2604b23917ab3417c37d5e5092433ac\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "158af24f953e62d665626234c677a01ac7965c1a",
      "old_mode": 33188,
      "old_path": "av1/common/onyxc_int.h",
      "new_id": "78e5a1e4db609041570e1e7f156bdb22505256aa",
      "new_mode": 33188,
      "new_path": "av1/common/onyxc_int.h"
    },
    {
      "type": "modify",
      "old_id": "da2cccbd1b150a2710e2ed8d702a4c45db3eb8b2",
      "old_mode": 33188,
      "old_path": "av1/decoder/decodeframe.c",
      "new_id": "aed335b0b9983d5da04de5ece6dbaf7ee60206b6",
      "new_mode": 33188,
      "new_path": "av1/decoder/decodeframe.c"
    },
    {
      "type": "modify",
      "old_id": "cad191de181cc642e8278caa95e7ba078f5e1ee4",
      "old_mode": 33188,
      "old_path": "av1/encoder/bitstream.c",
      "new_id": "dfd3b509ba73fbfb9a3788d05e8f94cd15c5591e",
      "new_mode": 33188,
      "new_path": "av1/encoder/bitstream.c"
    },
    {
      "type": "modify",
      "old_id": "4fbf0d4d951e4deb348b8eb4c1f7e3115e04b60a",
      "old_mode": 33188,
      "old_path": "av1/encoder/encoder.c",
      "new_id": "fef34324cf132bc4216a7fa0b09a215438167c38",
      "new_mode": 33188,
      "new_path": "av1/encoder/encoder.c"
    },
    {
      "type": "modify",
      "old_id": "b8b8e83ba3fd2dc8445dcf12c3d5eb2617ec35d8",
      "old_mode": 33188,
      "old_path": "av1/encoder/temporal_filter.c",
      "new_id": "757c8d846a3fe1dd1c097cc8a77706f638358e97",
      "new_mode": 33188,
      "new_path": "av1/encoder/temporal_filter.c"
    },
    {
      "type": "modify",
      "old_id": "04a4317cc59adbd19b19da490fc62aaa48b1c9d6",
      "old_mode": 33188,
      "old_path": "build/cmake/aom_config_defaults.cmake",
      "new_id": "b03b0ca1317539ac577680b14493a07126a49832",
      "new_mode": 33188,
      "new_path": "build/cmake/aom_config_defaults.cmake"
    }
  ]
}
