)]}'
{
  "commit": "cdbe379dfa390dd6da3eef0f8d788b4403d1abfc",
  "tree": "10c3e7ba958e138c2a15f25e9f9a766087ebedda",
  "parents": [
    "6e378025623c80679f42c9db48e4bb89eb6c0d4d"
  ],
  "author": {
    "name": "Debargha Mukherjee",
    "email": "debargha@google.com",
    "time": "Fri Aug 07 14:36:21 2020 -0700"
  },
  "committer": {
    "name": "Debargha Mukherjee",
    "email": "debargha@google.com",
    "time": "Fri Aug 07 18:31:11 2020 -0700"
  },
  "message": "Add code for parsing a subgop config file format\n\nAdds support for subgop config file format. The parsing code\nis enhanced to append configs derived from a string and a config\nfile. The code to parse a config file parameter from the\ncommandline is to be added in the next patch.\n\nThe example of a parseable subgop config file is as follows.\nNote anything within box brackets is optional and not parsed:\n\n---- File starts -----\n[num_configs:2]\nconfig:[0]\n  num_frames:16  subgop_in_gop_code:0  num_steps:24\n  [step:0] disp_frame_idx:16 type_code:F pyr_level:1 references:1^1\n  [step:1] disp_frame_idx:8 type_code:F pyr_level:2 references:1^1^2^-1\n  [step:2] disp_frame_idx:4 type_code:U pyr_level:3 references:1^1^2^-2^-1\n  [step:3] disp_frame_idx:2 type_code:U pyr_level:4 references:1^1^-3^-2^-1\n  [step:4] disp_frame_idx:1 type_code:V pyr_level:5 references:1^1^-4^-3^-2^-1\n  [step:5] disp_frame_idx:2 type_code:S pyr_level:4\n  [step:6] disp_frame_idx:3 type_code:V pyr_level:5 references:1^5^4^-3^-2^-1\n  [step:7] disp_frame_idx:4 type_code:S pyr_level:3\n  [step:8] disp_frame_idx:6 type_code:U pyr_level:4 references:1^3^4^-2^-1\n  [step:9] disp_frame_idx:5 type_code:V pyr_level:5 references:1^4^5^3^-4^-2^-1\n  [step:10] disp_frame_idx:6 type_code:S pyr_level:4\n  [step:11] disp_frame_idx:7 type_code:V pyr_level:5 references:1^3^5^4^-2^-1\n  [step:12] disp_frame_idx:8 type_code:R pyr_level:2 references:1^2^-1\n  [step:13] disp_frame_idx:12 type_code:U pyr_level:3 references:1^3^2^-1\n  [step:14] disp_frame_idx:10 type_code:U pyr_level:4 references:1^3^4^2^-3^-1\n  [step:15] disp_frame_idx:9 type_code:V pyr_level:5 references:1^3^4^2^-4^-3^-1\n  [step:16] disp_frame_idx:10 type_code:S pyr_level:4\n  [step:17] disp_frame_idx:11 type_code:V pyr_level:5 references:1^2^4^5^-3^-1\n  [step:18] disp_frame_idx:12 type_code:S pyr_level:3\n  [step:19] disp_frame_idx:14 type_code:U pyr_level:4 references:1^2^4^3^-1\n  [step:20] disp_frame_idx:13 type_code:V pyr_level:5 references:1^2^4^5^3^-4^-1\n  [step:21] disp_frame_idx:14 type_code:S pyr_level:4\n  [step:22] disp_frame_idx:15 type_code:V pyr_level:5 references:1^2^3^4^5^-1\n  [step:23] disp_frame_idx:16 type_code:R pyr_level:1 references:1^1\nconfig:[1]\n  num_frames:16  subgop_in_gop_code:1  num_steps:25\n  [step:0] disp_frame_idx:14 type_code:F pyr_level:1 references:1^1\n  [step:1] disp_frame_idx:7 type_code:F pyr_level:2 references:1^1^2^-1\n  [step:2] disp_frame_idx:4 type_code:U pyr_level:3 references:1^1^2^-2^-1\n  [step:3] disp_frame_idx:2 type_code:U pyr_level:4 references:1^1^-3^-2^-1\n  [step:4] disp_frame_idx:1 type_code:V pyr_level:5 references:1^1^-4^-3^-2^-1\n  [step:5] disp_frame_idx:2 type_code:S pyr_level:4\n  [step:6] disp_frame_idx:3 type_code:V pyr_level:5 references:1^5^4^-3^-2^-1\n  [step:7] disp_frame_idx:4 type_code:S pyr_level:3\n  [step:8] disp_frame_idx:6 type_code:U pyr_level:4 references:1^3^4^-2^-1\n  [step:9] disp_frame_idx:5 type_code:V pyr_level:5 references:1^4^5^3^-4^-2^-1\n  [step:10] disp_frame_idx:6 type_code:S pyr_level:4\n  [step:11] disp_frame_idx:7 type_code:R pyr_level:2 references:1^2^-1\n  [step:12] disp_frame_idx:11 type_code:U pyr_level:3 references:1^3^2^-1\n  [step:13] disp_frame_idx:9 type_code:U pyr_level:4 references:1^3^4^2^-3^-1\n  [step:14] disp_frame_idx:8 type_code:V pyr_level:5 references:1^3^4^2^-4^-3^-1\n  [step:15] disp_frame_idx:9 type_code:S pyr_level:4\n  [step:16] disp_frame_idx:10 type_code:V pyr_level:5 references:1^2^4^5^-3^-1\n  [step:17] disp_frame_idx:11 type_code:S pyr_level:3\n  [step:18] disp_frame_idx:13 type_code:U pyr_level:4 references:1^2^4^3^-1\n  [step:19] disp_frame_idx:12 type_code:V pyr_level:5 references:1^2^4^5^3^-4^-1\n  [step:20] disp_frame_idx:13 type_code:S pyr_level:4\n  [step:21] disp_frame_idx:14 type_code:R pyr_level:1 references:1^-1\n  [step:22] disp_frame_idx:16 type_code:U pyr_level:4 references:1^1^2^3^4\n  [step:23] disp_frame_idx:15 type_code:V pyr_level:5 references:1^1^2^3^4^5\n  [step:24] disp_frame_idx:16 type_code:S pyr_level:4\n---- File end -----\n\nChange-Id: I62ff654ff7bc438cba75891256b1f496335b001f\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "0f904505a185b0061755b866863e65b22fe1f8f6",
      "old_mode": 33188,
      "old_path": "av1/encoder/encoder.c",
      "new_id": "be04e2361cc4a512b7d9f301b44b46b35297023a",
      "new_mode": 33188,
      "new_path": "av1/encoder/encoder.c"
    },
    {
      "type": "modify",
      "old_id": "7ec64caf2e4ca6de95ea49524f066174c7a5fc8f",
      "old_mode": 33188,
      "old_path": "av1/encoder/subgop.c",
      "new_id": "1f43311b2dbea07e2ac4de96d6395fcf9a9bfd01",
      "new_mode": 33188,
      "new_path": "av1/encoder/subgop.c"
    },
    {
      "type": "modify",
      "old_id": "9c23dfea5c383badd507a6d1cb77b704b76b0a28",
      "old_mode": 33188,
      "old_path": "av1/encoder/subgop.h",
      "new_id": "464af0401c194ab733ebf48042c2119438ea4906",
      "new_mode": 33188,
      "new_path": "av1/encoder/subgop.h"
    }
  ]
}
