)]}'
{
  "log": [
    {
      "commit": "66ac17620652635392f6ab24065c77b035e281c9",
      "tree": "4cf0a9fd65f58f00e3c6dd50f0dc9e4b5a976560",
      "parents": [
        "40f58ed32ff39071c3f2a51056dbc49a070af0dc"
      ],
      "author": {
        "name": "Erik Språng",
        "email": "sprang@webrtc.org",
        "time": "Fri May 22 09:14:16 2026"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Fri May 22 16:28:53 2026"
      },
      "message": "Add #include \u003cutility\u003e to make c++23 builds happy\n\nWithout this change, building e.g. the `libgav1_decoder` target in\nchromium\n(https://source.chromium.org/chromium/chromium/src/+/main:third_party/libgav1/BUILD.gn;l\u003d226)\nusing c++23 results in a linker error related to the `std::swap`\ntemplates.\n\nChange-Id: I9da5f35bf0e4c1a77ec286b4dc48ec50c30edb25\nReviewed-on: https://chromium-review.googlesource.com/c/codecs/libgav1/+/7869550\nReviewed-by: James Zern \u003cjzern@google.com\u003e\nTested-by: WebM Builds \u003cbuilds@webmproject.org\u003e\n"
    },
    {
      "commit": "40f58ed32ff39071c3f2a51056dbc49a070af0dc",
      "tree": "81811e6516ee8c71edaa47d82b5bcf37be0a05f6",
      "parents": [
        "f6c2dca867cf120e35b46f86d175607d1fd8de39"
      ],
      "author": {
        "name": "Vignesh Venkat",
        "email": "vigneshv@google.com",
        "time": "Thu Jan 08 19:23:20 2026"
      },
      "committer": {
        "name": "Vignesh Venkat",
        "email": "vigneshv@google.com",
        "time": "Thu Jan 08 20:34:24 2026"
      },
      "message": "memory.h: Force inlining of MaxAlignedAllocable operators\n\nFix -Wmismatched-new-delete warnings in average_blend_test by\nensuring the custom new/delete operators are always inlined. This\naddresses a false positive where the compiler might see a mismatched\nallocation/deallocation pair due to partial inlining\n(-Wmismatched-new-delete).\n\nChange-Id: Ie4c814a93984200c010770363799ceb97eb5cad9\n"
    },
    {
      "commit": "f6c2dca867cf120e35b46f86d175607d1fd8de39",
      "tree": "0634cb9d4768631ea1d597dbec92f575b6cc02bf",
      "parents": [
        "249e9b4d37ada778e9412359ef3e0c085001276b"
      ],
      "author": {
        "name": "Vignesh Venkatasubramanian",
        "email": "vigneshv@google.com",
        "time": "Thu Jan 08 00:30:09 2026"
      },
      "committer": {
        "name": "Vignesh Venkat",
        "email": "vigneshv@google.com",
        "time": "Thu Jan 08 16:50:05 2026"
      },
      "message": "Support multiple itut35 metadata\n\nUpdate the public API to expose multiple itut35 metadata\nper frame.\n\nThis change is backwards incompatible.\n\nPiperOrigin-RevId: 853457903\nChange-Id: I0298db321cd601e8c9331b7bef70eb7ad9e2dcfb\n"
    },
    {
      "commit": "249e9b4d37ada778e9412359ef3e0c085001276b",
      "tree": "fbf5e41fb047931274ee160de8f0fcf5d94c738d",
      "parents": [
        "c1a44f49d50e8ce98eb6aa067bfbd0b9e5681cad"
      ],
      "author": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Thu Sep 18 18:44:07 2025"
      },
      "committer": {
        "name": "Vignesh Venkat",
        "email": "vigneshv@google.com",
        "time": "Thu Jan 08 16:50:05 2026"
      },
      "message": "post_filter.h,cosmetics: add Section 7.4 ref in comments\n\n`ApplyFiltering*()` handle the `decode_frame_wrapup()` process from the\nspec.\n\nPiperOrigin-RevId: 808672406\nChange-Id: I9745515d83ff4a4ec8928c82ed706f614afd7438\n"
    },
    {
      "commit": "c1a44f49d50e8ce98eb6aa067bfbd0b9e5681cad",
      "tree": "e433763d3029712df6afc6236796d84f70f1bb87",
      "parents": [
        "0e74a0a051ef3e628cab9be30b31f25016bfa10e"
      ],
      "author": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Tue Aug 19 01:21:30 2025"
      },
      "committer": {
        "name": "Vignesh Venkat",
        "email": "vigneshv@google.com",
        "time": "Thu Jan 08 16:50:05 2026"
      },
      "message": "require C++17\n\nThis aligns the project with:\nhttps://github.com/google/oss-policies-info/blob/48076331a/foundational-cxx-support-matrix.md\n\nand makes newer versions of Abseil and Googletest available.\n\nPiperOrigin-RevId: 796656277\nChange-Id: Ic2e073c4f7d88e0174d63fb4ff1e41d50414ee2a\n"
    },
    {
      "commit": "0e74a0a051ef3e628cab9be30b31f25016bfa10e",
      "tree": "bfcd29ae84fdc62e6f6d873bde230b600c0a3d4b",
      "parents": [
        "d049cd790537f5381146e6680c5c30d9e80fb778"
      ],
      "author": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Mon Aug 11 20:07:07 2025"
      },
      "committer": {
        "name": "Vignesh Venkat",
        "email": "vigneshv@google.com",
        "time": "Thu Jan 08 16:50:05 2026"
      },
      "message": "threadpool_test: restore Abseil LTS compatibility\n\nAs of Abseil LTS 20250512.1 no LTS release has a version of the\n`MutexLock` constructor that takes a reference.\n\nThis change adds a check for `ABSL_LTS_RELEASE_VERSION` to determine the\navailability. Currently libgav1 supports Abseil LTS versions through\n20220623 (the last to support C++11).\n\nPiperOrigin-RevId: 793768892\nChange-Id: I131df074cac6f574c4ebb971dc5ea31fd8c9defb\n"
    },
    {
      "commit": "d049cd790537f5381146e6680c5c30d9e80fb778",
      "tree": "ed3da79b49c5c31cc18f4c6b017696ac741a27c5",
      "parents": [
        "4dfb6980eb0a05806eb8a947b6496d4f7705d1b3"
      ],
      "author": {
        "name": "libgav1 Team",
        "email": "noreply@google.com",
        "time": "Sun Aug 10 02:44:24 2025"
      },
      "committer": {
        "name": "Vignesh Venkat",
        "email": "vigneshv@google.com",
        "time": "Thu Jan 08 16:49:53 2026"
      },
      "message": "Automated Code Change\n\nPiperOrigin-RevId: 793156394\nChange-Id: I38037dcbbc35e57cdfa1b62e30b98f2c50001371\n"
    },
    {
      "commit": "4dfb6980eb0a05806eb8a947b6496d4f7705d1b3",
      "tree": "6eeea32d4af920be7cae09bbbb8d5e103fdf76b6",
      "parents": [
        "23e3fef8ce8f419a142460681fc4c2eb5229ff79"
      ],
      "author": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Fri Feb 07 22:26:56 2025"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Wed Jul 23 22:13:06 2025"
      },
      "message": "cosmetics: apply clang-format-19\n\n(Debian clang-format version 19.1.7 (3+build4))\n\nBug: 433316976\nPiperOrigin-RevId: 786010375\nChange-Id: I2d8c0959eabf59c05b94158a42bfda63e19bf16a\n"
    },
    {
      "commit": "23e3fef8ce8f419a142460681fc4c2eb5229ff79",
      "tree": "7625844e380d69cee8e7dc45c490ff015ef514e3",
      "parents": [
        "c05bf9be660cf170d7c26bd06bb42b3322180e58"
      ],
      "author": {
        "name": "Yuqian Yang",
        "email": "crupest@crupest.life",
        "time": "Thu Feb 06 11:26:59 2025"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Fri Feb 07 21:18:52 2025"
      },
      "message": "threadpool: Do not use gettid on GNU/Hurd.\n\ngettid is not available on GNU/Hurd and not defined in\nglibc. It is specific to Linux for its thread\nimplementation, while GNU/Hurd uses a different one.\nWithout a definition, compiling libgav1 on GNU/Hurd\nwill result in an error of undeclared function.\n\nIn commit f06328bf, we have already fixed a mistake\nusage of a pthread api on GNU/Hurd. The reason why\nthis error is not noticed might be that abseil has\nfailed to build on GNU/Hurd for a long time,\ntherefore libgav1 might have not been compiled once\nas well.\n\nChange-Id: Id0a8f8dbd7660d4dbd0f2968b670d439a273fe20\nSigned-off-by: Yuqian Yang \u003ccrupest@crupest.life\u003e\nReviewed-on: https://chromium-review.googlesource.com/c/codecs/libgav1/+/6239812\nReviewed-by: Vignesh Venkat \u003cvigneshv@google.com\u003e\nReviewed-by: James Zern \u003cjzern@google.com\u003e\nTested-by: WebM Builds \u003cbuilds@webmproject.org\u003e\n"
    },
    {
      "commit": "c05bf9be660cf170d7c26bd06bb42b3322180e58",
      "tree": "619830b08c05434dba5122d3883514131125b586",
      "parents": [
        "e0cdffc34ea1592fd0dc1f273a8cb2040ff092ff"
      ],
      "author": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Fri Jan 24 01:04:27 2025"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Fri Jan 24 01:06:36 2025"
      },
      "message": "libgav1_build_definitions.cmake: bump libtool version\n\n3. If the library source code has changed at all since the last update,\n   then increment revision (\u0027c:r:a\u0027 becomes \u0027c:r+1:a\u0027).\n   `LT_REVISION \u003d 1`\n4. If any interfaces have been added, removed, or changed since the last\n   update, increment current, and set revision to 0.\n   `Decoder::GetFramesMeanQpInTemporalUnit()` \u0026\n   `DecoderSettings::parse_only`\n   `LT_CURRENT \u003d 2`\n   `LT_REVISION \u003d 0`\n5. If any interfaces have been added since the last public release, then\n   increment age.\n   `Decoder::GetFramesMeanQpInTemporalUnit()`\n   `LT_AGE \u003d 1`\n6. If any interfaces have been removed or changed since the last public\n   release, then set age to 0.\n   `DecoderSettings::parse_only`\n   `LT_AGE \u003d 0`\n\nPiperOrigin-RevId: 719067654\nChange-Id: Iec96511b2289cd662e9d750310a7810b10904bfc\n"
    },
    {
      "commit": "e0cdffc34ea1592fd0dc1f273a8cb2040ff092ff",
      "tree": "6af722e353754397c1fd41fa72d3e7405e4ca810",
      "parents": [
        "26100205e7403706859c491b62f23583ab884232"
      ],
      "author": {
        "name": "Bogdan Graur",
        "email": "bgraur@google.com",
        "time": "Thu Jan 23 17:29:21 2025"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Thu Jan 23 18:42:40 2025"
      },
      "message": "Adds a missing header include when building with msan.\n\nThe header was included in a part of the code which was unconditionally\ncompiled out (in a #if 0 ... #endif block).\n\nPiperOrigin-RevId: 718899721\nChange-Id: I693998fd88f4502b3abe78eba0275716af5d5c02\n"
    },
    {
      "commit": "26100205e7403706859c491b62f23583ab884232",
      "tree": "cab9d221b6a2cddfb34f17b71471f4d23e7b249e",
      "parents": [
        "a9aebfcea1d975c5c36502b1105d70c82a4a3e83"
      ],
      "author": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Thu Dec 19 19:49:38 2024"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Thu Dec 19 19:53:53 2024"
      },
      "message": "Add missing includes\n\nPiperOrigin-RevId: 707981270\nChange-Id: I9bf8d8fc70c215aa4d3fc26a98b373d89e8ad65b\n"
    },
    {
      "commit": "a9aebfcea1d975c5c36502b1105d70c82a4a3e83",
      "tree": "042ee165fbb54761c53ab29d624a7c26845e5c71",
      "parents": [
        "8fe8c99073c5b94d42fc761d05aa2817a508e01b"
      ],
      "author": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Fri Nov 22 20:48:23 2024"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Fri Nov 22 21:58:21 2024"
      },
      "message": "Tile::ReadTransformType: silence -Warray-bounds\n\nSeen with gcc 14.2.0 (i686). Quiets:\nsrc/tile/tile.cc|1078 col 79| warning: array subscript 2 is above array\n  bounds of \u0027uint16_t [2][4][13][17]\u0027 {aka \u0027short unsigned int\n  [2][4][13][17]\u0027} [-Warray-bounds\u003d]\nsrc/symbol_decoder_context.h|177 col 7| note: while referencing\n  \u0027libgav1::SymbolDecoderContext::intra_tx_type_cdf\u0027\n\nPiperOrigin-RevId: 699259488\nChange-Id: I382c6e836617223a91ff96bf3077fefaff4eb60f\n"
    },
    {
      "commit": "8fe8c99073c5b94d42fc761d05aa2817a508e01b",
      "tree": "0a949c4adafdc623f7073ecd3687ff7e51d712bd",
      "parents": [
        "9418146d3c08b050c3f00bf3576ddff6a367ed91"
      ],
      "author": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Wed Jul 31 19:55:41 2024"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Wed Jul 31 20:04:13 2024"
      },
      "message": "tile.cc: silence -Warray-bounds warning\n\nSeen with gcc 12/13. Add an additional assert and return 0 from an\nimpossible path in SymbolDecoderContext::TxTypeIndex().\n\nFixes:\nsrc/tile/tile.cc: In member function \u0027void\n  libgav1::Tile::ReadTransformType(const Block\u0026, int, int,\n  libgav1::TransformSize)\u0027:\nsrc/tile/tile.cc:1057:64: warning: array subscript -1 is below array\n  bounds of \u0027uint16_t [3][4][17]\u0027 {aka \u0027short unsigned int [3][4][17]\u0027}\n  [-Warray-bounds\u003d]\n 1056 | cdf \u003d symbol_decoder_context_\n      |       ~~~~~~~~~~~~~~~~~~~~~~~\n 1057 | .inter_tx_type_cdf[cdf_index][cdf_tx_size_index];\n      | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^\nIn file included from src/buffer_pool.h:33,\n                 from src/tile.h:30,\n                 from src/tile/tile.cc:15:\nsrc/symbol_decoder_context.h:173:7: note: while referencing\n  \u0027libgav1::SymbolDecoderContext::inter_tx_type_cdf\u0027\n  173 | inter_tx_type_cdf[3][kNumExtendedTransformSizes]\n                         [kNumTransformTypes + 1];\n\nPiperOrigin-RevId: 658110835\nChange-Id: If2ca650c9ead73ac6f63559cc22a1f8dde3f4a87\n"
    },
    {
      "commit": "9418146d3c08b050c3f00bf3576ddff6a367ed91",
      "tree": "958e9c4b858433891cf76c7bf99c41f5ba422b3a",
      "parents": [
        "70b1aecdb62a464e2b8ccdba47fbb8ffafd2d352"
      ],
      "author": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Wed Jun 12 01:37:19 2024"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Wed Jun 12 02:28:01 2024"
      },
      "message": "libgav1_tests.cmake: fix compiler version check w/clang-cl\n\nUse CMAKE_CXX_COMPILER_ID to check for the MSVC compiler before\ninspecting CMAKE_CXX_COMPILER_VERSION. The MSVC variable is enabled for\nany MSVC-like compiler, including clang-cl.\n\nThis allows tests to be enabled with\n`cmake -G \"Visual Studio 2022\" -T ClangCl`.\n\nPiperOrigin-RevId: 642459806\nChange-Id: Ic52a3ec3cad50824ee809e455a1a015e92583c9e\n"
    },
    {
      "commit": "70b1aecdb62a464e2b8ccdba47fbb8ffafd2d352",
      "tree": "4c4be6ee284ebe5bdc448508174ad9098420de42",
      "parents": [
        "4cb2e99252cb6a172f790949dcfb29dcd53ef481"
      ],
      "author": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Tue Apr 16 18:12:36 2024"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Fri May 03 20:23:33 2024"
      },
      "message": "obu_parser*: apply iwyu\n\nPiperOrigin-RevId: 625393005\nChange-Id: I371f4cb58a57bdfff1c0ae861f6357795bc00314\n"
    },
    {
      "commit": "4cb2e99252cb6a172f790949dcfb29dcd53ef481",
      "tree": "ff134817429b11f0a5d841c14d8727c0b916d25b",
      "parents": [
        "a2f139e9123bdb5edf7707ac6f1b73b3aa5038dd"
      ],
      "author": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Mon Apr 15 23:40:12 2024"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Fri May 03 20:23:33 2024"
      },
      "message": "warp_prediction.{cc,h}: apply iwyu\n\nPiperOrigin-RevId: 625122493\nChange-Id: I4f0b264d02b08dc271adab8b5bbacd70eac3121f\n"
    },
    {
      "commit": "a2f139e9123bdb5edf7707ac6f1b73b3aa5038dd",
      "tree": "eef356a8640135507ed52fa6a30c7199e62eabe8",
      "parents": [
        "f9a93151adf7203c6ab90f3c94bbd5972b7967b8"
      ],
      "author": {
        "name": "Chunbo Hua",
        "email": "chunbo.hua@intel.com",
        "time": "Tue Mar 12 07:06:36 2024"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Tue Mar 19 19:11:29 2024"
      },
      "message": "obu_parser: Make obu extension flag check failure as warning.\n\nThus the mismatch of OperatingPointIdc and obu_extension_flag does\nnot break the overall parsing of OBU.\n\nChange-Id: I929643b6b97ecd66e3903eee03a2dff5b23380ae\nReviewed-on: https://chromium-review.googlesource.com/c/codecs/libgav1/+/5364240\nReviewed-by: James Zern \u003cjzern@google.com\u003e\nTested-by: WebM Builds \u003cbuilds@webmproject.org\u003e\n"
    },
    {
      "commit": "f9a93151adf7203c6ab90f3c94bbd5972b7967b8",
      "tree": "8329348d1c5f6ad3549e2dc6ffe8000c668d96c4",
      "parents": [
        "1b8a9103276d5d5bd0d19e735e4e5f20aea2556e"
      ],
      "author": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Fri Mar 08 21:57:41 2024"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Fri Mar 15 00:22:11 2024"
      },
      "message": "apply clang-format\n\nafter:\n  1b8a910 obu_parser: Frame header check for new sequence header OBU\n\nPiperOrigin-RevId: 615930446\nChange-Id: I4e5d0e1d26139d4e4086b51f13e1415a954ed567\n"
    },
    {
      "commit": "1b8a9103276d5d5bd0d19e735e4e5f20aea2556e",
      "tree": "17e979d92fcd9aae6bc0de1be499fef911e9dad7",
      "parents": [
        "8b2141ef0b8bd2bf5ad19b70b0c5ea0831367ee5"
      ],
      "author": {
        "name": "Chunbo Hua",
        "email": "chunbo.hua@intel.com",
        "time": "Wed Mar 13 15:22:03 2024"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Thu Mar 14 22:15:38 2024"
      },
      "message": "obu_parser: Frame header check for new sequence header OBU\n\nAccording to AV1 spec Section 7.5. Ordering of OBUs, a new coded\nvideo sequence is defined to start at each temporal unit which\nsatisfies both of the following conditions:\n  * A sequence header OBU appears before the first frame header.\n  * The first frame header has frame_type equal to KEY_FRAME,\n    show_frame equal to 1, show_existing_frame equal to 0, and\n    temporal_id equal to 0.\n\nFor the consideration of decoding compatibility as libaom does, it\nis defined as warning in order to make the decoding job be continued.\n\nChange-Id: Icbc18d6c69c3b9da9ee9ab4ae86e41f60f524055\nReviewed-on: https://chromium-review.googlesource.com/c/codecs/libgav1/+/5369036\nReviewed-by: James Zern \u003cjzern@google.com\u003e\nTested-by: WebM Builds \u003cbuilds@webmproject.org\u003e\nReviewed-by: Vignesh Venkat \u003cvigneshv@google.com\u003e\n"
    },
    {
      "commit": "8b2141ef0b8bd2bf5ad19b70b0c5ea0831367ee5",
      "tree": "d557f77df8234758b3ea8140a6ad77c5e3ba54a8",
      "parents": [
        "933ff6b0cea80eaf6b48dd461b47831c46ca768f"
      ],
      "author": {
        "name": "Chunbo Hua",
        "email": "chunbo.hua@intel.com",
        "time": "Fri Mar 08 03:01:15 2024"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Fri Mar 08 21:51:51 2024"
      },
      "message": "obu_parser: Add sequence header missing as error log\n\nChange-Id: I8da65861480bb4b1e27bd12bed729f2c06a1e666\nReviewed-on: https://chromium-review.googlesource.com/c/codecs/libgav1/+/5355346\nReviewed-by: James Zern \u003cjzern@google.com\u003e\nTested-by: WebM Builds \u003cbuilds@webmproject.org\u003e\nReviewed-by: Vignesh Venkat \u003cvigneshv@google.com\u003e\n"
    },
    {
      "commit": "933ff6b0cea80eaf6b48dd461b47831c46ca768f",
      "tree": "d051ab3767fb45ccbff4024ab689bdb2f816aadf",
      "parents": [
        "d2f84e499e046281c4ded2d24d9186e2c54c01d8"
      ],
      "author": {
        "name": "libgav1 Team",
        "email": "noreply@google.com",
        "time": "Fri Mar 01 16:54:36 2024"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Mon Mar 04 21:25:08 2024"
      },
      "message": "Add parse only option to libgav1\n\nAdd a public API function to only parse the bitstream and obtain the QP values.\n\nPiperOrigin-RevId: 611808956\nChange-Id: I48851cfa9daa3c995d0365f85e8820499e016f67\n"
    },
    {
      "commit": "d2f84e499e046281c4ded2d24d9186e2c54c01d8",
      "tree": "3e14768983f5de6520c28266a81701b78a7eb090",
      "parents": [
        "d1e63d1761eacdd245b929f7814fd4a883971fd0"
      ],
      "author": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Tue Feb 13 00:48:32 2024"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Tue Feb 13 02:40:53 2024"
      },
      "message": "compiler_attributes.h: normalize ASAN_* defines\n\nThis avoids -Wmacro-redefined if the header is included in another\nproject that defines the macros in the way described by:\nhttps://github.com/google/sanitizers/wiki/AddressSanitizerManualPoisoning\n\nPiperOrigin-RevId: 606408557\nChange-Id: I14d984c619bfac77036c74c3cd51da5b1c59faab\n"
    },
    {
      "commit": "d1e63d1761eacdd245b929f7814fd4a883971fd0",
      "tree": "370cb67ebc2e28e97b22f15adac6ce506dd4cf04",
      "parents": [
        "35fea10bfdb790cf131ae74a4ee346905f34dc3c"
      ],
      "author": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Wed Dec 06 19:01:57 2023"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Wed Dec 06 19:35:46 2023"
      },
      "message": "libgav1_tests.cmake: add missing absl::time dep\n\nThis fixes link errors in reconstruction_test when\n`LIBGAV1_THREADPOOL_USE_STD_MUTEX\u003d1`. The dependency comes from\ntest/utils.cc::CheckMd5Digest(), but that is a part of an object lib and\ncan\u0027t currently have a dependency.\n\nPiperOrigin-RevId: 588482562\nChange-Id: Ib12031d71169033e7a0b8ee0f3610ae26ea579bb\n"
    },
    {
      "commit": "35fea10bfdb790cf131ae74a4ee346905f34dc3c",
      "tree": "38b94c8cb871925eda5f23941fd5a42c3a231838",
      "parents": [
        "e386d8f1fb983200972d159b9be47fd5d0776708"
      ],
      "author": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Tue Dec 05 19:57:14 2023"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Tue Dec 05 20:07:45 2023"
      },
      "message": "film_grain: undo ASan poison at destruction time\n\nThis fixes false positives when the address range of luma_grain_ or\nscaling_lut_y_ is reused.\n\nBug: chromium:1505187\nPiperOrigin-RevId: 588145460\nChange-Id: I700a87a6186f60434161ea466a59869478bd8c01\n"
    },
    {
      "commit": "e386d8f1fb983200972d159b9be47fd5d0776708",
      "tree": "ff97ccd1471553f1e861c8ea747faa45a023e119",
      "parents": [
        "5cf722e659014ebaf2f573a6dd935116d36eadf1"
      ],
      "author": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Fri Oct 27 16:59:13 2023"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Tue Oct 31 20:45:12 2023"
      },
      "message": "cdef.cc: quiet -Warray-bounds/-Wstringop-overflow\n\nGCC 13.x will report a false positive from the call to\nApplyCdefForOneSuperBlockRowHelper() with a nullptr in\nApplyCdefForOneSuperBlockRow(). The call to CopyPixels() in\nApplyCdefForOneUnit() is only made when thread_pool_ !\u003d nullptr and\nborder_columns[][] is a valid pointer.\n\nFixes:\ninlined from \u0027void libgav1::PostFilter::ApplyCdefForOneUnit(uint16_t*,\n  int, int, int, int, int, uint8_t (*)[3][256], bool (*)[2]) [with Pixel\n  \u003d short unsigned int]\u0027 at\n  src/post_filter/cdef.cc|331| 15,\ninlined from \u0027void\n  libgav1::PostFilter::ApplyCdefForOneSuperBlockRowHelper(uint16_t*,\n  uint8_t (*)[3][256], int, int)\u0027 at\n  src/post_filter/cdef.cc|613| 36,\ninlined from \u0027void\n  libgav1::PostFilter::ApplyCdefForOneSuperBlockRow(int, int, bool)\u0027 at\n  src/post_filter/cdef.cc|643| 41:\nsrc/post_filter/cdef.cc|81 col 11| warning: array subscript 2 is outside\n  array bounds of \u0027uint8_t [0][256]\u0027 [-Warray-bounds\u003d]\n|| In member function \u0027void\n||   libgav1::PostFilter::ApplyCdefForOneSuperBlockRow(int, int, bool)\u0027:\n|| cc1plus: note: source object is likely at address zero\n\nPiperOrigin-RevId: 577231147\nChange-Id: I13e5345c03934f7a8d9cc8d8c2a5b5a8107bc7ff\n"
    },
    {
      "commit": "5cf722e659014ebaf2f573a6dd935116d36eadf1",
      "tree": "b515587698f763bcfcb744564dfa3d617b4f3d0d",
      "parents": [
        "0fc6d78566a38d0b58d61a104dee5322d23adc23"
      ],
      "author": {
        "name": "libgav1 Team",
        "email": "noreply@google.com",
        "time": "Mon Oct 02 23:07:10 2023"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Mon Oct 02 23:18:22 2023"
      },
      "message": "Add missing #include in threadpool.cc\n\nThere are uses of snprintf but no appropriate #include\n\nPiperOrigin-RevId: 570208069\nChange-Id: I37bc16357954c0b8a429447775f420f98cf6c951\n"
    },
    {
      "commit": "0fc6d78566a38d0b58d61a104dee5322d23adc23",
      "tree": "7ed3e26cc3569346ab2f248118c57a32d9417b82",
      "parents": [
        "2bb1ffb4bedf56598ff8c628b20983aa1531dd35"
      ],
      "author": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Mon Jul 24 23:26:40 2023"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Tue Jul 25 00:51:53 2023"
      },
      "message": "add common_dsp_test.cc\n\nUse this to call AVX2/SSE4 specific functions, formerly in the\ncommon_{avx2,sse4}_test tests. This avoids invoking the tests without\nchecking for CPU support.\n\nThe test fixture needs to be in a separate file to avoid AVX2/SSE4\ninstructions being generated in the fixture or gtest support code.\ncommon_neon_test.cc is left as is since NEON is a requirement for Arm\nbuilds currently.\n\nBug: b/289624514\nPiperOrigin-RevId: 550705795\nChange-Id: Idd984e3f94d0c5b1e9d1bbc8d2fc376e60c17cc5\n"
    },
    {
      "commit": "2bb1ffb4bedf56598ff8c628b20983aa1531dd35",
      "tree": "24a463a5b29b29194d30a24ab8af1339391f93dd",
      "parents": [
        "df0023cc95b8e606a2fd243522d823401ef86637"
      ],
      "author": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Thu Jul 20 01:54:55 2023"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Thu Jul 20 22:00:14 2023"
      },
      "message": "dsp/*_test.cc: check AVX2/SSE4 support before testing\n\nThis avoids generating SIGILLs on machines without support for these\ninstructions. The tests are now skipped rather than just skipping the\n*Init() calls which would result in misleading output as the base C++\ncode would be used.\n\nTested with Intel Software Development Emulator (SDE) using Silvermont\n(no AVX2) and Pentium 4 Prescott (no SSE4). common_avx2_test and\ncommon_sse4_test will be addressed in a follow up.\n\nBug: b/289624514\nPiperOrigin-RevId: 549488461\nChange-Id: I89585122b53ea114f0e02baa594ac0a430bc7a9a\n"
    },
    {
      "commit": "df0023cc95b8e606a2fd243522d823401ef86637",
      "tree": "fbd31c0223a161219cb2d856b49283de42d2f2b0",
      "parents": [
        "4339c3147b91c356cf274e390ebb953a4ed2e26b"
      ],
      "author": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Thu Jul 06 22:18:44 2023"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Thu Jul 06 22:39:30 2023"
      },
      "message": "fuzzer_temp_file: add windows support\n\nUsing GetTempFileNameA() means the suffix parameter will be ignored.\n\nPiperOrigin-RevId: 546105885\nChange-Id: Id5e78f3849af35bf07ecee9336f2c850eaf96b4d\n"
    },
    {
      "commit": "4339c3147b91c356cf274e390ebb953a4ed2e26b",
      "tree": "bbfc7ed9874d42daf28b09d7e4be5faa0f93759b",
      "parents": [
        "5c87e869c8ebd96e226c46018eb4e0f6178e085b"
      ],
      "author": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Tue Apr 04 18:36:46 2023"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Thu Jul 06 22:39:30 2023"
      },
      "message": "inverse_transform_neon: update clang version check\n\nThe bug in ButterflyRotation_FirstIsZero() [1] was fixed in 14.0.0 [2].\n\n[1] https://bugs.llvm.org/show_bug.cgi?id\u003d51563\n[2] https://github.com/llvm/llvm-project/commit/82973edfb72a95b442fa6d2bb404e15a4031855e\n\nPiperOrigin-RevId: 521821584\nChange-Id: I3c510fea7378cfce6eabb6937f497096a1fe40a6\n"
    },
    {
      "commit": "5c87e869c8ebd96e226c46018eb4e0f6178e085b",
      "tree": "7052a3e2dac0b9586641afa5bc2d3f0d9ece3938",
      "parents": [
        "607fea9b892b18629b9ce7148adbeb02235c60f3"
      ],
      "author": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Wed Feb 08 03:36:35 2023"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Thu Jul 06 22:39:17 2023"
      },
      "message": "version.h: bump version to 0.19.0\n\nThis reflects the change in default of LIBGAV1_MAX_BITDEPTH from 10 to\n12.\n\nPiperOrigin-RevId: 507951301\nChange-Id: I16a53cfb87604136c0943aee59bbec5ec10ca223\n"
    },
    {
      "commit": "607fea9b892b18629b9ce7148adbeb02235c60f3",
      "tree": "5148be7c73c1506632df27f2d437bcc8f72c5141",
      "parents": [
        "a3ba1489500768cb05ab0055e4ad64b369adb971"
      ],
      "author": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Thu Feb 02 22:56:55 2023"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Tue Feb 07 20:55:26 2023"
      },
      "message": "obu_parser_fuzzer: exercise GetAV1CodecConfigurationBox()\n\nPiperOrigin-RevId: 506731101\nChange-Id: Icf39d2e53947eeb26c2369c323fdb9e59b5c8679\n"
    },
    {
      "commit": "a3ba1489500768cb05ab0055e4ad64b369adb971",
      "tree": "3767fde193da6e87d05b0d6ef4f8963c438a9e8e",
      "parents": [
        "493c8dd206aecfbe9ebe1c93059d0c7223e1489b"
      ],
      "author": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Wed Jan 25 02:00:02 2023"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Tue Feb 07 20:55:18 2023"
      },
      "message": "fuzzer_get_tmpfile_with_suf: fix -Wsign-compare\n\nfixes\nsrc/tests/fuzzer/fuzzer_temp_file.h:57:79: error: comparison of integers\nof different signs: \u0027int\u0027 and \u0027const size_t\u0027 (aka \u0027const unsigned long\u0027)\n[-Werror,-Wsign-compare]\n\nPiperOrigin-RevId: 504423588\nChange-Id: If95c8def948479bd1625c8479116750608a1b1eb\n"
    },
    {
      "commit": "493c8dd206aecfbe9ebe1c93059d0c7223e1489b",
      "tree": "997bb12850b352869d05a07d3fd2c6f7178b6379",
      "parents": [
        "bf56e88960a5eef126a84c5c86e431248e77c176"
      ],
      "author": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Wed Jan 18 23:59:47 2023"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Thu Jan 19 00:58:43 2023"
      },
      "message": "README.md: update LIBGAV1_MAX_BITDEPTH text\n\n12-bit is supported and the default after:\nbf56e88 cmake: Set LIBGAV1_MAX_BITDEPTH to 12 by default\n\nPiperOrigin-RevId: 503003037\nChange-Id: I038b15b6c1145af443225142c45d1fc4fcb2a8be\n"
    },
    {
      "commit": "bf56e88960a5eef126a84c5c86e431248e77c176",
      "tree": "248cd4fa6da00eeb595083d4a687a7baf339ce92",
      "parents": [
        "2e113ee5d24418cc79dd1ff7db8311abcc9e38e4"
      ],
      "author": {
        "name": "Vignesh Venkatasubramanian",
        "email": "vigneshv@google.com",
        "time": "Wed Jan 18 01:12:16 2023"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Wed Jan 18 21:31:01 2023"
      },
      "message": "cmake: Set LIBGAV1_MAX_BITDEPTH to 12 by default\n\nSince libgav1 supports 12-bit now, set the max bitdepth to 12 by\ndefault instead of 10.\n\nPiperOrigin-RevId: 502728851\nChange-Id: I57e933bd845158633f640de8809d12ab923883bc\n"
    },
    {
      "commit": "2e113ee5d24418cc79dd1ff7db8311abcc9e38e4",
      "tree": "682d7f9d45f88bf5a00130e777bded6fb87b8920",
      "parents": [
        "28d2bada44261286f2a4a9756633e9fb0a059e35"
      ],
      "author": {
        "name": "Scott LaVarnway",
        "email": "slavarnway@google.com",
        "time": "Thu Dec 15 16:36:38 2022"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Wed Jan 18 21:31:01 2023"
      },
      "message": "Quiet -Wmaybe-uninitialized warning (convolve_10bit_neon.cc)\n\nwhen using GCC 12.2.0.\n\nPiperOrigin-RevId: 495601253\nChange-Id: I8c241fae5a695eda4b0f9d25eec2dc4b49a508b7\n"
    },
    {
      "commit": "28d2bada44261286f2a4a9756633e9fb0a059e35",
      "tree": "0969be10b01e234935f49c95a7cd93abcb18616a",
      "parents": [
        "5e6bb03b4a99a020aebe4f53811d2ccf2096311b"
      ],
      "author": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Fri Nov 04 22:41:06 2022"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Wed Jan 18 21:30:54 2023"
      },
      "message": "convolve_{avx2,sse4}: memset intermediate buffer w/MSan\n\nthis quiets msan warnings related to vector loads/stores for values that are\nultimately not propagated to the output. this change was made previously\nin the NEON implementation.\n\n  src/dsp/x86/common_sse4.inc:83:3\n  namespace)::Filter2DVertical4xH\u003c6, false\u003e(unsigned short const*,\n  void*, long, int, long long vector[2] const*)\n  src/dsp/x86/convolve_sse4.inc:342:22\n...\nUninitialized value was created by an allocation of \u0027intermediate_result\u0027 in the stack frame\n  namespace)::Convolve2D_AVX2(void const*, long, int, int, int, int,\n  int, int, void*, long) src/dsp/x86/convolve_avx2.cc:608:3\n\nPiperOrigin-RevId: 486246962\nChange-Id: Id4f9251076431bd7644674e093a0752895bd6ab9\n"
    },
    {
      "commit": "5e6bb03b4a99a020aebe4f53811d2ccf2096311b",
      "tree": "88d1d8feda3e2b71dea79225b3c952cfdb8ad3d9",
      "parents": [
        "5b402ac1203b260b92b8aacf3f4acaf324a31620"
      ],
      "author": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Mon Oct 31 18:22:02 2022"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Mon Oct 31 19:51:14 2022"
      },
      "message": "Tile::StoreMotionFieldMvsIntoCurrentFrame: reorder some ops\n\nMove the check on reference_frame_to_store before copying the\nMotionVector data from the BlockParameters. This avoids an uninitialized\nread MSan warning in debug builds where the code isn\u0027t reordered.\n\nPiperOrigin-RevId: 485102218\nChange-Id: I0e16280e60ee1edae8b2c0da67155de841f50066\n"
    },
    {
      "commit": "5b402ac1203b260b92b8aacf3f4acaf324a31620",
      "tree": "3a01069980c39399848512e1874974bc19de819a",
      "parents": [
        "97e4ce49d11f197816b89a4dbf168e0898268dc6"
      ],
      "author": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Mon Oct 31 18:02:43 2022"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Mon Oct 31 19:51:14 2022"
      },
      "message": "README.md: sync abseil/googletest versions w/cmake\n\nPiperOrigin-RevId: 485097054\nChange-Id: I80b163353c45359098d11ad1a330360f1d1e3fd0\n"
    },
    {
      "commit": "97e4ce49d11f197816b89a4dbf168e0898268dc6",
      "tree": "4cafe2c6dcd09fd85833725cab664120ffdc6693",
      "parents": [
        "f6526fea9bec0673fad19df4f73c34f728e77d31"
      ],
      "author": {
        "name": "Scott LaVarnway",
        "email": "slavarnway@google.com",
        "time": "Tue Oct 25 13:44:53 2022"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Mon Oct 31 19:51:14 2022"
      },
      "message": "Quiet -Wmaybe-uninitialized warning (convolve_neon.cc)\n\nwhen using GCC 12.2.0.\n\nPiperOrigin-RevId: 483658649\nChange-Id: I9e07adb8a276c3811b13e673bd94881516eb3b6d\n"
    },
    {
      "commit": "f6526fea9bec0673fad19df4f73c34f728e77d31",
      "tree": "c947e4df0adb935ef5f7e4e4dfe6479735e7b0a0",
      "parents": [
        "b52290e6e291e2dfef44399d9235a719876a42e3"
      ],
      "author": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Mon Oct 24 20:49:19 2022"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Mon Oct 31 19:51:14 2022"
      },
      "message": "loop_filter_10bit_neon: remove 2 dead stores\n\nPiperOrigin-RevId: 483475579\nChange-Id: Ibdbe540861a62627585de3b0805de2d5fe8d6466\n"
    },
    {
      "commit": "b52290e6e291e2dfef44399d9235a719876a42e3",
      "tree": "9c0b66c9c7b230a56b687a36ccc3129abb367bf4",
      "parents": [
        "26934ebe857a6cc31d2e28608e08611fa1c6e730"
      ],
      "author": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Mon Oct 24 20:31:57 2022"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Mon Oct 31 19:51:14 2022"
      },
      "message": "intrapred_directional_neon: remove a dead store\n\nPiperOrigin-RevId: 483470864\nChange-Id: I0ba1d9a6ca75499b9c4e8724e02a9e972ed3ce4f\n"
    },
    {
      "commit": "26934ebe857a6cc31d2e28608e08611fa1c6e730",
      "tree": "d622e3288cc7a816a206da3384585e4400264e02",
      "parents": [
        "0cb3d8e4f6571faaf76f4630eb4e92a6222f96d2"
      ],
      "author": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Fri Oct 21 19:36:47 2022"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Mon Oct 31 19:51:14 2022"
      },
      "message": "{c_,}decoder_test: add missing status checks\n\nfixes some dead store static analysis warnings\n\nPiperOrigin-RevId: 482861636\nChange-Id: I529223ece8a86da97eea017419243cf586a87503\n"
    },
    {
      "commit": "0cb3d8e4f6571faaf76f4630eb4e92a6222f96d2",
      "tree": "afc7fe1107fc86de2943d17f11bc0fb556807627",
      "parents": [
        "086a7d6fb691cc3e2177c4728e3734918d95bb8a"
      ],
      "author": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Fri Oct 21 19:26:10 2022"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Mon Oct 31 19:51:14 2022"
      },
      "message": "mask_blend_test: add an assert for non-null func_\n\nquiets a static analysis warning\n\nPiperOrigin-RevId: 482859175\nChange-Id: I06816acce977df58cd14d6b41beaf222d425210b\n"
    },
    {
      "commit": "086a7d6fb691cc3e2177c4728e3734918d95bb8a",
      "tree": "3183a3ab8d35c325fdf03fb2c49182f45d4075ac",
      "parents": [
        "96b8a17116b9dfa5134bc4eaf0e801fb51f908d2"
      ],
      "author": {
        "name": "Derek Mauro",
        "email": "dmauro@google.com",
        "time": "Tue Oct 18 19:57:39 2022"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Mon Oct 31 19:51:13 2022"
      },
      "message": "file_writer_test: use absl::WrapUnique\n\nabsl::make_unique may use a throwing new. Using WrapUnique with\nstd::nothrow is more consistent with the rest of the code.\nPiperOrigin-RevId: 481997952\nChange-Id: I0578bbbe04bf61a0dfc108c1a918c4eea6316bc1\n"
    },
    {
      "commit": "96b8a17116b9dfa5134bc4eaf0e801fb51f908d2",
      "tree": "cc008f9f63538f1e67ab69503a2523cc0e7e0f46",
      "parents": [
        "fea63d34a70e3475cc93cbcb3bd748010aee2b9e"
      ],
      "author": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Mon Oct 10 20:30:28 2022"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Mon Oct 31 19:51:13 2022"
      },
      "message": "add YuvBuffer::InitializeFrameBorders()\n\nand move the MSan related code there\n\nPiperOrigin-RevId: 480164584\nChange-Id: I3d5a469b48824aae17aa03cd624dffec42bbd394\n"
    },
    {
      "commit": "fea63d34a70e3475cc93cbcb3bd748010aee2b9e",
      "tree": "87e6a653cad529b2b66480301f887e7a1d3bd9ed",
      "parents": [
        "454a764ae320171563937d7a6101487526716f31"
      ],
      "author": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Mon Oct 10 20:15:19 2022"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Mon Oct 31 19:51:13 2022"
      },
      "message": "DirectionalIntraPredictorZone2_SSE4: init top/left_buffer w/msan\n\nthe code will read negative offsets; this fixes MSan warnings, some of\nwhich are due to incorrect tracking of shuffle results\n\nPiperOrigin-RevId: 480160940\nChange-Id: I1fea16dacf5b39835343585cd70cc59e2d8ed45d\n"
    },
    {
      "commit": "454a764ae320171563937d7a6101487526716f31",
      "tree": "4dec0d179abf24b3fa620ceabab9f9ffa9bc9013",
      "parents": [
        "5ba4ac997025a70152e20f400bbccf6fd83bb0ea"
      ],
      "author": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Mon Oct 10 19:06:13 2022"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Mon Oct 31 19:51:13 2022"
      },
      "message": "PostFilter: further extend right border w/msan\n\nOptimized loop restoration may read into the next row\u0027s left border\ndepending on the start of the last superblock and the size of the right\nborder. This is safe as the post filter is applied after reconstruction\nis complete and the threaded implementations do not read from the left\nborder.\n\nPiperOrigin-RevId: 480145288\nChange-Id: Ia915ebd7a7f09924cb9c4bf550c3fd14f34ea437\n"
    },
    {
      "commit": "5ba4ac997025a70152e20f400bbccf6fd83bb0ea",
      "tree": "0ba549340e84944e0954a708b39a2c60e91c78e2",
      "parents": [
        "864c3f34aad4c59381624b4fc835b10753965431"
      ],
      "author": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Tue Oct 04 22:55:16 2022"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Mon Oct 31 19:51:13 2022"
      },
      "message": "BlendNoiseTest: zero noise image border w/MSan\n\n+ fix border size (kBorderPixelsFilmGrain -\u003e kNoiseImagePadding)\n\nthis matches the behavior in FilmGrain::AllocateNoiseImage()\n\nPiperOrigin-RevId: 478903646\nChange-Id: I37ccd90d92b8db9e4c72a91f0b360b2c3c83d710\n"
    },
    {
      "commit": "864c3f34aad4c59381624b4fc835b10753965431",
      "tree": "fb2d8004d63d7dd7569d523cc65be310b07d8ba4",
      "parents": [
        "db829677b625393ba8408b93096d10faadee2c8a"
      ],
      "author": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Mon Oct 03 18:08:06 2022"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Mon Oct 31 19:51:13 2022"
      },
      "message": "film_grain_neon: merge GetScalingFactors functions\n\nthis fixes a msan warning related to a partially filled local array when\nvalid_range is \u003c 8; the memset was misplaced in the full range function\nin cl/414834668\n\nPiperOrigin-RevId: 478552692\nChange-Id: I43475bc32d06d9a332fff6559873150a7acacc7a\n"
    },
    {
      "commit": "db829677b625393ba8408b93096d10faadee2c8a",
      "tree": "1162907bfffbeecc5732357a235c661353587ca2",
      "parents": [
        "74b5eee88046fcc8bf95b9a20b926050f912e8b0"
      ],
      "author": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Wed Sep 28 23:02:10 2022"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Sat Oct 01 04:49:49 2022"
      },
      "message": "FileReader::Open: explicitly move return value\n\nThis function returns a std::unique_ptr\u003cFileReaderInterface\u003e which\nFileReader derives from. In C++11 overload resolution was not considered\nfor local variables:\n\n12.8 Copying and moving class objects (32)\nWhen the criteria for elision of a copy operation are met or would be\nmet save for the fact that the source object is a function parameter,\nand the object to be copied is designated by an lvalue, overload\nresolution to select the constructor for the copy is first performed as\nif the object were designated by an rvalue.\n\nhttps://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3337.pdf\n\nSome compilers may have adopted C++14 behavior so this change may not\nalways be strictly necessary:\n\nWhen the criteria for elision of a copy/move operation are met, but not\nfor an exception-declaration, and the object to be copied is designated\nby an lvalue, or when the expression in a return statement is a\n(possibly parenthesized) id-expression that names an object with\nautomatic storage duration declared in the body or\nparameter-declaration-clause of the innermost enclosing function or\nlambda-expression, overload resolution to select the constructor for the\ncopy is first performed as if the object were designated by an rvalue\n\nhttps://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4296.pdf\n\nRather than use std::move, return a new std::unique_ptr constructed from\nthe FileReader pointer.\n\nThis avoids the need for an ifdef to ensure the code is being\ncompiled as C++11 and in the case of gcc, using a version (\u003c 9)\nprior to the implementation of a fix for C++ core issue #1579 (Return by\nconverting move constructor):\nhttps://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1579\n\nThis fixes compilation with some older versions of clang (observed with\n3.8).\n\nBug: b/247299694\nPiperOrigin-RevId: 478130178\nPiperOrigin-RevId: 478098624\nPiperOrigin-RevId: 477575208\nChange-Id: I15989ea73143134d70d82618763ccd1da0c49742\n"
    },
    {
      "commit": "74b5eee88046fcc8bf95b9a20b926050f912e8b0",
      "tree": "d145db2f42b6a2d1a8b2277a2df0eb5386d45a60",
      "parents": [
        "a471704c25f7e5ae0d9fccb4bc400d43a3b17952"
      ],
      "author": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Wed Sep 28 21:00:50 2022"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Wed Sep 28 23:56:11 2022"
      },
      "message": "CdefFilteringTest: accumulate per-plane times\n\npreviously only a single elapsed time was stored, reporting the same\nvalue for all 3 planes\n\nPiperOrigin-RevId: 477545711\nChange-Id: I35ec82875789738717410bf9d7a6e7a5b6f5a10b\n"
    },
    {
      "commit": "a471704c25f7e5ae0d9fccb4bc400d43a3b17952",
      "tree": "17632b563fe1a0b0b8c8143682c624f375c2da93",
      "parents": [
        "4f8bbcf9f9911a36e437b2fb734e07bc9dd2c4b7"
      ],
      "author": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Fri Sep 16 00:05:08 2022"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Mon Sep 19 22:08:50 2022"
      },
      "message": "{arm,x86}/loop_restoration*: quiet -Wuninitialized\n\nuse a mov or dup on the first load of ma in LookupIntermediate() to\navoid warnings of the form:\n\nIn file included from src/dsp/x86/loop_restoration_sse4.cc:19:\nIn function \u0027__m128i _mm_insert_epi8(__m128i, int, int)\u0027,\n  inlined from \u0027void\n    libgav1::dsp::low_bitdepth::{anonymous}::LookupIntermediate(__m128i,\n    __m128i, __m128i*, __m128i*) [with int n \u003d 25; int offset \u003d 0]\u0027 at\n    src/dsp/x86/loop_restoration_sse4.cc:1225:24,\n  inlined from \u0027void\n    libgav1::dsp::low_bitdepth::{anonymous}::CalculateIntermediate5(const\n    __m128i*, const __m128i (*)[2], uint32_t, __m128i*, __m128i*) [with int\n    offset \u003d 0]\u0027 at src/dsp/x86/loop_restoration_sse4.cc:1344:33,\n  inlined from \u0027void\n    libgav1::dsp::low_bitdepth::{anonymous}::BoxFilterPreProcess5Lo(const\n    __m128i (*)[2], uint32_t, uint16_t* const*, uint32_t* const*, __m128i\n    (*)[4], __m128i*, __m128i*)\u0027 at\n    src/dsp/x86/loop_restoration_sse4.cc:1455:28,\n  inlined from \u0027void\n    libgav1::dsp::low_bitdepth::{anonymous}::BoxSumFilterPreProcess5(const\n    uint8_t*, const uint8_t*, int, uint32_t, uint16_t* const*, uint32_t*\n    const*, ptrdiff_t, uint16_t*, uint32_t*)\u0027 at\n    src/dsp/x86/loop_restoration_sse4.cc:1722:25:\n/usr/lib/gcc/x86_64-linux-gnu/12/include/smmintrin.h:401:49: warning:\n  \u0027*(__m128i*)(\u0026mas[0])\u0027 is used uninitialized [-Wuninitialized]\n  return (__m128i) __builtin_ia32_vec_set_v16qi ((__v16qi)__D,\n                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~\n                                                 __S, __N);\n                                                 ~~~~~~~~~\nsrc/dsp/x86/loop_restoration_sse4.cc: In function \u0027void\n  libgav1::dsp::low_bitdepth::{anonymous}::BoxSumFilterPreProcess5(const\n  uint8_t*, const uint8_t*, int, uint32_t, uint16_t* const*, uint32_t*\n  const*, ptrdiff_t, uint16_t*, uint32_t*)\u0027:\nsrc/dsp/x86/loop_restoration_sse4.cc:1717:20: note:\n  \u0027*(__m128i*)(\u0026mas[0])\u0027 was declared here\n 1717 |   __m128i s[2][2], mas[2], sq[2][4], bs[3];\n\nIn file included from src/dsp/arm/loop_restoration_neon.cc:19:\nIn function \u0027uint8x8_t vget_high_u8(uint8x16_t)\u0027,\n  inlined from \u0027void\n    libgav1::dsp::low_bitdepth::{anonymous}::CalculateIntermediate(uint16x8_t,\n    uint32x4x2_t, uint32_t, uint8x16_t*, uint16x8_t*) [with int n \u003d 25; int\n    offset \u003d 0]\u0027 at src/dsp/arm/loop_restoration_neon.cc:1128:23,\n  inlined from \u0027void\n    libgav1::dsp::low_bitdepth::{anonymous}::CalculateIntermediate5(const\n    uint16x8_t*, const uint32x4x2_t*, uint32_t, uint8x16_t*, uint16x8_t*)\n    [with int offset \u003d 0]\u0027 at src/dsp/arm/loop_restoration_neon.cc:1160:36,\n  inlined from \u0027void\n    libgav1::dsp::low_bitdepth::{anonymous}::BoxFilterPreProcess5Lo(uint8x16_t\n    (*)[2], uint32_t, uint16_t* const*, uint32_t* const*, uint16x8_t (*)[4],\n    uint8x16_t*, uint16x8_t*)\u0027 at\n    src/dsp/arm/loop_restoration_neon.cc:1248:28,\n  inlined from \u0027void\n    libgav1::dsp::low_bitdepth::{anonymous}::BoxSumFilterPreProcess5(const\n    uint8_t*, const uint8_t*, int, uint32_t, uint16_t* const*, uint32_t*\n    const*, uint16_t*, uint32_t*)\u0027 at\n    src/dsp/arm/loop_restoration_neon.cc:1510:25:\n/usr/lib/gcc-cross/aarch64-linux-gnu/12/include/arm_neon.h:5949:54:\n  warning: \u0027mas[0]\u0027 is used uninitialized [-Wuninitialized]\n return (uint8x8_t) __builtin_aarch64_get_highv16qi ((int8x16_t) __a);\n                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~\nsrc/dsp/arm/loop_restoration_neon.cc: In function \u0027void\n  libgav1::dsp::low_bitdepth::{anonymous}::BoxSumFilterPreProcess5(const\n  uint8_t*, const uint8_t*, int, uint32_t, uint16_t* const*, uint32_t*\n  const*, uint16_t*, uint32_t*)\u0027:\n  src/dsp/arm/loop_restoration_neon.cc:1505:23: note: \u0027mas[0]\u0027 was\n  declared here\n 1505 |   uint8x16_t s[2][2], mas[2];\n      |                       ^~~\n\nPiperOrigin-RevId: 474691202\nChange-Id: Ibe08df29680843e6331e8c27b9b32d38cdf5a392\n"
    },
    {
      "commit": "4f8bbcf9f9911a36e437b2fb734e07bc9dd2c4b7",
      "tree": "a7ba7b50d737be8878aba481502ac72dc85aa21f",
      "parents": [
        "ccfc0c6dd9f6e91edbff796bf600af2a8567e0f8"
      ],
      "author": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Thu Sep 15 17:55:50 2022"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Mon Sep 19 22:08:50 2022"
      },
      "message": "Tile::GetReferenceCdf: quiet -Warray-bounds\n\nGCC 12.x produces a false positive for access to\ncompound_reference_cdf[2][3][3][3]. The context index used for the\nsecond subscript can only be between 0 and 2 as returned from\nGetReferenceContext().\n\nquiets a warning of the form:\n\nIn member function \u0027uint16_t* libgav1::Tile::GetReferenceCdf(const Block\u0026,\n  libgav1::CompoundReferenceType) [with bool is_single \u003d false; bool\n  is_backward \u003d false; int index \u003d 0]\u0027,\ninlined from \u0027void libgav1::Tile::ReadReferenceFrames(const Block\u0026, bool)\u0027\n  at src/tile/bitstream/mode_info.cc:965:27:\nsrc/tile/bitstream/mode_info.cc:902:77: warning: array subscript 2 is\n  above array bounds of \u0027uint16_t [2][3][3][3]\u0027\n {aka \u0027short unsigned int [2][3][3][3]\u0027} [-Warray-bounds] 902 |\n return symbol_decoder_context_.compound_reference_cdf[type][context][index];\n ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^\n\nIn file included from src/buffer_pool.h:33, from\n  src/tile/bitstream/mode_info.cc:24: src/symbol_decoder_context.h: In\n  member function \u0027void libgav1::Tile::ReadReferenceFrames(const Block\u0026,\n  bool)\u0027: src/symbol_decoder_context.h:234:7: note: while referencing\n  \u0027libgav1::SymbolDecoderContext::compound_reference_cdf\u0027 234 |\n  compound_reference_cdf[kNumCompoundReferenceTypes][kReferenceContexts][3] |\n  ^~~~~~~~~~~~~~~~~~~~~~\n\nPiperOrigin-RevId: 474604532\nChange-Id: If7d0b3b7f9ab629e58287050e875a0ae753ffb48\n"
    },
    {
      "commit": "ccfc0c6dd9f6e91edbff796bf600af2a8567e0f8",
      "tree": "7baf3e7aa74de94942312d75201f215b7f43030f",
      "parents": [
        "720b505f7670b837ac02cd72758679551a3a7085"
      ],
      "author": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Wed Aug 31 18:22:19 2022"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Mon Sep 19 22:08:46 2022"
      },
      "message": "FilmGrainParams: clarify field relationship to spec vars\n\nBug: b/242108445\nBug: chromium:1356915\nPiperOrigin-RevId: 471303490\nChange-Id: I702a1514db48391f41e1447a8580a67773f07c78\n"
    },
    {
      "commit": "720b505f7670b837ac02cd72758679551a3a7085",
      "tree": "2cc84f3b211da4dd4ff2c4e466a6f2e43a350bcb",
      "parents": [
        "e33399b10fa2f444b16bdcbd0d711a7c86d8537e"
      ],
      "author": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Wed Aug 10 20:51:20 2022"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Tue Aug 23 01:35:25 2022"
      },
      "message": "decoder_buffer.h: add comments for ObuMetadataHdrMdcv members\n\nPiperOrigin-RevId: 466777489\nChange-Id: I73f67f18ea4217cc5a83472dbfe07b831fc003dd\n"
    },
    {
      "commit": "e33399b10fa2f444b16bdcbd0d711a7c86d8537e",
      "tree": "553ee33d8c26231246b138d2681eec4d6b7b77ad",
      "parents": [
        "f06328bff13fe3fc1818ed0c3fd823b8826dafc6"
      ],
      "author": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Tue Aug 09 21:18:52 2022"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Tue Aug 23 01:35:25 2022"
      },
      "message": "cmake: suggest stable versions of abseil/googletest\n\nthis ensures a C++11 compatible version of each library after:\n  97ab3dcf Move Abseil to C++14 minimum\n  e009c3d3 Enable heterogeneous lookup for RegisteredTestsMap.\n\nPiperOrigin-RevId: 466466183\nChange-Id: I8422b93c2ca69dc4825184c2b2ed213b015a2a00\n"
    },
    {
      "commit": "f06328bff13fe3fc1818ed0c3fd823b8826dafc6",
      "tree": "01afb96ec4e23c10f774daf871563531cf22b3c0",
      "parents": [
        "dc2ae123784cf1a9504d6b4eba112170574e31e0"
      ],
      "author": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Tue Aug 09 19:41:30 2022"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Tue Aug 23 01:35:17 2022"
      },
      "message": "threadpool: Do not use pthread_setname_np on GNU/Hurd\n\nThis function is not available there.\n\nSee also: https://crbug.com/aomedia/3306\n\nPiperOrigin-RevId: 466437900\nChange-Id: I33cdfa7ec63663a5eba6129644a0b8c3a45fbba2\n"
    },
    {
      "commit": "dc2ae123784cf1a9504d6b4eba112170574e31e0",
      "tree": "1108d7fc74989ec61a996da3ab38e0079624bf0b",
      "parents": [
        "0fb779c1e169fe6c229cd1fa9cc6ea6feeb441da"
      ],
      "author": {
        "name": "Vignesh Venkatasubramanian",
        "email": "vigneshv@google.com",
        "time": "Tue Jul 26 20:20:18 2022"
      },
      "committer": {
        "name": "Vignesh Venkatasubramanian",
        "email": "vigneshv@google.com",
        "time": "Wed Jul 27 20:47:14 2022"
      },
      "message": "obu_parser: Add support for av1c box generation\n\nAdd a public static function to ObuParser that can be used to\ngenerate the AV1CodecConfigurationBox (av1c) box from the sequence\nheader. It does the minimal parsing necessary to generate the\ncontents of the av1c box.\n\nSpecification: https://aomediacodec.github.io/av1-isobmff/#av1codecconfigurationbox\nPiperOrigin-RevId: 463412386\nChange-Id: Ic77f38014c28c20a215449c328a4fbfc336cd28e\nReviewed-on: https://chromium-review.googlesource.com/c/codecs/libgav1/+/3789591\nReviewed-by: James Zern \u003cjzern@google.com\u003e\nTested-by: WebM Builds \u003cbuilds@webmproject.org\u003e\n"
    },
    {
      "commit": "0fb779c1e169fe6c229cd1fa9cc6ea6feeb441da",
      "tree": "47d5d28d2ab770a10e6c48788725c51dffeb84a9",
      "parents": [
        "cd53f7c0d6a1c005e38874d143c8876d375bae70"
      ],
      "author": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Thu Jun 30 18:05:52 2022"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Thu Jun 30 20:41:58 2022"
      },
      "message": "libgav1_build_definitions: update SOVERSION for v0.18.0\n\nCURRENT is increased and REVISION/AGE reset due to the addition of\nmetadata members in DecodeBuffer in:\ncd53f7c Add public API for Metadata OBUs\n\nPiperOrigin-RevId: 458267406\nChange-Id: I861631ca62123d2d9aa07187f6321b21cd78d021\n"
    },
    {
      "commit": "cd53f7c0d6a1c005e38874d143c8876d375bae70",
      "tree": "7245ef53bb2c7609ec7b117994d2b8c786ad175f",
      "parents": [
        "471c1151dfaf6f715a01b04e00f4c0dd2ee8b941"
      ],
      "author": {
        "name": "Vignesh Venkatasubramanian",
        "email": "vigneshv@google.com",
        "time": "Fri Jun 24 15:57:17 2022"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Mon Jun 27 19:47:38 2022"
      },
      "message": "Add public API for Metadata OBUs\n\nAdd a public API for exposing HDR CLL, HDR MDCV and ITUT-T35\nmetadata OBUs in the DecoderBuffer struct.\n\nPiperOrigin-RevId: 457021819\nChange-Id: I2c3d44170766f8198797e55a76353aff44894245\n"
    },
    {
      "commit": "471c1151dfaf6f715a01b04e00f4c0dd2ee8b941",
      "tree": "5984f54f703ef654f208804847c7e3bc38f3169e",
      "parents": [
        "c4be8a32a7b440db6a14296200cfcd413237a2dc"
      ],
      "author": {
        "name": "Vignesh Venkatasubramanian",
        "email": "vigneshv@google.com",
        "time": "Wed Jun 22 16:45:51 2022"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Fri Jun 24 18:34:51 2022"
      },
      "message": "decoder_test: Share constants between C/C++ tests\n\nSplit the constexpr array into a bunch of #define statements into\nan .inc file and include them in both the C and C++ tests.\n\nPiperOrigin-RevId: 456537084\nPiperOrigin-RevId: 457044665\nChange-Id: I028c1e27f209adb65374e39ef82ae864c48f32a8\n"
    },
    {
      "commit": "c4be8a32a7b440db6a14296200cfcd413237a2dc",
      "tree": "23a4ed0abc8ca7c11fab1d5760f44daa401e447a",
      "parents": [
        "136ca1b5828fbd309093da3229ecb4f0cfac33a7"
      ],
      "author": {
        "name": "Vignesh Venkatasubramanian",
        "email": "vigneshv@google.com",
        "time": "Wed Jun 22 01:24:38 2022"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Fri Jun 24 18:34:28 2022"
      },
      "message": "obu_parser_test: Add testcase for itut_t35 extension byte\n\nitu_t_t35_country_code_extension_byte is valid only if\nitu_t_t35_country_code is 0xFF (Section 5.8.2 of the spec).\n\nUpdate the unit tests to test this case. #codehealth\n\nPiperOrigin-RevId: 456398765\nChange-Id: Idbcd0a6075eff510d339b20003d151468baf2621\n"
    },
    {
      "commit": "136ca1b5828fbd309093da3229ecb4f0cfac33a7",
      "tree": "f0e932002304a65c5f1fc13fd56e3177c6e45802",
      "parents": [
        "ed7846b3168da91e4e23b6488e8aa5f6f60ef488"
      ],
      "author": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Thu Jun 09 23:05:30 2022"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Fri Jun 17 17:27:38 2022"
      },
      "message": "Adst4_NEON: rightsize register type\n\nthis function only operates on 16x4; no change in assembly\n\nPiperOrigin-RevId: 454034345\nChange-Id: I610e02f4688e034c9a71cc3467a907c8e379376e\n"
    },
    {
      "commit": "ed7846b3168da91e4e23b6488e8aa5f6f60ef488",
      "tree": "f942578f420cd1eed6a117412b2e3b7404859676",
      "parents": [
        "3a8e43c62a75d19741d3b342b323f4047f189d24"
      ],
      "author": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Thu Jun 09 22:51:49 2022"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Fri Jun 17 17:27:38 2022"
      },
      "message": "Adst4_NEON: rightsize local register array\n\nonly s[0..6] are used; no change in assembly\n\nPiperOrigin-RevId: 454031587\nChange-Id: I3d6376399d63473b80e35102df3b81186d72e89d\n"
    },
    {
      "commit": "3a8e43c62a75d19741d3b342b323f4047f189d24",
      "tree": "d745db93760070b60954a7d352100d5e093f2bef",
      "parents": [
        "d60b4392f6e3359d282c1de11a727c5f5a6b8efe"
      ],
      "author": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Thu Jun 09 22:39:55 2022"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Fri Jun 17 17:27:37 2022"
      },
      "message": "Adst4_NEON: remove template parameter\n\nstage_is_rectangular is never true and the path is broken currently as\nAdst4_NEON only operates on the low half of the registers; no change in\nassembly\n\nPiperOrigin-RevId: 454029167\nChange-Id: I17a400abe1696d9bd4f7d125914d88cde03f1527\n"
    },
    {
      "commit": "d60b4392f6e3359d282c1de11a727c5f5a6b8efe",
      "tree": "c1bb8d854ec9dbd57bd997a68df18a36a3ae288d",
      "parents": [
        "21b81c2189794a8c1ed027ee3fd4449e80dc7340"
      ],
      "author": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Thu Jun 09 22:26:13 2022"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Fri Jun 17 17:27:37 2022"
      },
      "message": "inverse_transform_neon: replace Transpose4x8To8x4 w/vld4q\n\nand Transpose8x4To4x8 with vst4q in Adst4 / Dct4\n\n~40 fewer instructions\n\nPiperOrigin-RevId: 454026249\nChange-Id: I61d5e0cde18c7d8bf425c8f7a3effa4f8c5efeb8\n"
    },
    {
      "commit": "21b81c2189794a8c1ed027ee3fd4449e80dc7340",
      "tree": "5c922e4757ec9e6414652455fca214816350da69",
      "parents": [
        "bf4da9a9dccb697df8c26383cd8d5fa8c73df5f9"
      ],
      "author": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Thu Jun 09 22:12:04 2022"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Fri Jun 17 17:27:37 2022"
      },
      "message": "inverse_transform_neon: replace Transpose4x4 w/v{ld,st}4\n\n~20 fewer instructions in Adst4 / Dct4; this also removes a TODO, the\nremaining tranposes are specialized for this module\n\nPiperOrigin-RevId: 454023272\nChange-Id: Ic84138d0231dcbb9bfaa4ef27b0469027fbb9968\n"
    },
    {
      "commit": "bf4da9a9dccb697df8c26383cd8d5fa8c73df5f9",
      "tree": "e05e6f71a8cad1aac691e048185e17a151412952",
      "parents": [
        "4a671ec1a7ff9cea6b754968a984c1647dd7fa2e"
      ],
      "author": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Thu Jun 09 21:39:31 2022"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Fri Jun 17 17:27:37 2022"
      },
      "message": "inverse_transform_10bit_neon: use v{ld,st}4q over Transpose4x4\n\nin Dct4 / Adst4; ~20 fewer instructions. the remaining cases may be\npossible, but some reordering of operations will be needed.\n\nPiperOrigin-RevId: 454016144\nChange-Id: I53d2f68e1ecc45f904d0d367a39b83855f9d1236\n"
    },
    {
      "commit": "4a671ec1a7ff9cea6b754968a984c1647dd7fa2e",
      "tree": "62265189aa5565d38c91debf0e22e68b7ed6a9b4",
      "parents": [
        "f0b7dbcccccc43d86dfa093a28bd76cadcdd1d40"
      ],
      "author": {
        "name": "Alex Peterson",
        "email": "petersonab@google.com",
        "time": "Thu Jun 02 21:19:59 2022"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Fri Jun 03 00:06:47 2022"
      },
      "message": "Avoid 32-bit vectors in distance weighted blend\n\nPiperOrigin-RevId: 452620607\nChange-Id: Icd2c8bfc1ba5dd6682c3420de74ce810e545f0df\n"
    },
    {
      "commit": "f0b7dbcccccc43d86dfa093a28bd76cadcdd1d40",
      "tree": "0554041a1f306d4ff95b528f1e39f8b3da96c318",
      "parents": [
        "b9fcc38e8f67df5a331bc9f5807f6ffa10f56c2a"
      ],
      "author": {
        "name": "Alex Peterson",
        "email": "petersonab@google.com",
        "time": "Wed Jun 01 18:13:05 2022"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Fri Jun 03 00:06:41 2022"
      },
      "message": "Remove height template from DistanceWeightedBlend\n\nFor 1000+ extra lines of assembly, it only saves up to one branch in\nmost cases, and the compiler implements a loop for 8x32 blocks\nregardless.\n\nPiperOrigin-RevId: 452339830\nChange-Id: I5308c41cfe1427c12fbd8bd8fe7d3db0cfd5fd86\n"
    },
    {
      "commit": "b9fcc38e8f67df5a331bc9f5807f6ffa10f56c2a",
      "tree": "6ca32f4d901a5d3b23a5bccc36f2f4cbb4639cda",
      "parents": [
        "38ca0c62d9079820bbb872d81738770c0a28ae6d"
      ],
      "author": {
        "name": "Alex Peterson",
        "email": "petersonab@google.com",
        "time": "Wed Jun 01 17:48:45 2022"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Fri Jun 03 00:06:33 2022"
      },
      "message": "Simplify shuffle branch in 10bpp DirectionalZone2\n\nEach set of 8 columns is sent to an 8xH function that either always uses\nshuffle for left column prediction or always uses transpose, in the\nsegments where the source is neither left-only nor top-only. Analysis\nfinds that there are only one or two such segments (8x8 sub-blocks) when\nx \u003e 16.\n\nThis eliminates several divide operations, at the cost of using\ntranspose somewhat more often. However, the excess transposes are\nconstrained to ~25% of the Zone2 angles, and there only the first 32\ncolumns.\n\nPiperOrigin-RevId: 452333414\nChange-Id: I4b977944e3a8f0ea46fa18e225cf503b0c4307d5\n"
    },
    {
      "commit": "38ca0c62d9079820bbb872d81738770c0a28ae6d",
      "tree": "fc471eecc43a3484e1d5c1664d1195eb579772a9",
      "parents": [
        "4b936b8a771118fcb28c264b2241154526324a7a"
      ],
      "author": {
        "name": "Hirokazu Honda",
        "email": "hiroh@google.com",
        "time": "Thu May 26 05:52:57 2022"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Thu May 26 22:30:32 2022"
      },
      "message": "SegmentationMap: Avoid redundant buf allocation\n\nThis reallocates the buffer storing segment buffer ids only if\nthe new size is larger. It reduces the reallocation frequency.\n\nPiperOrigin-RevId: 451093202\nChange-Id: I06f06e17fba3ebbbf651a995d37001602fc6d54b\n"
    },
    {
      "commit": "4b936b8a771118fcb28c264b2241154526324a7a",
      "tree": "ab6b0f2ffaf657984739d7813afc69487d092eed",
      "parents": [
        "ab7540115a2c350e8c4534ee6793a6018af2db3d"
      ],
      "author": {
        "name": "Alex Peterson",
        "email": "petersonab@google.com",
        "time": "Thu May 19 01:53:31 2022"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Tue May 24 01:10:29 2022"
      },
      "message": "Load more lines at once in obmc_sse4.cc\n\nThis takes advantage of the width stride in the obmc_pred buffer.\n\nPiperOrigin-RevId: 449629904\nChange-Id: I34ea1bb20c6fc827dfa596652ed1152a9f0b79ee\n"
    },
    {
      "commit": "ab7540115a2c350e8c4534ee6793a6018af2db3d",
      "tree": "bbdb2e3dfa7d161299901faea1a2bb713ab9007f",
      "parents": [
        "dcd5550fb2ab4998a1a7600d7bc9fd4d95b3d01a"
      ],
      "author": {
        "name": "Alex Peterson",
        "email": "petersonab@google.com",
        "time": "Wed May 18 22:08:48 2022"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Tue May 24 01:10:19 2022"
      },
      "message": "Simplify the shuffle decision in DirectionalZone2\n\nEach set of 8 columns is sent to an 8xH function that either always uses\nshuffle for left column prediction or always uses transpose, in the\nsegments where the source is neither left-only nor top-only. Analysis\nfinds that there are only one or two such segments (8x8 sub-blocks) when\nx \u003e 16.\n\nThis eliminates several divide operations, at the cost of using\ntranspose somewhat more often. However, the excess transposes are\nconstrained to ~25% of the Zone2 angles, and there only the first 32\ncolumns.\n\nPiperOrigin-RevId: 449587867\nChange-Id: I717c7ca785a8e07b98ad22b2c0b369d731ca55b1\n"
    },
    {
      "commit": "dcd5550fb2ab4998a1a7600d7bc9fd4d95b3d01a",
      "tree": "7d8770698902f21dafb1855178c9d7ead38f4a43",
      "parents": [
        "76a86fcb8cdc93d651eb0f001c3ffda9c290c420"
      ],
      "author": {
        "name": "Alex Peterson",
        "email": "petersonab@google.com",
        "time": "Wed May 18 20:52:39 2022"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Sat May 21 16:44:36 2022"
      },
      "message": "Use contiguous loads in mask_blend_sse4.cc\n\nGetMask functions are also consolidated for reuse in both low_bitdepth\nand high_bitdepth code.\n\nPiperOrigin-RevId: 449568491\nChange-Id: I4c4a78c3c330ffe075334145e45880f1f9183a64\n"
    },
    {
      "commit": "76a86fcb8cdc93d651eb0f001c3ffda9c290c420",
      "tree": "92de084d7d271c3d4238a5946bbfc0647c24b567",
      "parents": [
        "00be8576c4ab7daa945c5409811e284165f85648"
      ],
      "author": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Tue May 17 00:14:39 2022"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Tue May 17 01:06:16 2022"
      },
      "message": "convolve: move GetNumTapsInFilter to convolve.h\n\nthere wasn\u0027t a need for this generic function to be in convolve.inc.\nthis removes the need for wrapping it in LIBGAV1_TARGETING_AVX2.\ndoing this fixes builds where -mavx2 is set globally.\n\nBug: chromium:1324839\nPiperOrigin-RevId: 449090285\nChange-Id: Ief49601df0554e91d725b37a26056f9d3dd7e547\n"
    },
    {
      "commit": "00be8576c4ab7daa945c5409811e284165f85648",
      "tree": "5d8dc06d76cedff8dc843d0dd5cc1cfbc748713a",
      "parents": [
        "a24217920e6663e3338a9e20d190a27a0d5e07f9"
      ],
      "author": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Mon May 16 23:46:47 2022"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Tue May 17 01:06:16 2022"
      },
      "message": "utils/constants.h: relocate kBitdepth values from dsp/constants.h\n\nthis is a follow up to cl/447871018; some dsp code may mix the values\n\nthis quiets warnings of the form:\n  warning: arithmetic between different enumeration types\n  \u0027libgav1::dsp::\u003cunnamed enum\u003e\u0027 and \u0027libgav1::\u003cunnamed enum\u003e\u0027 is\n  deprecated [-Wdeprecated-enum-enum-conversion]\nwhen building the code as C++20\n\nBug: chromium:1284275\nPiperOrigin-RevId: 449084728\nChange-Id: Ic63ceb98342cc16c3ba231f92f2b5b6323a932a2\n"
    },
    {
      "commit": "a24217920e6663e3338a9e20d190a27a0d5e07f9",
      "tree": "f2c3c5c9b1b067e85c5335294a34b98a5111381a",
      "parents": [
        "408c4fa7b66c6807e609e64525d9ced62f6d7412"
      ],
      "author": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Sat May 14 06:48:03 2022"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Tue May 17 01:06:15 2022"
      },
      "message": "tests/utils.h: update gcc -Wismatched-new-delete bug link\n\nreplace https://gcc.gnu.org/bugzilla/show_bug.cgi?id\u003d100861#c1\nwith https://gcc.gnu.org/bugzilla/show_bug.cgi?id\u003d103993, which is a\nbetter example of the issue seen in this code\n\nPiperOrigin-RevId: 448647568\nChange-Id: I140e607b13b6221762a5bf2c2035b99a52e0b2a5\n"
    },
    {
      "commit": "408c4fa7b66c6807e609e64525d9ced62f6d7412",
      "tree": "6b1178df6d237784fb0bb6dda3291babfc745da2",
      "parents": [
        "ef35acb38b081be7825cd6238c773f893d1aaf91"
      ],
      "author": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Fri May 13 01:23:51 2022"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Tue May 17 01:06:15 2022"
      },
      "message": "tests/utils_test.cc: quiet -Wmismatched-new-delete\n\nwhen building with -std\u003dc++17 and gcc 11.2.0\n\ngcc 11.2.0 may issue a warning of the form:\n  warning: \u0027void operator delete [](void*, std::align_val_t)\u0027 called on\n    pointer returned from a mismatched allocation function\n  note: returned from \u0027static void*\n    libgav1::test_utils::MaxAlignedAllocable::operator new [](size_t)\u0027\nThis is a false positive as this function calls\nlibgav1::MaxAlignedAllocable::operator new[](size, std::nothrow) which in\nturn calls\nvoid* operator new[](std::size_t, std::align_val_t, const std::nothrow_t\u0026).\nThis is due to unbalanced inlining of the functions so we force the\ntest_utils::MaxAlignedAllocable version to be inlined.\nSee https://gcc.gnu.org/bugzilla/show_bug.cgi?id\u003d100861#c1\nPiperOrigin-RevId: 448384437\nChange-Id: Ic08d0619cd3502aaf65eb9bf72656254b9e46b21\n"
    },
    {
      "commit": "ef35acb38b081be7825cd6238c773f893d1aaf91",
      "tree": "56fd869430608112459d44c82e83a5b0bf99ba66",
      "parents": [
        "3190258f07f4dcdb9f822eb0c374b9aa75d3510b"
      ],
      "author": {
        "name": "Alex Peterson",
        "email": "petersonab@google.com",
        "time": "Wed May 11 19:53:42 2022"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Tue May 17 01:06:15 2022"
      },
      "message": "Simplify the shuffle decision in DirectionalZone2\n\nEach set of 8 columns is sent to an 8xH function that either always\nuses shuffle for left column prediction or always uses transpose, in the\nsegments where the source is neither left-only nor top-only. Analysis finds\nthat there are only one or two such segments (8x8 sub-blocks) when x \u003e 16.\n\nThis eliminates several divide operations, at the cost of using transpose\nsomewhat more often. However, the excess transposes are constrained to ~25%\nof the Zone2 angles, and there only the first 32 columns.\n\nPiperOrigin-RevId: 448063246\nChange-Id: I3dfb472a46d1c70a4cf31dde5d9e9709b0bbdc06\n"
    },
    {
      "commit": "3190258f07f4dcdb9f822eb0c374b9aa75d3510b",
      "tree": "f27e5cea327aa1c78fd606fb78a7096d1005f29b",
      "parents": [
        "3ae16c99751e25a7dc7d710018686cbd875e46a0"
      ],
      "author": {
        "name": "Alex Peterson",
        "email": "petersonab@google.com",
        "time": "Wed May 11 19:31:12 2022"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Tue May 17 01:06:12 2022"
      },
      "message": "Load more lines at once in obmc_neon.cc\n\nThis takes advantage of the width stride in the obmc_pred buffer.\n\nPiperOrigin-RevId: 448058202\nChange-Id: I37fe2882b8fceb4f0254f2789c5747389edeaf30\n"
    },
    {
      "commit": "3ae16c99751e25a7dc7d710018686cbd875e46a0",
      "tree": "2abcc5163ad23cc5f0ecf0f835ca0b72c78b57e0",
      "parents": [
        "87127740c3fd3cbc3430b4984bafde51d17520a9"
      ],
      "author": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Wed May 11 00:51:17 2022"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Wed May 11 02:05:27 2022"
      },
      "message": "utils/constants.h: relocate some values from dsp/constants.h\n\n+ move a few to more specific headers\n\nthis quiets warnings of the form:\n  warning: arithmetic between different enumeration types\n  \u0027libgav1::dsp::\u003cunnamed enum\u003e\u0027 and \u0027libgav1::\u003cunnamed enum\u003e\u0027 is\n  deprecated [-Wdeprecated-enum-enum-conversion]\nwhen building the code as C++20\n\nBug: chromium:1284275\nPiperOrigin-RevId: 447871018\nChange-Id: I1c8a00c7a0cce03da1ff69941519f15fb3c6553f\n"
    },
    {
      "commit": "87127740c3fd3cbc3430b4984bafde51d17520a9",
      "tree": "bfe2f6e159d7b66622bc9ee851e8ec35b46f47dd",
      "parents": [
        "18dc775321adf8e596c4c4a7de144cea29a73c29"
      ],
      "author": {
        "name": "Alex Peterson",
        "email": "petersonab@google.com",
        "time": "Sat May 07 22:12:35 2022"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Wed May 11 02:05:27 2022"
      },
      "message": "Round by 4 when height is 4 in Directional Zone2\n\nThis enables the call to DirectionalZone1_WxH to cover the section and\nexit early.\n\nPiperOrigin-RevId: 447222526\nChange-Id: Idbb369f5ae72ef982a15f4ff492e73fea7655e4b\n"
    },
    {
      "commit": "18dc775321adf8e596c4c4a7de144cea29a73c29",
      "tree": "e87b29a4de623045aaeea949cf9ec3a5d89ce1c8",
      "parents": [
        "6fba102112aab967a35de5ed619d7d9b2da2c26f"
      ],
      "author": {
        "name": "Alex Peterson",
        "email": "petersonab@google.com",
        "time": "Fri May 06 22:39:22 2022"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Wed May 11 02:05:05 2022"
      },
      "message": "Use width stride in obmc_test.cc\n\nThis matches the structure of the obmc pred buffer in prediction.cc\n\nPiperOrigin-RevId: 447085977\nPiperOrigin-RevId: 447496408\nChange-Id: Iaa927607652f8e686531b54a147df7bf78e86e62\n"
    },
    {
      "commit": "6fba102112aab967a35de5ed619d7d9b2da2c26f",
      "tree": "bf4db90fb568a90f20d4ca6a292b02800a447580",
      "parents": [
        "e54abf5c4243e6a9d2cc85d5939e0fb9332ba917"
      ],
      "author": {
        "name": "Alex Peterson",
        "email": "petersonab@google.com",
        "time": "Thu May 05 03:44:34 2022"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Wed May 11 02:04:52 2022"
      },
      "message": "[arm] Use new GetMask approach for larger blocks.\n\nPiperOrigin-RevId: 446619489\nChange-Id: I56e08299db7868fe557cc54a66de8994dfeb03aa\n"
    },
    {
      "commit": "e54abf5c4243e6a9d2cc85d5939e0fb9332ba917",
      "tree": "0007be8b360b0e9d1c4eeb3f5820bd29aeb84d68",
      "parents": [
        "667cd9c40ba6b026ba6447996abda1cbb11fad50"
      ],
      "author": {
        "name": "Alex Peterson",
        "email": "petersonab@google.com",
        "time": "Wed May 04 18:25:03 2022"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Thu May 05 02:32:22 2022"
      },
      "message": "Remove max_shuffle_height in DirectionalZone2_4xH\n\nThe original formula finds the value is always at least 16.\n\nAnalysis shows that, for ystep \u003c 151 (75% of Zone2 angles) the\nleft-column values can always use shuffle when they\u0027re going to blend\nwith top-row values. When ystep \u003e\u003d 151, the max_shuffle_height question\nis only relevant for x \u003c 24. I plan to refactor the 8+ width function to\ntake this into account, and in the meantime this change covers the fact\nthat 4xH doesn\u0027t need to consider it at all.\n\nPiperOrigin-RevId: 446507907\nChange-Id: I7213a55829d06de97577cf2608c5eeced6f7c2e2\n"
    },
    {
      "commit": "667cd9c40ba6b026ba6447996abda1cbb11fad50",
      "tree": "8bb4039995391d40b265f8e84420760c903c545a",
      "parents": [
        "f06857325f8720cf1a928f1e66cd41176a13825b"
      ],
      "author": {
        "name": "Alex Peterson",
        "email": "petersonab@google.com",
        "time": "Tue May 03 19:43:59 2022"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Thu May 05 02:32:18 2022"
      },
      "message": "Avoid 32-bit vectors in distance weighted blend\n\nPiperOrigin-RevId: 446264625\nChange-Id: Icc3432c1e32a6a46ec112ad428e5703d0bdd2034\n"
    },
    {
      "commit": "f06857325f8720cf1a928f1e66cd41176a13825b",
      "tree": "836977e09e78210afa57da988659b2f659da4157",
      "parents": [
        "5f6b8099aa7093302ed4f64702d5f3a4671e09f4"
      ],
      "author": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Mon May 02 18:26:38 2022"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Tue May 03 00:01:04 2022"
      },
      "message": "loop_filter_10bit_neon: rm armv7 0 vector check\n\n+ a related comment in loop_filter_neon.c\n\nthis is slower on armv7 devices (s3/Nexus S/Nexus 7) due to the\ntransition to and from NEON\n\nPiperOrigin-RevId: 445985052\nChange-Id: I936a501fb85b4e73e5216986dbc99ae547a7b810\n"
    },
    {
      "commit": "5f6b8099aa7093302ed4f64702d5f3a4671e09f4",
      "tree": "5564b841d25bccd8c11af4e2ed927644e511e278",
      "parents": [
        "a578b7afb8f6a18bfa2a4569ecaa955a6e025460"
      ],
      "author": {
        "name": "Alex Peterson",
        "email": "petersonab@google.com",
        "time": "Tue Apr 19 17:33:30 2022"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Fri Apr 22 01:39:55 2022"
      },
      "message": "[arm] Use adjacent rows to speed up GetMask4x2\n\nContiguous loads eliminate need for strides.\n\nPiperOrigin-RevId: 442849465\nChange-Id: I41deff31b10430abc618956753d1c4e38e26df13\n"
    },
    {
      "commit": "a578b7afb8f6a18bfa2a4569ecaa955a6e025460",
      "tree": "777fc2fdb6707f539e46a2e8b8dd6eb4adb79a21",
      "parents": [
        "c40c2ba4b37e75256497b03c8e7f4412daa450cc"
      ],
      "author": {
        "name": "Alex Peterson",
        "email": "petersonab@google.com",
        "time": "Fri Apr 15 00:56:46 2022"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Fri Apr 22 01:39:55 2022"
      },
      "message": "Combine loads in DistanceWeightedBlend4xH_SSE4_1\n\n8-bit and 10-bit\n\nPiperOrigin-RevId: 441900291\nChange-Id: I74d77f9866965f9dc2dfcbd9d5650d113755bb5b\n"
    },
    {
      "commit": "c40c2ba4b37e75256497b03c8e7f4412daa450cc",
      "tree": "0973ac30933b99c3bf0e0939e945b9af4ad7446e",
      "parents": [
        "9f583ecb04f9b798fb292affff4fceafc94990ef"
      ],
      "author": {
        "name": "Alex Peterson",
        "email": "petersonab@google.com",
        "time": "Fri Apr 15 00:15:18 2022"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Fri Apr 22 01:39:55 2022"
      },
      "message": "Load 2 lines at once for 4xH average_blend_sse4\n\nPiperOrigin-RevId: 441892867\nChange-Id: Icb665900a324674c56db2572be664bbd72c1cb5e\n"
    },
    {
      "commit": "9f583ecb04f9b798fb292affff4fceafc94990ef",
      "tree": "237f6716205540877d3f6447fa9f5bcd1c222657",
      "parents": [
        "1818fd474291b09d012781231e348a9d05ae3545"
      ],
      "author": {
        "name": "Scott LaVarnway",
        "email": "slavarnway@google.com",
        "time": "Thu Apr 14 11:37:35 2022"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Fri Apr 22 01:39:55 2022"
      },
      "message": "dsp,arm: Improve XLeTopLeft().\n\nPiperOrigin-RevId: 441727533\nChange-Id: I030325aa05b425f011be005cbb927f6f6beb4015\n"
    },
    {
      "commit": "1818fd474291b09d012781231e348a9d05ae3545",
      "tree": "b551f0f750150acd30872a55cf725ed07c3a104e",
      "parents": [
        "7d9267aaccf1fe107b03f0ca7f595c2e82184656"
      ],
      "author": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Fri Apr 08 23:41:31 2022"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Tue Apr 12 05:05:44 2022"
      },
      "message": "DirectionalIntraPredictorZone2_C: rm restrict w/clang-14.0.0\n\nclang 14.0.0 generates incorrect code when using LIBGAV1_RESTRICT\nhttps://github.com/llvm/llvm-project/issues/54427\n\nThere is a fix proposed for 14.0.1, but until that lands we\u0027ll disable\nthe use of restrict for all versions.\n\nBug: b/221275781\nPiperOrigin-RevId: 440479991\nChange-Id: I962458d0c5b0ded8cfe8014bf4caff70f4491b72\n"
    },
    {
      "commit": "7d9267aaccf1fe107b03f0ca7f595c2e82184656",
      "tree": "00d2d883fec82183999e7c60d63d6b5993eb5661",
      "parents": [
        "a97662f1c53ffba68dd223420e3192bf711b213d"
      ],
      "author": {
        "name": "Alex Peterson",
        "email": "petersonab@google.com",
        "time": "Fri Apr 08 20:32:16 2022"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Tue Apr 12 05:05:44 2022"
      },
      "message": "Change mask stride to width in mask_blend_test.cc\n\nThis is to prepare for removing strides from GetMask functions\n\nPiperOrigin-RevId: 440440846\nChange-Id: I90c2876fc7b0618c5a01a3752f61b29b7fbd8e4a\n"
    },
    {
      "commit": "a97662f1c53ffba68dd223420e3192bf711b213d",
      "tree": "46f9ce71029531783aaef5030c1cbc9bbc636003",
      "parents": [
        "ac19d90ce07aa7bd0f1ca595c7ec46e8c3d4fdd5"
      ],
      "author": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Fri Apr 08 19:07:56 2022"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Tue Apr 12 05:05:44 2022"
      },
      "message": "loop_filter_test: add missing test for 10/12bpp\n\nTestSaturatedValues()\n\n+ test both horizontal and vertical in the same\n\nPiperOrigin-RevId: 440422455\nChange-Id: I02b0c7a6638a125c10199e080606da35b82e5e74\n"
    },
    {
      "commit": "ac19d90ce07aa7bd0f1ca595c7ec46e8c3d4fdd5",
      "tree": "7677352e491c1df9cd803dc7d31b0ac7c5f8985e",
      "parents": [
        "5f4c18b9e74cafb43afbae8ca0f970e6a7d69d63"
      ],
      "author": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Fri Apr 08 19:06:54 2022"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Tue Apr 12 05:05:44 2022"
      },
      "message": "test_utils::PrintBlock: use LIBGAV1_DEBUG_FORMAT_CODE\n\nthis normalizes the output between this function and PrintBlockDiff\n\nPiperOrigin-RevId: 440422218\nChange-Id: I8ab319f29581cd12fe6fc81517206de1368a8051\n"
    },
    {
      "commit": "5f4c18b9e74cafb43afbae8ca0f970e6a7d69d63",
      "tree": "388f354990ce3770542a9583b3fc48d4f5131504",
      "parents": [
        "9cb047bb39d5cef792c619cfd7d22268454698af"
      ],
      "author": {
        "name": "Alex Peterson",
        "email": "petersonab@google.com",
        "time": "Fri Apr 08 18:37:23 2022"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Tue Apr 12 05:05:44 2022"
      },
      "message": "Correct test name in common_sse4_test.cc\n\nPiperOrigin-RevId: 440415364\nChange-Id: If7dd11b982a10f5bf83d28f1225c870a973291e9\n"
    },
    {
      "commit": "9cb047bb39d5cef792c619cfd7d22268454698af",
      "tree": "76f69c962841ecabf9a5ead6222da05198ea3107",
      "parents": [
        "860e800f0778fe214ed0a0f1c8fefbca304968b8"
      ],
      "author": {
        "name": "Alex Peterson",
        "email": "petersonab@google.com",
        "time": "Fri Apr 08 16:26:09 2022"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Tue Apr 12 05:05:44 2022"
      },
      "message": "Set weight_mask stride to block width\n\nThis standardizes the stride with other mask buffers.\n\nPiperOrigin-RevId: 440383531\nChange-Id: I7691793e1124fd6ba38b0ef2d17f99b02fcc02f8\n"
    }
  ],
  "next": "860e800f0778fe214ed0a0f1c8fefbca304968b8"
}
