)]}'
{
  "log": [
    {
      "commit": "b56492e2dfc064f65ef27fed9c45d9bbfc2e2ad2",
      "tree": "589cce368c922b87070d9275a09fba738b710592",
      "parents": [
        "805babf99548b5db5c577021162a12c582a10425"
      ],
      "author": {
        "name": "Frank Barchard",
        "email": "fbarchard@google.com",
        "time": "Tue Jul 21 18:57:43 2026 -0700"
      },
      "committer": {
        "name": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Jul 21 19:42:22 2026 -0700"
      },
      "message": "[libyuv] Use NV12 and NV21 Matrix wrapper macros in convert_argb_test\n\nUpdate JNV12ToABGR, JNV21ToABGR, JNV12ToRAW, and JNV21ToRAW test macros\nin convert_argb_test.cc to use the public NV12ToABGRMatrix,\nNV21ToABGRMatrix, NV12ToRAWMatrix, and NV21ToRAWMatrix wrapper macros.\n\nTest: libyuv_unittest --gtest_filter\u003d*JNV*\nlibyuv:537503370\nChange-Id: I53c2496311cb30f621593f8a9d0011e1106ab501\nTAG\u003dagy\nCONV\u003d5daf08a8-11bd-4d47-8c71-c5b7a882a788\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/8133049\nCommit-Queue: Frank Barchard \u003cfbarchard@google.com\u003e\nReviewed-by: richard winterton \u003crrwinterton@gmail.com\u003e\n"
    },
    {
      "commit": "805babf99548b5db5c577021162a12c582a10425",
      "tree": "2c79f76e4ac5015a742023dd612fb01162b808e2",
      "parents": [
        "1e064759006a9a500fc01322fbb36cc9287d197d"
      ],
      "author": {
        "name": "Frank Barchard",
        "email": "fbarchard@google.com",
        "time": "Tue Jul 21 18:18:10 2026 -0700"
      },
      "committer": {
        "name": "Frank Barchard",
        "email": "fbarchard@google.com",
        "time": "Tue Jul 21 18:49:32 2026 -0700"
      },
      "message": "[libyuv] Fix NV21 chroma plane ordering in ARGBToNV21Matrix\n\nFix the chroma plane order passed to MergeUVRow in ARGBToNV21Matrix.\nMergeUVRow(a, b, dst, ...) writes a into byte 0 and b into byte 1.\nPassing (row_u, row_v) produced NV12 format (UV interleaved) instead\nof NV21 format (VU interleaved). Swapping to (row_v, row_u) ensures\nthe chroma channels are correctly ordered for NV21 output.\n\nTest: libyuv_unittest --gtest_filter\u003d*NV21*\nBug: None\nChange-Id: I3b78246c635ce515923739298013a61203cabb72\nTAG\u003dagy\nCONV\u003d5daf08a8-11bd-4d47-8c71-c5b7a882a788\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/8133203\nReviewed-by: richard winterton \u003crrwinterton@gmail.com\u003e\n"
    },
    {
      "commit": "1e064759006a9a500fc01322fbb36cc9287d197d",
      "tree": "2b0dcff518e3253df5f8c51d8366d2f740da9f98",
      "parents": [
        "666b4ee51445f5c504cc07231edf32562944423b"
      ],
      "author": {
        "name": "Frank Barchard",
        "email": "fbarchard@google.com",
        "time": "Tue Jul 21 18:14:59 2026 -0700"
      },
      "committer": {
        "name": "Frank Barchard",
        "email": "fbarchard@google.com",
        "time": "Tue Jul 21 18:31:48 2026 -0700"
      },
      "message": "[libyuv] Fix color matrix constants in RAWToI420\n\nRAW format in libyuv is Red-first ([R, G, B] in memory), whereas RGB24\nis Blue-first ([B, G, R] in memory).\n\nRGBToYMatrixRow and RGBToUVMatrixRow internally expand 3-byte input\ninto 4-byte [byte0, byte1, byte2, 255]. For RAW, this buffer becomes\n[R, G, B, 255] (matching ABGR byte order). RAWToI420 previously passed\n\u0026kArgbI601Constants (which expects [B, G, R, 255]) instead of\n\u0026kAbgrI601Constants, causing Red and Blue channels to be swapped.\n\nPass \u0026kAbgrI601Constants in RAWToI420, fix parameter names in\nsource/convert.cc, and add a unit test.\n\nTest: libyuv_unittest --gtest_filter\u003d*RAWToI420*\nBug: libyuv:537503370\n\nTAG\u003dagy\nCONV\u003d2c54c4b5-f515-421b-80b3-079caa9f948b\n\nChange-Id: Ic72470813eaf15e80046c2c01cf804cb827039ab\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/8133048\nReviewed-by: richard winterton \u003crrwinterton@gmail.com\u003e\n"
    },
    {
      "commit": "666b4ee51445f5c504cc07231edf32562944423b",
      "tree": "a66162deeb714cc051f78d72737913216c3a6caa",
      "parents": [
        "c302f85bb18252c7eefedf7882a190562481d338"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Fri Jul 17 09:38:49 2026 -0700"
      },
      "committer": {
        "name": "Frank Barchard",
        "email": "fbarchard@google.com",
        "time": "Tue Jul 21 15:44:24 2026 -0700"
      },
      "message": "ARGBRotate180: Check if width * 4 would overflow\n\nChange-Id: I1fd4ad42a282690c3f9ac0ea8b3874efb4d8c2ee\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/8117147\nReviewed-by: Frank Barchard \u003cfbarchard@google.com\u003e\n"
    },
    {
      "commit": "c302f85bb18252c7eefedf7882a190562481d338",
      "tree": "cf894f30354421bfcf662d6b3b83899f6bad5add",
      "parents": [
        "c1e9e698264a904048561483ec5c1f1ca81d2164"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Fri Jul 17 10:23:39 2026 -0700"
      },
      "committer": {
        "name": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Jul 21 10:42:04 2026 -0700"
      },
      "message": "Add more size_t and ptrdiff_t casts\n\nChange-Id: If1a8140ffa2d471d72ff3a134158c89a2d883b4c\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/8119790\nReviewed-by: Frank Barchard \u003cfbarchard@google.com\u003e\nCommit-Queue: Wan-Teh Chang \u003cwtc@google.com\u003e\n"
    },
    {
      "commit": "c1e9e698264a904048561483ec5c1f1ca81d2164",
      "tree": "52c836cde71bcf731c145dcfe274f12aadb0b4f0",
      "parents": [
        "86a4d94d7a5ab7d05595a32fd8953361146cd28b"
      ],
      "author": {
        "name": "Frank Barchard",
        "email": "fbarchard@google.com",
        "time": "Mon Jul 20 18:51:44 2026 -0700"
      },
      "committer": {
        "name": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Jul 20 23:35:02 2026 -0700"
      },
      "message": "[libyuv] Fix 32-bit x86 register constraint in I422ToRGB24Row_AVX2\n\nandroid_x86 was running out registers\n\nUsing \"+m\" for width on __i386__ (matching the convention in\nSSSE3 row functions) makes width a stack variable instead\n\nWas\n   3800 |       \"vbroadcasti128 16+%[kShuffleMaskARGBToRGB24],%%ymm5 \\n\"\n        |       ^\n  1 error generated.\n\nTest: libyuv_unittest --gunit_filter\u003d*I422ToRGB24*\nBug: 42280902\nChange-Id: I7e5e22e9e15b68be942c85dd3b7e233e9f4f1351\nTAG\u003dagy\nCONV\u003d5c8b22e3-9f50-4ace-b1d5-007ddf688477\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/8127620\nReviewed-by: James Zern \u003cjzern@google.com\u003e\nReviewed-by: Wan-Teh Chang \u003cwtc@google.com\u003e\nCommit-Queue: Frank Barchard \u003cfbarchard@google.com\u003e\n"
    },
    {
      "commit": "86a4d94d7a5ab7d05595a32fd8953361146cd28b",
      "tree": "6e3d3b96e69c9f9c220437d04736af0d6c48f46d",
      "parents": [
        "45258a40a0c1d72bba911f61d81fd5a44d92f50d"
      ],
      "author": {
        "name": "Frank Barchard",
        "email": "fbarchard@google.com",
        "time": "Mon Jul 20 16:30:40 2026 -0700"
      },
      "committer": {
        "name": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Jul 20 18:15:10 2026 -0700"
      },
      "message": "I420ToRAW and I420ToRGB24 1 pass AVX2 and AVX512VBMI\n\n- Implemented `I422ToRGB24Row_AVX2` and `I422ToRGB24Row_AVX512VBMI` in:\n - `row_gcc.cc`: Inline assembly for GCC/Clang.\n - `row_win.cc`: C++ intrinsics for MSVC (also verified with Clang).\n\nReduced width alignment requirement: changed from 32-pixel to 16-pixel\nalignment in `convert_argb.cc` and `row_any.cc`. This allows the AVX2\npath to be used for more common video resolutions.\n\n```\nI420ToRAW vs Rust on Icelake Xeon\nSize        I420ToRAW     yuv420_to_rgb  iterations\n-------     ---------   ---------------  ----------\n640x480         57 us    77.377 µs/iter     3000\n1280x720       170 us   221.671 µs/iter     1000\n1920x1080      396 us   494.324 µs/iter      500\n3840x2160     2040 us      2357 µs/iter      200\n```\n\nBug: 42280902\nChange-Id: I07c0505c95410ea16a6218c858844791a11ef073\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7908323\nReviewed-by: Wan-Teh Chang \u003cwtc@google.com\u003e\nReviewed-by: richard winterton \u003crrwinterton@gmail.com\u003e\nCommit-Queue: Frank Barchard \u003cfbarchard@google.com\u003e\n"
    },
    {
      "commit": "45258a40a0c1d72bba911f61d81fd5a44d92f50d",
      "tree": "5ef4a7868c5c3e9c8560214c03332a35e4091cff",
      "parents": [
        "afff0cf68bdd2d713c81040a4bd1b7c7fe69e39c"
      ],
      "author": {
        "name": "Maximilian Hils",
        "email": "mhils@google.com",
        "time": "Fri Jul 10 14:11:43 2026 +0000"
      },
      "committer": {
        "name": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Jul 17 09:19:03 2026 -0700"
      },
      "message": "Fix int overflow in ARGBRotate pointer math\n\nARGBRotate90, ARGBRotate180 and ARGBRotate270 adjusted the source and\ndestination base pointers with expressions like src_stride_argb *\n(height - 1) and dst_stride_argb * (width - 1) using 32-bit int\nmultiplication. For large frames this product overflows int before it\nis applied as a pointer offset, yielding an out-of-bounds pointer even\non 64-bit targets (in the 90/270 cases the bad base pointer is then\npassed to ARGBTranspose).\n\nCast the stride to ptrdiff_t before multiplying so the arithmetic is\nperformed in pointer width, matching the existing correct pattern at\nrotate.cc:164 and rotate_argb.cc:235.\n\nR\u003dfbarchard@google.com\n\nChange-Id: Ia4fd5d813de4fb7fa72c46aee723eca65980bccc\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/8070980\nReviewed-by: Frank Barchard \u003cfbarchard@google.com\u003e\nReviewed-by: Wan-Teh Chang \u003cwtc@google.com\u003e\nCommit-Queue: Max Hils \u003cmhils@google.com\u003e\n"
    },
    {
      "commit": "afff0cf68bdd2d713c81040a4bd1b7c7fe69e39c",
      "tree": "eacf71657c40d9efcaad707ec7f0f6585db93a2e",
      "parents": [
        "5d03bf9bab5693ccf692f18b538d8d9c00387c73"
      ],
      "author": {
        "name": "Takashi Toyoshima",
        "email": "toyoshim@chromium.org",
        "time": "Tue Jul 14 16:23:35 2026 +0900"
      },
      "committer": {
        "name": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Jul 14 08:37:10 2026 -0700"
      },
      "message": "[libyuv] Fix toolchain dependency for Windows x64\n\nWhen building with a custom toolchain on Windows x64, the libyuv\ntarget was forcing a dependency on the default win_clang_x64\ntoolchain. This prevents compiling libyuv with the custom\ntoolchain.\n\nThis CL limits the win_clang_x64 redirection to only when the\ncurrent toolchain is the default toolchain.\n\nBug: 534570563\nChange-Id: I4cb9321d35e6d9b81eddcecc0ef32a5df370a252\nTAG\u003dagy\nCONV\u003d6ebbc93a-688d-40e4-a255-09b00c07c429\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/8090589\nReviewed-by: Mirko Bonadei \u003cmbonadei@chromium.org\u003e\nReviewed-by: Wan-Teh Chang \u003cwtc@google.com\u003e\nCommit-Queue: Wan-Teh Chang \u003cwtc@google.com\u003e\n"
    },
    {
      "commit": "5d03bf9bab5693ccf692f18b538d8d9c00387c73",
      "tree": "e46fb21f024dda0ec60267d3f6614c88c52db92e",
      "parents": [
        "b74f979d0d54af283e759e6faf229adfdd08b708"
      ],
      "author": {
        "name": "Frank Barchard",
        "email": "fbarchard@google.com",
        "time": "Mon Jul 06 15:32:01 2026 -0700"
      },
      "committer": {
        "name": "Frank Barchard",
        "email": "fbarchard@google.com",
        "time": "Mon Jul 06 15:51:14 2026 -0700"
      },
      "message": "vdpphps use emit to support old compilers\n\ntested with sde\nsde -dmr -- ../../../blaze-bin/third_party/libyuv/cpuid\nKernel Version 6.18\nCpu Vendor: GenuineIntel\nCpu Family 79 (0x4f), Model 1 (0x1)\nHas X86 0x8\nHas SSE2 0x100\nHas SSSE3 0x200\nHas SSE4.1 0x400\nHas SSE4.2 0x800\nHas AVX 0x1000\nHas AVX2 0x2000\nHas ERMS 0x4000\nHas FSMR 0x8000\nHas FMA3 0x10000\nHas F16C 0x20000\nHas AVX512BW 0x40000\nHas AVX512VL 0x80000\nHas AVX512VNNI 0x100000\nHas AVX512VBMI 0x200000\nHas AVX512VBMI2 0x400000\nHas AVX512VBITALG 0x800000\nHas AVX10 0x1000000\nHas AVX10_2 0x2000000\nHAS AVXVNNI 0x4000000\nHas AVXVNNIINT8 0x8000000\nHas AMXINT8 0x10000000\nHas AVX512BMM 0x0\nTesting VDPPHPS instruction... Works!\n\nBug: 531835144\nChange-Id: I1f4be9a441ffc3f4c73c7d001f6b2f66b697b862\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/8048880\nReviewed-by: Wan-Teh Chang \u003cwtc@google.com\u003e\n"
    },
    {
      "commit": "b74f979d0d54af283e759e6faf229adfdd08b708",
      "tree": "5a7885a39cc8104970c639c12fc2296de661dab6",
      "parents": [
        "8aeb3a9ca36341a640528e59b34b5d641080dca8"
      ],
      "author": {
        "name": "Denise Tell",
        "email": "dct@google.com",
        "time": "Thu Jul 02 11:15:43 2026 +0000"
      },
      "committer": {
        "name": "Frank Barchard",
        "email": "fbarchard@google.com",
        "time": "Mon Jul 06 14:11:24 2026 -0700"
      },
      "message": "Fix incorrect deletion. Should use delete[], not delete\n\nChange-Id: I2994a1a96daae4a2ae0e7725fe382b9f1fef88f8\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/8034001\nReviewed-by: Frank Barchard \u003cfbarchard@google.com\u003e\nReviewed-by: Wan-Teh Chang \u003cwtc@google.com\u003e\n"
    },
    {
      "commit": "8aeb3a9ca36341a640528e59b34b5d641080dca8",
      "tree": "4ef3ce44dd5ea72834a91041cdd0623950213a8f",
      "parents": [
        "8e8139a50453364833943c570acfc4fe43498503"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Wed Jul 01 13:03:11 2026 -0700"
      },
      "committer": {
        "name": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Jul 01 18:38:27 2026 -0700"
      },
      "message": "I010ToNV12: dispatch Convert16To8Row on halfwidth\n\nThe Convert16To8Row function pointer in I010ToNV12 is only ever called\nwith halfwidth for the chroma planes (the Y plane goes through\nConvert16To8Plane which has its own dispatch), but its SIMD variants\nwere selected based on the alignment of the full luma width. When width\nis a multiple of 32 but halfwidth is not, the bare AVX2 kernel was\nselected and over-read the chroma sources and over-wrote the temporary\nrow buffer. Match the MergeUVRow dispatch in the same function and key\non halfwidth.\n\nBug: chromium:514748734\nChange-Id: I4c2a42857828cdcc6505ebaa65d5b6a95b0f7e55\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/8031724\nReviewed-by: Frank Barchard \u003cfbarchard@google.com\u003e\nCommit-Queue: Wan-Teh Chang \u003cwtc@google.com\u003e\n"
    },
    {
      "commit": "8e8139a50453364833943c570acfc4fe43498503",
      "tree": "768cdb8def3f2082a54a73dcdf5626e50af33a8f",
      "parents": [
        "26872d1da3ce70099c6386aa155661f5060c430d"
      ],
      "author": {
        "name": "Timothy Nikkel",
        "email": "tnikkel@mozilla.com",
        "time": "Thu Jun 18 03:45:29 2026 -0500"
      },
      "committer": {
        "name": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Jul 01 15:33:02 2026 -0700"
      },
      "message": "Remove duplicate HAS_RGBTOUVMATRIXROW_NEON define breaking GCC aarch64\n\nHAS_RGBTOUVMATRIXROW_NEON is defined under\n\n  #if !defined(__GNUC__) || defined(__clang__)\n\nto disable the NEON matrix-row path on plain GCC, where the inline asm\nin ARGBToUVMatrixRow_NEON (which RGBToUVMatrixRow_NEON depends on) is\nnot available. However it is also defined unconditionally in the\nAArch64 block, among the _I8MM defines, and is almost certainly a\ncopy/paste of HAS_ARGBTOUVMATRIXROW_NEON_I8MM with the suffix dropped.\n\nOn GCC/aarch64 this re-enables the call sites in convert.cc and\nrow_any.cc, while the definition of RGBToUVMatrixRow_NEON in\nrow_common.cc (guarded by HAS_ARGBTOUVMATRIXROW_NEON \u0026\u0026\nHAS_RGB24TOARGBROW_NEON) stays disabled, producing a link failure:\n\n  convert.cc: undefined reference to \u0027RGBToUVMatrixRow_NEON\u0027\n  row_any.cc: undefined reference to \u0027RGBToUVMatrixRow_NEON\u0027\n\nThere is no RGBToUVMatrixRow_NEON_I8MM function, so the line is simply\nremoved rather than renamed.\n\nBug: None\nChange-Id: Ia13894f6477507e4ebfefc2e1a9f087c53ee467a\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7960369\nCommit-Queue: Wan-Teh Chang \u003cwtc@google.com\u003e\nReviewed-by: Frank Barchard \u003cfbarchard@google.com\u003e\nReviewed-by: Mirko Bonadei \u003cmbonadei@chromium.org\u003e\nReviewed-by: Wan-Teh Chang \u003cwtc@google.com\u003e\n"
    },
    {
      "commit": "26872d1da3ce70099c6386aa155661f5060c430d",
      "tree": "9fc6dd91282d6274fef372240ee71efbf1f32697",
      "parents": [
        "078d7f6ffc0bf912403ea2b775cf1b3ff65cafc4"
      ],
      "author": {
        "name": "yuanhecai",
        "email": "yuanhecai@loongson.cn",
        "time": "Wed Jun 24 21:24:31 2026 +0800"
      },
      "committer": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Wed Jul 01 13:06:09 2026 -0700"
      },
      "message": "loongarch: fix row_lsx.cc and row_lasx.cc\n\nRemove custom ArgbConstants struct and use unified layout from row.h.\n\nChange-Id: I1fa0ed150a09ad659a5e7fff29cb4034e9c0638a\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7997470\nReviewed-by: Wan-Teh Chang \u003cwtc@google.com\u003e\nReviewed-by: Frank Barchard \u003cfbarchard@google.com\u003e\n"
    },
    {
      "commit": "078d7f6ffc0bf912403ea2b775cf1b3ff65cafc4",
      "tree": "8656a8a9113cbb7e8447fbbb7822cc691da78049",
      "parents": [
        "d23308a2a7442be8e559b1b471862fd7588d6a57"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Mon Jun 29 09:49:27 2026 -0700"
      },
      "committer": {
        "name": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Jul 01 10:39:22 2026 -0700"
      },
      "message": "Fix Coverity Control flow issues (DEADCODE)\n\nSuppose the variable `size` is of the uint64_t type. The condition\nsize \u003e SIZE_MAX is always false if size_t is 64 bits, so the code inside\nthe body of `if (size \u003e SIZE_MAX)` is dead code.\n\nFix Coverity defects CID 561616, CID 561617, CID 561618.\n\nChange-Id: I91172896711943bdcec017edce3a9d1e389d9f88\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/8020303\nReviewed-by: Frank Barchard \u003cfbarchard@google.com\u003e\nCommit-Queue: Wan-Teh Chang \u003cwtc@google.com\u003e\n"
    },
    {
      "commit": "d23308a2a7442be8e559b1b471862fd7588d6a57",
      "tree": "bde329bcf9c2d29f8ad28e4f0aab2de93350f8c6",
      "parents": [
        "3bdb3b94caaf12487af7c5f91f830ef0064be250"
      ],
      "author": {
        "name": "Frank Barchard",
        "email": "fbarchard@google.com",
        "time": "Tue Jun 09 11:34:10 2026 -0700"
      },
      "committer": {
        "name": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Jun 09 14:52:48 2026 -0700"
      },
      "message": "add bmm detect and vdpphps in util/cpuid\n\nBug: None\nChange-Id: I9954f96a74e653e3ecd3fbeba533299fa8e57d95\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7914867\nReviewed-by: richard winterton \u003crrwinterton@gmail.com\u003e\nCommit-Queue: Frank Barchard \u003cfbarchard@google.com\u003e\n"
    },
    {
      "commit": "3bdb3b94caaf12487af7c5f91f830ef0064be250",
      "tree": "10b05d95d1e40ac894cb1b928d9e1663993015d7",
      "parents": [
        "4be798d7c5bebb865aa32ebf2e754ef73a08bdcc"
      ],
      "author": {
        "name": "Frank Barchard",
        "email": "fbarchard@google.com",
        "time": "Mon Jun 08 14:03:52 2026 -0700"
      },
      "committer": {
        "name": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Jun 08 14:32:13 2026 -0700"
      },
      "message": "I420ToRAW use 2 step AVX512\n\nOn Icelake\nWas AVX2\nI420ToRAW_Opt (283 ms)\n  67.55%  I422ToARGBRow_AVX2\n  26.46%  ARGBToRGB24Row_AVX2\n\nNow AVX512VBMI\nI420ToRAW_Opt (238 ms)\n  73.08%  I422ToARGBRow_AVX512BW\n  21.59%  ARGBToRGB24Row_AVX512VBMI\n\nBug: 42280902\nChange-Id: I9d4d21faed30c529a5e593819f103be115709f37\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7909924\nReviewed-by: richard winterton \u003crrwinterton@gmail.com\u003e\nCommit-Queue: Frank Barchard \u003cfbarchard@google.com\u003e\n"
    },
    {
      "commit": "4be798d7c5bebb865aa32ebf2e754ef73a08bdcc",
      "tree": "e6e1ba558051451229b9d3eb677519f198a1d946",
      "parents": [
        "95eedb96873349fcc5304ed6102bf22238c823a4"
      ],
      "author": {
        "name": "Frank Barchard",
        "email": "fbarchard@google.com",
        "time": "Mon Jun 08 11:14:55 2026 -0700"
      },
      "committer": {
        "name": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Jun 08 12:21:47 2026 -0700"
      },
      "message": "BGRAToI420 use BgraConstants for a direct conversion using AVX512BW\n\nrow win (msvc)\nWas C/SSSE3\nBGRAToARGB_Opt (594 ms)\nBGRAToARGB_Endswap_Opt (609 ms)\nBGRAToI420_Opt (122 ms)\n\nNow AVX2\nBGRAToARGB_Opt (100 ms)\nBGRAToARGB_Endswap_Opt (99 ms)\nBGRAToI420_Opt (115 ms)\n\nClang/GCC AVX512BW\nBGRAToARGB_Opt (86 ms)\nBGRAToARGB_Endswap_Opt (91 ms)\nBGRAToI420_Opt (110 ms)\n\n\nBug: 42280902\nChange-Id: I52cb2b0cacea8f2f0b138ec3cc521185dbef8595\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7905821\nCommit-Queue: Frank Barchard \u003cfbarchard@google.com\u003e\nReviewed-by: richard winterton \u003crrwinterton@gmail.com\u003e\n"
    },
    {
      "commit": "95eedb96873349fcc5304ed6102bf22238c823a4",
      "tree": "b50a417be9c2b6f5c2eb01cf2b48aa41c1848675",
      "parents": [
        "ccd415101d748628b6809354e95f974e640c06a3"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Fri Jun 05 15:34:35 2026 -0700"
      },
      "committer": {
        "name": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Jun 05 18:38:42 2026 -0700"
      },
      "message": "ConvertToARGB: compute buffer offsets in ptrdiff_t\n\nAlso validate crop_x, crop_y, crop_width, crop_height and make sure the\ncrop region stays inside the source rectangle.\n\nChange-Id: I68748e14b21307b262d8b283147bce5ace8108d2\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7904591\nReviewed-by: Frank Barchard \u003cfbarchard@google.com\u003e\nCommit-Queue: Wan-Teh Chang \u003cwtc@google.com\u003e\n"
    },
    {
      "commit": "ccd415101d748628b6809354e95f974e640c06a3",
      "tree": "031c5a359779612cd815f9872eec8099ad321823",
      "parents": [
        "f722313c743663dcf48d6650d18a4b99165a8d72"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Fri Jun 05 11:39:31 2026 -0700"
      },
      "committer": {
        "name": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Jun 05 12:34:38 2026 -0700"
      },
      "message": "Fix int negation overflow in ConvertToARGB/I420\n\nFix int negation overflow in ConvertToARGB() and ConvertToI420().\n\nChange-Id: Ia8e1f1a2994962a0372f4c31f6cc9c8972d8a954\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7904588\nReviewed-by: James Zern \u003cjzern@google.com\u003e\nCommit-Queue: Wan-Teh Chang \u003cwtc@google.com\u003e\n"
    },
    {
      "commit": "f722313c743663dcf48d6650d18a4b99165a8d72",
      "tree": "5632db4bc17d01da15d09f66dcbcf7f734318025",
      "parents": [
        "826ab02fcc1af3f45041cef574b318b659802f5d"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Thu Jun 04 15:47:51 2026 -0700"
      },
      "committer": {
        "name": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Jun 04 21:55:57 2026 -0700"
      },
      "message": "Validate int param is not INT_MIN before negating\n\nValidate that an int parameter is not equal to INT_MIN before negating\nit.\n\nRemove redundant src_width \u003e 32768 || src_height \u003e 32768 checks in\ncallers of ScalePlane(), ScalePlane_16(), ScalePlane_12(), and\nUVScale().\n\nChange UVScale() to validate its parameters in the same way as\nScalePlane(), ScalePlane_16(), and ScalePlane_12().\n\nChange-Id: I64e03257cf090760030c966b49c4d23e4cec25e5\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7902889\nReviewed-by: Frank Barchard \u003cfbarchard@google.com\u003e\nCommit-Queue: Wan-Teh Chang \u003cwtc@google.com\u003e\n"
    },
    {
      "commit": "826ab02fcc1af3f45041cef574b318b659802f5d",
      "tree": "c22d0be076cb8259fea83005e70117fe7237224f",
      "parents": [
        "b7c959cab59f863d787b3c683dcfb4b427cd2a56"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Thu Jun 04 17:26:47 2026 -0700"
      },
      "committer": {
        "name": "Frank Barchard",
        "email": "fbarchard@google.com",
        "time": "Thu Jun 04 18:04:11 2026 -0700"
      },
      "message": "Remove __attribute__((no_sanitize(\"cfi-icall\")))\n\nRemove __attribute__((no_sanitize(\"cfi-icall\"))) from\nARGBToUVMatrixRow_AVX2(). This breaks MSVC compilation, and no other\nlibyuv function is marked with this attribute.\n\nChange-Id: I2bb6a688e296dd4acff325c5bd750573a577f246\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7904777\nReviewed-by: Frank Barchard \u003cfbarchard@google.com\u003e\n"
    },
    {
      "commit": "b7c959cab59f863d787b3c683dcfb4b427cd2a56",
      "tree": "a664d481e7e78d1f4fd660752f2e7d8427a115c1",
      "parents": [
        "af36de328f6f103d57331d8ae2da9cbf13aa3028"
      ],
      "author": {
        "name": "Sun Yuechi",
        "email": "sunyuechi@iscas.ac.cn",
        "time": "Sat May 23 15:59:26 2026 +0800"
      },
      "committer": {
        "name": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Jun 03 20:11:31 2026 -0700"
      },
      "message": "Add missing files for riscv64 GYP build\n\nThere are a few added source files since the (re-)addition of GYP build\nsupport, for better SIMD optimization support (AArch64 SME \u0026 SVE,\nLoongArch LSX \u0026 LASX, RISC-V RVV). This CL covers the RISC-V RVV part in\npreparation of fixing GYP builds for this architecture.\n\nThe files\u0027 arch-specific contents are all gated behind preprocessor\nmacro checks, so it is safe to have everything included in the build\nunconditionally.\n\nBug: None\nChange-Id: Id2d5c7fcc1e274cef6c83e2ad5945610e6c52f9d\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7872114\nReviewed-by: Frank Barchard \u003cfbarchard@google.com\u003e\nReviewed-by: Wan-Teh Chang \u003cwtc@google.com\u003e\nCommit-Queue: Wan-Teh Chang \u003cwtc@google.com\u003e\n"
    },
    {
      "commit": "af36de328f6f103d57331d8ae2da9cbf13aa3028",
      "tree": "013825bb5471909b20b1681eb165399c8ba0d1f5",
      "parents": [
        "62fffa9eebcbaf0a4583e91816b426eddda2dd27"
      ],
      "author": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Tue Jun 02 20:47:52 2026 -0700"
      },
      "committer": {
        "name": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Jun 03 17:00:30 2026 -0700"
      },
      "message": "Android.mk: add a check for NDK_ROOT\n\nThis simplifies integration with the Android platform and avoids the\nfiles from being used when a non-NDK build is performed. In that case\nAndroid.bp is preferred.\n\nChange-Id: Ic669f33931ad294d6570341b4e39fccd7e7f1ad8\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7897896\nCommit-Queue: James Zern \u003cjzern@google.com\u003e\nReviewed-by: Frank Barchard \u003cfbarchard@google.com\u003e\n"
    },
    {
      "commit": "62fffa9eebcbaf0a4583e91816b426eddda2dd27",
      "tree": "fea01c06d6e9d56333ecb7c45eaad1d469699cb7",
      "parents": [
        "e14b0e2c604dd852a9dcbe2fd63dedbd833ba702"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Wed Jun 03 12:53:49 2026 -0700"
      },
      "committer": {
        "name": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Jun 03 16:17:37 2026 -0700"
      },
      "message": "Fix integer overflow when flipping negative height\n\nTreat height \u003d\u003d INT_MIN as invalid. Omit explicit height \u003d\u003d INT_MIN\ncheck if we disallow height \u003c 32768.\n\nPerform multiplications of stride in the ptrdiff_t type.\n\nAdd checks for invalid width and height to some functions.\n\nBug: 518806561\nChange-Id: I5e39fffed7f806852a8758d4b59df919839c0a3b\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7891415\nReviewed-by: Frank Barchard \u003cfbarchard@google.com\u003e\nCommit-Queue: Wan-Teh Chang \u003cwtc@google.com\u003e\n"
    },
    {
      "commit": "e14b0e2c604dd852a9dcbe2fd63dedbd833ba702",
      "tree": "1a91dbc7c5d671dd4ba2a942b552dcaf2dcaf6c7",
      "parents": [
        "06cc67fd2f87cccfabe04668ae6556fb8cea04e0"
      ],
      "author": {
        "name": "Frank Barchard",
        "email": "fbarchard@google.com",
        "time": "Tue Jun 02 15:34:39 2026 -0700"
      },
      "committer": {
        "name": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Jun 02 18:28:02 2026 -0700"
      },
      "message": "RGB565ToARGB use AVX2 instead of SSE2\n\nNow AVX2/AVX512\nARGB4444ToI420_Opt (204 ms)\nRGB565ToI420_Opt (211 ms)\nARGB1555ToI420_Opt (231 ms)\nRAWToI420_Opt (197 ms)\nRGB24ToI420_Opt (197 ms)\n\nWas SSE2/AVX2\nARGB4444ToI420_Opt (276 ms)\nRGB565ToI420_Opt (292 ms)\nARGB1555ToI420_Opt (332 ms)\nRAWToI420_Opt (237 ms)\nRGB24ToI420_Opt (232 ms)\n\nBug: libyuv:508639302\nChange-Id: I2005189d1b6af15cb5ebef1f6d66b426fa9df8eb\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7891416\nReviewed-by: Dale Curtis \u003cdalecurtis@chromium.org\u003e\nCommit-Queue: Frank Barchard \u003cfbarchard@google.com\u003e\n"
    },
    {
      "commit": "06cc67fd2f87cccfabe04668ae6556fb8cea04e0",
      "tree": "8b429a4d0642775ded064fb0b9829fb1d9ef5e37",
      "parents": [
        "3c5fa6ef272f6077d76816ee3d6a697ef1d6d272"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Mon Jun 01 16:10:21 2026 -0700"
      },
      "committer": {
        "name": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Jun 01 16:28:08 2026 -0700"
      },
      "message": "Don\u0027t ignore UVCopy() and UVCopy_16() return value\n\nChange-Id: I9d7944da60bf73ec6a578a43540c5a247ad00417\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7891418\nCommit-Queue: Wan-Teh Chang \u003cwtc@google.com\u003e\nReviewed-by: Frank Barchard \u003cfbarchard@google.com\u003e\n"
    },
    {
      "commit": "3c5fa6ef272f6077d76816ee3d6a697ef1d6d272",
      "tree": "088c8fe96cad19cdddfebd33e184d050b969f5b6",
      "parents": [
        "957f295ea946cbbd13fcfc46e7066f2efa801233"
      ],
      "author": {
        "name": "Frank Barchard",
        "email": "fbarchard@google.com",
        "time": "Mon Jun 01 11:44:32 2026 -0700"
      },
      "committer": {
        "name": "Frank Barchard",
        "email": "fbarchard@google.com",
        "time": "Mon Jun 01 14:04:07 2026 -0700"
      },
      "message": "libyuv] Replace hardcoded RGB to YUV functions with Matrix variants\n\nRemoves non-matrix implementations for RGB24, RAW, RGB565, ARGB1555,\nand ARGB4444 conversions. Introduces RGBToYMatrixRow, RGBToUVMatrixRow,\nand equivalent functions for 16-bit and 24-bit formats. These functions\nutilize a 2-step conversion internally (to ARGB, then to YUV) inside\nrow_common.cc for C, AVX2, and NEON, allowing the high-level\nconvert.cc logic to execute in a single pass using ArgbConstants.\n\nBenchmark on Zen4\nTest: libyuv_unittest --gtest_filter\u003d*RGB*ToI420*\n\nWas BT.601-only\nARGBToI420_Opt (115 ms)\nARGB4444ToI420_Opt (190 ms)\nRGB565ToI420_Opt (194 ms)\nARGB1555ToI420_Opt (207 ms)\nRGB24ToI420_Opt (143 ms)\nRGBAToI420_Opt (167 ms)\n28.07% ARGBToUVMatrixRow_AVX512BW\n19.65% ARGBToYMatrixRow_AVX512BW\n11.32% RGBAToUVRow_SSSE3\n10.24% ARGB1555ToARGBRow_SSE2\n 8.56% ARGB4444ToARGBRow_SSE2\n 8.47% RGB565ToARGBRow_SSE2\n 4.17% RGBAToYRow_AVX512BW\n 4.04% RGB24ToARGBRow_AVX512BW\n\nNow Matrix\nARGBToI420_Opt (124 ms)\nARGB4444ToI420_Opt (287 ms)\nRGB565ToI420_Opt (292 ms)\nARGB1555ToI420_Opt (324 ms)\nRGB24ToI420_Opt (236 ms)\nRGBAToI420_Opt (126 ms)\n29.74% ARGBToUVMatrixRow_AVX2\n14.58% ARGB1555ToARGBRow_SSE2\n12.59% RGB565ToARGBRow_SSE2\n11.32% ARGB4444ToARGBRow_SSE2\n 9.35% ARGBToYMatrixRow_AVX2\n 8.45% RGB24ToARGBRow_SSSE3\n 5.56% ARGBToYMatrixRow_AVX512BW\n 1.37% ARGBToUVMatrixRow_Any_AVX2\n 0.74% ARGBToYMatrixRow_Any_AVX2\n 0.49% ARGB4444ToARGBRow_Any_SSE2\n 0.46% RGB565ToARGBRow_Any_SSE2\n 0.39% ARGB1555ToARGBRow_Any_SSE2\n 0.28% RGB24ToARGBRow_Any_SSSE3\n 0.11% ARGB4444ToYMatrixRow_AVX2\n 0.09% RGB565ToUVMatrixRow_AVX2\n 0.09% RGB565ToYMatrixRow_AVX2\n 0.07% RGBToYMatrixRow_AVX2\n 0.05% ARGB1555ToUVMatrixRow_AVX2\n 0.04% ARGB1555ToYMatrixRow_AVX2\n 0.03% RGBToUVMatrixRow_AVX2\n 0.02% ARGB4444ToUVMatrixRow_AVX2\n\nBug: libyuv:508639302\nChange-Id: I362c0cfe4c86ee1f3ffb569fa4f784b84148f11a\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7891045\nCommit-Queue: Frank Barchard \u003cfbarchard@google.com\u003e\nReviewed-by: richard winterton \u003crrwinterton@gmail.com\u003e\n"
    },
    {
      "commit": "957f295ea946cbbd13fcfc46e7066f2efa801233",
      "tree": "ae8234e25d2e6e6077e79a2882fb9c06ec24aa5c",
      "parents": [
        "d2c6dd5e6a2fbc99b3e41acdc9c54b9e5faa434e"
      ],
      "author": {
        "name": "Frank Barchard",
        "email": "fbarchard@google.com",
        "time": "Fri May 29 19:42:33 2026 -0700"
      },
      "committer": {
        "name": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri May 29 22:53:29 2026 -0700"
      },
      "message": "[libyuv] Fix potential UV coalescing overflow in NV12ToI420\n\nAdds a safety check to prevent signed integer overflow in the UV\nplane coalescing logic within NV12ToI420. This ensures that\nhalfwidth * halfheight does not overflow INT_MAX, matching the Y\nplane coalescing check and preventing potential undefined behavior\n(signed integer overflow) which could lead to negative widths being\npassed to SIMD functions.\n\nTest: libyuv_unittest --gtest_filter\u003d*NV12Crop*\nBug: None\n\nCONV\u003d6401df25-4d5d-4595-a231-f72c2c8e78df\nTAG\u003dagy\nR\u003dwtc@google.com\n\nChange-Id: I15a51609a1e000a82f4b6958b4ada444efb1f2f4\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7886824\nCommit-Queue: Wan-Teh Chang \u003cwtc@google.com\u003e\nReviewed-by: Wan-Teh Chang \u003cwtc@google.com\u003e\n"
    },
    {
      "commit": "d2c6dd5e6a2fbc99b3e41acdc9c54b9e5faa434e",
      "tree": "9a71a93ff9884e80dd821fb26a6346a1568ab27e",
      "parents": [
        "b7389e99be40a6497247970839a31d57e47906b3"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Fri May 29 15:58:39 2026 -0700"
      },
      "committer": {
        "name": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri May 29 19:26:14 2026 -0700"
      },
      "message": "Fix integer overflow in two convert functions\n\nFix integer overflow in buffer allocation size calculations in the\nalign_buffer_64() macro and the I422ToNV21() and\nAndroid420ToARGBMatrix() functions.\n\nBased on a CL autogenerated by MendIt (go/androidmendit):\nhttps://googleplex-android-review.googlesource.com/c/platform/external/libyuv/+/39981732\n\nBug: 511821134\nChange-Id: Ie1728c3ad337d460d9b85979489a817cc97e3bf3\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7886817\nReviewed-by: Frank Barchard \u003cfbarchard@google.com\u003e\nCommit-Queue: Wan-Teh Chang \u003cwtc@google.com\u003e\n"
    },
    {
      "commit": "b7389e99be40a6497247970839a31d57e47906b3",
      "tree": "a8c9b1a49ad648fbf4be9dfcff0a8d28ebb0736a",
      "parents": [
        "ef08f21f6d94addd69e5ae521d0f75f14cb644ed"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Fri May 29 14:45:05 2026 -0700"
      },
      "committer": {
        "name": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri May 29 19:22:01 2026 -0700"
      },
      "message": "Fix integer overflows in ConvertToI420()\n\nValidate the input parameters crop_x, crop_y, crop_width, crop_height.\n\nEnsure all calculations of buffer sizes and offsets are performed using\nthe size_t or ptrdiff_t type.\n\nBug: 511820801\nChange-Id: I43f82133c4049e2874c87d2ada147a7c3022f3c2\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7886366\nCommit-Queue: Wan-Teh Chang \u003cwtc@google.com\u003e\nReviewed-by: Frank Barchard \u003cfbarchard@google.com\u003e\n"
    },
    {
      "commit": "ef08f21f6d94addd69e5ae521d0f75f14cb644ed",
      "tree": "4f31066c9a6222c99085c738d1d4b5cf4f2092e0",
      "parents": [
        "c98edcc8dcdba15beaf866a4a5ea8cccb2865cbe"
      ],
      "author": {
        "name": "Frank Barchard",
        "email": "fbarchard@google.com",
        "time": "Fri May 29 17:52:58 2026 -0700"
      },
      "committer": {
        "name": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri May 29 18:30:38 2026 -0700"
      },
      "message": "[libyuv] Fix security vulnerabilities in ScalePlane and ARGBAffineRow_C\n\nThis CL addresses two security findings related to integer overflows:\n\n1. Input validation in ScalePlane, ScalePlane_16, and ScalePlane_12:\n   Added checks to reject invalid dimensions (e.g. width \u003c\u003d 0, height\n   \u003d\u003d 0) and dimensions larger than 32768 (or smaller than -32768 for\n   height). This prevents FixedDiv signed integer overflows that can\n   lead to division by zero/overflow crashes (SIGFPE on x86) or\n   incorrect step calculations.\n\n2. Stride overflow in ARGBAffineRow_C:\n   Casted pointer arithmetic operands to ptrdiff_t before multiplication\n   (y * stride and x * 4) to ensure 64-bit calculations, preventing\n   signed 32-bit integer overflow when calculating source pixel offsets.\n\nAdded unit tests to verify the input validation in ScalePlane functions.\n\nTest: libyuv_unittest --gtest_filter\u003d*InvalidInputs*\nTest: libyuv_unittest --gtest_filter\u003d*Scale*\nTest: libyuv_unittest --gtest_filter\u003d*TestAffine*\nBug: None\n\nTAG\u003dagy\nCONV\u003d0e990960-611b-4f38-94ec-24e79b66242e\nR\u003dwtc@google.com\n\nChange-Id: I252af47a98e45dff8bb5f06308c3739c6eead741\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7886217\nReviewed-by: Wan-Teh Chang \u003cwtc@google.com\u003e\nCommit-Queue: Frank Barchard \u003cfbarchard@google.com\u003e\n"
    },
    {
      "commit": "c98edcc8dcdba15beaf866a4a5ea8cccb2865cbe",
      "tree": "7a6fa06047af0aa9b315024f153b9fd4fa10d9bd",
      "parents": [
        "e449eb2172b33db01959032940e51b903dc0d661"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Fri May 29 11:29:01 2026 -0700"
      },
      "committer": {
        "name": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri May 29 11:57:47 2026 -0700"
      },
      "message": "Don\u0027t coalesce rows if width*height would overflow\n\nAudit all occurrences of \"width *\u003d height;\" in the libyuv source code.\nMake sure height \u003e 0 and (ptrdiff_t)width * height \u003c\u003d INT_MAX before\nexecuting width *\u003d height.\n\nBug: chromium:517339758\nChange-Id: I143a41c66492a6e4c48b6aa2a1c4a2ae974ceeb1\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7883816\nCommit-Queue: Wan-Teh Chang \u003cwtc@google.com\u003e\nReviewed-by: Frank Barchard \u003cfbarchard@google.com\u003e\n"
    },
    {
      "commit": "e449eb2172b33db01959032940e51b903dc0d661",
      "tree": "07d3bdf4572f5cbcc05c26c25e4481252d42df31",
      "parents": [
        "904f562d860c65d6eb41d973e76fb5546aa16467"
      ],
      "author": {
        "name": "Frank Barchard",
        "email": "fbarchard@google.com",
        "time": "Thu May 28 21:06:47 2026 -0700"
      },
      "committer": {
        "name": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu May 28 21:24:32 2026 -0700"
      },
      "message": "J400ToARGB switch from SSE2 to AVX2\n\n- port for row_win\n- remove unused HAS_ macros\n\nWas C/SSE2\nMSVC  J400ToARGB_Opt (1967 ms)\nClang J400ToARGB_Opt (568 ms)\n\nNow AVX2\nMSVC  J400ToARGB_Opt (411 ms)\nClang J400ToARGB_Opt (418 ms)\n\nTest: libyuv_unittest --gtest_filter\u003d*J400ToARGB*\nBug: libyuv:508639302\n\nChange-Id: Ifdfb026832b708b61f55477250cc5ee52449f421\nTAG\u003dagy\nCONV\u003d186608fc-966a-4ea7-bf57-9fe07cc1383c\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7877368\nCommit-Queue: Frank Barchard \u003cfbarchard@google.com\u003e\nReviewed-by: Justin Green \u003cgreenjustin@google.com\u003e\n"
    },
    {
      "commit": "904f562d860c65d6eb41d973e76fb5546aa16467",
      "tree": "3d91536e8fc81875d62fc33964b2b25ade91c925",
      "parents": [
        "ebe6fef90344936e2cd623f727024482fca72a87"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Thu May 28 16:13:49 2026 -0700"
      },
      "committer": {
        "name": "Frank Barchard",
        "email": "fbarchard@google.com",
        "time": "Thu May 28 17:10:22 2026 -0700"
      },
      "message": "Remove redundant #include \u003cstddef.h\u003e\n\n\"libyuv/basic_types.h\" includes \u003cstddef.h\u003e. So it is not necessary to\ninclude both \u003cstddef.h\u003e and \"libyuv/basic_types.h\".\n\nChange-Id: I5a461258a3c6820d1007ac635838f910237f367f\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7884381\nReviewed-by: Frank Barchard \u003cfbarchard@google.com\u003e\n"
    },
    {
      "commit": "ebe6fef90344936e2cd623f727024482fca72a87",
      "tree": "a9cdb0d40154014bcd496f710dd8cf326ec854b1",
      "parents": [
        "de63bd90f4396313f864ad58b65279e7894451a9"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Thu May 28 13:56:44 2026 -0700"
      },
      "committer": {
        "name": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu May 28 14:12:37 2026 -0700"
      },
      "message": "Fix integer overflow in multiplications of stride\n\nAudit all occurrences of \"stride *\" in the libyuv source tree. Ensure\nthat these multiplications are performed in the ptrdiff_t type.\n\nFor functions not declared in a public header (such as static\nfunctions), prefer to declare the stride parameters (typically named\nsrc_stride and dst_stride) and related stride local variables as\nptrdiff_t. If this is not possible, add ptrdiff_t casts to the stride\nparameters in multiplications. If intptr_t or int64_t casts were used,\nchange them to ptrdiff_t casts.\n\nBug: chromium:516986556\nChange-Id: I6cd8a8eb00cbb5380db828bf83e4d89ff95891f3\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7882967\nCommit-Queue: Wan-Teh Chang \u003cwtc@google.com\u003e\nReviewed-by: Frank Barchard \u003cfbarchard@google.com\u003e\n"
    },
    {
      "commit": "de63bd90f4396313f864ad58b65279e7894451a9",
      "tree": "c23ecacdc7f4684b81b2aa67f239c53b7fdb9150",
      "parents": [
        "9d98aaefe7a5e2710aa6175d44da38892400b381"
      ],
      "author": {
        "name": "Andrew Grieve",
        "email": "agrieve@chromium.org",
        "time": "Tue May 26 11:58:12 2026 -0400"
      },
      "committer": {
        "name": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed May 27 04:34:07 2026 -0700"
      },
      "message": "Stop setting --dynamic-linker for target_os\u003d\"android\"\n\nlld ignores it for shared libraries, but wild linker adds an .interp\nsection because of it. Regardless, llvm has long known to set the\ncorrect linker flag when building for android.\n\nBug: 40208899\nChange-Id: I50dc015946382f9e99289333e7d8b870409ed8d6\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7874019\nReviewed-by: Frank Barchard \u003cfbarchard@google.com\u003e\nCommit-Queue: Andrew Grieve \u003cagrieve@chromium.org\u003e\nReviewed-by: Mirko Bonadei \u003cmbonadei@chromium.org\u003e\n"
    },
    {
      "commit": "9d98aaefe7a5e2710aa6175d44da38892400b381",
      "tree": "3de40df330e77f9483bc97780c7154dd96b70b2f",
      "parents": [
        "9f751100d276c7a5a6aed2f35822f10730012a86"
      ],
      "author": {
        "name": "Frank Barchard",
        "email": "fbarchard@google.com",
        "time": "Mon May 18 16:52:12 2026 -0700"
      },
      "committer": {
        "name": "Frank Barchard",
        "email": "fbarchard@google.com",
        "time": "Mon May 18 17:28:46 2026 -0700"
      },
      "message": "InterpolateRow for Visual C\n\n- remove InterpolateRow_SSSE3\n- optimize ARGBToUV444MatrixRow_AVX2 to use unsigned pixels\n\n5.7x faster on AMD Zen4\n\nWas C\nTestInterpolatePlane (144 ms)\nTestInterpolatePlane_16 (142 ms)\n\nNow AVX2\nTestInterpolatePlane (25 ms)\nTestInterpolatePlane_16 (48 ms)\n\nWas signed\nARGBToJ444_Opt (157 ms)\nNow unsigned\nARGBToJ444_Opt (155 ms)\n\nBug: None\nChange-Id: I903109668ff9cfedaddad1ad75411393b3226f41\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7856498\nReviewed-by: richard winterton \u003crrwinterton@gmail.com\u003e\n"
    },
    {
      "commit": "9f751100d276c7a5a6aed2f35822f10730012a86",
      "tree": "a84bf520cbd0e1b73754f6f78859616410d6d7d8",
      "parents": [
        "cda55fcf5321dc3f5dcce7a364a588794f78df13"
      ],
      "author": {
        "name": "Frank Barchard",
        "email": "fbarchard@google.com",
        "time": "Mon May 18 14:13:04 2026 -0700"
      },
      "committer": {
        "name": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon May 18 14:29:36 2026 -0700"
      },
      "message": "InterpolateRow_16_AVX2 for row_gcc\n\nOn AMD Zen4\nWas C\nTestInterpolatePlane_16 (143 ms)\nNow AVX2\nTestInterpolatePlane_16 (48 ms)\n\nWas\nI210ToI420_Opt (87 ms)\n 35.60% InterpolateRow_16To8_AVX2\n 31.03% Convert16To8Row_AVX512BW\n 21.35% Convert16To8Row_AVX2\n\nNow\nI210ToI420_Opt (69 ms)\n 37.57% Convert16To8Row_AVX512BW\n 32.69% InterpolateRow_16_AVX2\n  7.18% Convert16To8Row_AVX2\n  5.23% InterpolateRow_16To8_AVX2\n\nBug: None\nChange-Id: Ica9b9c5dbd847068ae076b682c487e1753d3c812\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7855648\nReviewed-by: Dale Curtis \u003cdalecurtis@chromium.org\u003e\nCommit-Queue: Frank Barchard \u003cfbarchard@google.com\u003e\n"
    },
    {
      "commit": "cda55fcf5321dc3f5dcce7a364a588794f78df13",
      "tree": "7e1cb03946d59fdee48112a4634931acb5460300",
      "parents": [
        "0f320a03f7ec918258be53d8d5040326c5420b23"
      ],
      "author": {
        "name": "Frank Barchard",
        "email": "fbarchard@google.com",
        "time": "Fri May 15 13:52:46 2026 -0700"
      },
      "committer": {
        "name": "Frank Barchard",
        "email": "fbarchard@google.com",
        "time": "Fri May 15 15:05:31 2026 -0700"
      },
      "message": "Mirrow AVX2 functions for Visual C\n\nBug: libyuv:42280902\nChange-Id: Iabbec9af3a4f4dd89294e60145823c7fc4dd6ec6\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7843378\nCommit-Queue: Frank Barchard \u003cfbarchard@google.com\u003e\nReviewed-by: richard winterton \u003crrwinterton@gmail.com\u003e\n"
    },
    {
      "commit": "0f320a03f7ec918258be53d8d5040326c5420b23",
      "tree": "64dc585ac0d16e1a4b061ae1e462bbad871c08c9",
      "parents": [
        "c6c8689c74d8c20ab66b4e9340ba407848e32187"
      ],
      "author": {
        "name": "Sergey Silkin",
        "email": "ssilkin@webrtc.org",
        "time": "Fri May 08 09:13:35 2026 +0000"
      },
      "committer": {
        "name": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed May 13 05:33:33 2026 -0700"
      },
      "message": "Fix linear interpolation\n\nC interpolator applied to chroma plane at scaling NV12 on Mac/ARM used\n(0x7f ^ f) which is (127-f) instead of (128-f). This resulted in changes\nlike 128 -\u003e 127 when scaling flat colors and caused visually noticeable\ndifference.\n\nBug: b/465721312\nChange-Id: Iecf5d2ca2a85602de4146cba7e0f64ecb4b2c1fe\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7830198\nReviewed-by: Frank Barchard \u003cfbarchard@google.com\u003e\nReviewed-by: Mirko Bonadei \u003cmbonadei@chromium.org\u003e\nReviewed-by: richard winterton \u003crrwinterton@gmail.com\u003e\nCommit-Queue: Mirko Bonadei \u003cmbonadei@chromium.org\u003e\n"
    },
    {
      "commit": "c6c8689c74d8c20ab66b4e9340ba407848e32187",
      "tree": "7e9ec5c1b947a326912c233e2f9229d060375dc3",
      "parents": [
        "dd8b46630a1f3510aefea626b0a2600328d97070"
      ],
      "author": {
        "name": "Frank Barchard",
        "email": "fbarchard@google.com",
        "time": "Tue May 12 15:22:24 2026 -0700"
      },
      "committer": {
        "name": "Frank Barchard",
        "email": "fbarchard@google.com",
        "time": "Tue May 12 15:30:35 2026 -0700"
      },
      "message": "Fix I444 and J444 parameter names/order\n\nBug: libyuv:42280902\nChange-Id: Ia2c45f2d996d071534b08381f61adf8cb8ef35b9\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7841767\nReviewed-by: richard winterton \u003crrwinterton@gmail.com\u003e\nCommit-Queue: Frank Barchard \u003cfbarchard@google.com\u003e\n"
    },
    {
      "commit": "dd8b46630a1f3510aefea626b0a2600328d97070",
      "tree": "5141e35bf6135c7c5d68ccea07d741f4bbd96282",
      "parents": [
        "cb061d0378825bfa5c1ff6c75869c3f65d2f21bc"
      ],
      "author": {
        "name": "Frank Barchard",
        "email": "fbarchard@google.com",
        "time": "Tue May 12 13:57:46 2026 -0700"
      },
      "committer": {
        "name": "Frank Barchard",
        "email": "fbarchard@google.com",
        "time": "Tue May 12 14:19:58 2026 -0700"
      },
      "message": "ARGBToUV444MatrixRow_AVX2 intrinsics for Visual C\n\nWas C\nLibYUVConvertTest.ARGBToI444_Opt (1027 ms)\n\nNow AVX2\nLibYUVConvertTest.ARGBToI444_Opt (310 ms)\n\nBug: libyuv:508639302\nChange-Id: I0bc7f5c5b72160d24226a98d5fddb184a004ed00\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7841655\nReviewed-by: richard winterton \u003crrwinterton@gmail.com\u003e\n"
    },
    {
      "commit": "cb061d0378825bfa5c1ff6c75869c3f65d2f21bc",
      "tree": "122582acc2d1790c59c934a45beecbcb99c25d6b",
      "parents": [
        "e23282704f3b731534167ee2c689bda574c49dca"
      ],
      "author": {
        "name": "Frank Barchard",
        "email": "fbarchard@google.com",
        "time": "Mon May 11 18:53:06 2026 -0700"
      },
      "committer": {
        "name": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon May 11 19:10:47 2026 -0700"
      },
      "message": "Unittests use ASSERT instead of EXPECT\n\nBug: libyuv:508639302\nChange-Id: I22c35e08f3b6db1a656192877c1fb1bf4e96d6f5\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7838659\nReviewed-by: richard winterton \u003crrwinterton@gmail.com\u003e\nCommit-Queue: Frank Barchard \u003cfbarchard@google.com\u003e\n"
    },
    {
      "commit": "e23282704f3b731534167ee2c689bda574c49dca",
      "tree": "232b40f85c9cb98586d2d5cb9111dde73ff96289",
      "parents": [
        "4b4e68b372f185a81144d1055fdf30b9b8cbc295"
      ],
      "author": {
        "name": "Frank Barchard",
        "email": "fbarchard@google.com",
        "time": "Mon May 11 12:19:18 2026 -0700"
      },
      "committer": {
        "name": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon May 11 13:12:22 2026 -0700"
      },
      "message": "ARGBToYRow_AVX512BW preserve XMM6-XMM15 due to Windows stack alignment\n\nBug: 505124541\nChange-Id: Id5ae539f57b314980182bec76a788e33273b2392\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7835639\nReviewed-by: richard winterton \u003crrwinterton@gmail.com\u003e\nReviewed-by: James Zern \u003cjzern@google.com\u003e\nCommit-Queue: Frank Barchard \u003cfbarchard@google.com\u003e\n"
    },
    {
      "commit": "4b4e68b372f185a81144d1055fdf30b9b8cbc295",
      "tree": "fc8dcf01483820cbbc5b34d4a4ee62844a517505",
      "parents": [
        "4aacbbdfb4b29931d893b20ba3b8940d955215de"
      ],
      "author": {
        "name": "Frank Barchard",
        "email": "fbarchard@google.com",
        "time": "Thu May 07 19:58:19 2026 -0700"
      },
      "committer": {
        "name": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri May 08 15:23:30 2026 -0700"
      },
      "message": "ABGRToJ420 call ARGBToI420Matrix\n\n- Standardize libyuv ARGB-family (ARGB, ABGR, RGBA, BGRA) to YUV conversion by utilizing the generic MatrixRow architecture and explicit ArgbConstants.\n- Consolidated ARGBToI420, ABGRToI420, BGRAToI420, and RGBAToI420 as wrappers for ARGBToI420Matrix.\n- Refactored ABGRToJ420, ABGRToJ422, and ABGRToI422 to use generic matrix functions.\n- Added matrix-based versions for NV21, I400, YUY2, and UYVY.\n- Updated RAW and RGB24 to I420/I422/I444 dispatchers to use MatrixRow logic and explicit constants.\n- Fixed parameter swap bugs in ARGBToI422, ARGBToJ422, and ABGRToJ422.\n- Fixed a bug in the generic C implementation of matrix row functions ensuring all 4 channels are processed correctly for all ARGB-family formats.\n- Moved kShuffleAARRGGBB in row_gcc.cc to the top of the libyuv namespace for visibility.\n- Cleaned up redundant format-specific row implementations.\n\nBug: libyuv:42280902\nChange-Id: I67ffa4c476abc0d2dcc4650510d7bda91b65988e\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7830291\nReviewed-by: richard winterton \u003crrwinterton@gmail.com\u003e\nCommit-Queue: Frank Barchard \u003cfbarchard@google.com\u003e\n"
    },
    {
      "commit": "4aacbbdfb4b29931d893b20ba3b8940d955215de",
      "tree": "61853de1bc5624b491d7cf1f1e23a27731879bef",
      "parents": [
        "8773064a72aa6ee7fc546b1ad2382de402aca14a"
      ],
      "author": {
        "name": "Frank Barchard",
        "email": "fbarchard@google.com",
        "time": "Wed May 06 19:38:40 2026 -0700"
      },
      "committer": {
        "name": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed May 06 20:02:47 2026 -0700"
      },
      "message": "Refactored RGB/RAW to YUV color conversion functions to use generic Matrix-based functions parameterized by ArgbConstants.\n\nThis consolidation standardizes conversion logic, improves code\nmaintainability, and provides flexible support for various color spaces\n(e.g., BT.601, JPEG full\n  range).\n\nKey Modifications:\n - Function Consolidation: Refactored several high-level conversion functions into lightweight wrappers around generic Matrix variants:\n     - ARGBToI420 → ARGBToI420Matrix\n     - ARGBToI444 → ARGBToI444Matrix\n     - ARGBToI422 → ARGBToI422Matrix\n     - ARGBToNV12 → ARGBToNV12Matrix\n     - RAWToJ400, RGB24ToJ400 → RGBToI400Matrix\n     - RAWToI444, RAWToJ444 → RGBToI444Matrix\n - 2-Pass Conversions: Updated RGB565ToI420, ARGB1555ToI420, and ARGB4444ToI420 to utilize 2-pass conversions via RGBToI420Matrix.\n - Standardization: Refactored ARGBToNV21, ARGBToYUY2, and ARGBToUYVY to use parameterized matrix row functions (ARGBToYMatrixRow,\n   ARGBToUVMatrixRow).\n - Legacy Cleanup: Replaced legacy calls to ARGBToYJRow with the parameterized ARGBToYMatrixRow in the ARGBSobelize helper.\n - Internal Integration: Included libyuv/convert_from_argb.h in planar_functions.cc and ensured all new matrix symbols are properly\n   declared/exported (LIBYUV_API).\n\nBug: libyuv:42280902\nChange-Id: Ied5fd9899767427e3a03cdcfbeaff3e9d502374a\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7822033\nReviewed-by: richard winterton \u003crrwinterton@gmail.com\u003e\nCommit-Queue: Frank Barchard \u003cfbarchard@google.com\u003e\n"
    },
    {
      "commit": "8773064a72aa6ee7fc546b1ad2382de402aca14a",
      "tree": "5dc6e16ca5ff29f6c351ee44663f9de2f67f917d",
      "parents": [
        "37a848135b2b5df6177a6fd42e1d60eb0fa9539d"
      ],
      "author": {
        "name": "Mirko Bonadei",
        "email": "mbonadei@chromium.org",
        "time": "Wed May 06 01:11:45 2026 -0700"
      },
      "committer": {
        "name": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed May 06 03:30:24 2026 -0700"
      },
      "message": "Revert \"Fix rounding in scaling routines.\"\n\nThis reverts commit 37a848135b2b5df6177a6fd42e1d60eb0fa9539d.\n\nReason for revert: The CL was not ready to land.\n\nOriginal change\u0027s description:\n\u003e Fix rounding in scaling routines.\n\u003e\n\u003e * before: https://screenshot.googleplex.com/3ujxU7drx8J9aVv\n\u003e * after: https://screenshot.googleplex.com/5twPmxuBUKjvVD9\n\u003e * source: https://screenshot.googleplex.com/9yevVP7URe3XfSm\n\u003e\n\u003e Bug: b/465721312\n\u003e Change-Id: I2aede005db252b2912ceef23379463f176675205\n\u003e Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7813417\n\u003e Reviewed-by: Frank Barchard \u003cfbarchard@google.com\u003e\n\u003e Reviewed-by: richard winterton \u003crrwinterton@gmail.com\u003e\n\nBug: b/465721312\nNo-Presubmit: true\nNo-Tree-Checks: true\nNo-Try: true\nChange-Id: Ic3d0de4d4475942bc91fbee17d012bc1b656589f\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7816864\nCommit-Queue: Mirko Bonadei \u003cmbonadei@chromium.org\u003e\nBot-Commit: rubber-stamper@appspot.gserviceaccount.com \u003crubber-stamper@appspot.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "37a848135b2b5df6177a6fd42e1d60eb0fa9539d",
      "tree": "7ab345c665a9e553e5aa50a2567f4fb94fbca692",
      "parents": [
        "125f151316b9bd175faff2e2846d11f1232abbda"
      ],
      "author": {
        "name": "Sergey Silkin",
        "email": "ssilkin@webrtc.org",
        "time": "Mon May 04 16:26:14 2026 +0000"
      },
      "committer": {
        "name": "Frank Barchard",
        "email": "fbarchard@google.com",
        "time": "Tue May 05 19:05:43 2026 -0700"
      },
      "message": "Fix rounding in scaling routines.\n\n* before: https://screenshot.googleplex.com/3ujxU7drx8J9aVv\n* after: https://screenshot.googleplex.com/5twPmxuBUKjvVD9\n* source: https://screenshot.googleplex.com/9yevVP7URe3XfSm\n\nBug: b/465721312\nChange-Id: I2aede005db252b2912ceef23379463f176675205\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7813417\nReviewed-by: Frank Barchard \u003cfbarchard@google.com\u003e\nReviewed-by: richard winterton \u003crrwinterton@gmail.com\u003e\n"
    },
    {
      "commit": "125f151316b9bd175faff2e2846d11f1232abbda",
      "tree": "5dc6e16ca5ff29f6c351ee44663f9de2f67f917d",
      "parents": [
        "561a9780e2b55001ecca5796d503b4b5adfeb05d"
      ],
      "author": {
        "name": "Frank Barchard",
        "email": "fbarchard@google.com",
        "time": "Tue May 05 17:57:52 2026 -0700"
      },
      "committer": {
        "name": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue May 05 18:17:19 2026 -0700"
      },
      "message": "ARGBToNV12 use Matrix\n\n  Refactored Matrix functions (ARGBToI420Matrix, ARGBToI422Matrix, ARGBToI444Matrix and ARGBToNV12Matrix)\n  and updated their CPU dispatch logic.\n\nARGBToNV12 clang\n 68.05% ARGBToUVMatrixRow_AVX512BW\n 21.04% ARGBToYMatrixRow_AVX512BW\n  2.88% MergeUVRow_AVX512BW\n\nARGBToNV12 rowwin\n 61.26% ARGBToUVMatrixRow_AVX2\n 25.43% ARGBToYMatrixRow_AVX2\n  3.09% MergeUVRow_AVX2\n\nARM on One Plus 15\n 42.98% libyuv::ARGBToUVMatrixRow_SVE_SC()\n 38.95% ARGBToYMatrixRow_NEON_DotProd\n  2.96% MergeUVRow_NEON\n  0.18% ARGBToUVMatrixRow_SVE2\n\nARGBToI420\n 72.28% ARGBToUVMatrixRow_AVX512BW\n 19.04% ARGBToYMatrixRow_AVX512BW\n\nARGBToI422\n 77.46% ARGBToUVMatrixRow_AVX512BW\n 15.55% ARGBToYMatrixRow_AVX512BW\n\nARGBToI444\n 67.03% ARGBToYMatrixRow_AVX512BW\n 24.80% ARGBToUV444MatrixRow_AVX512BW\n\nBug: libyuv:42280902\nChange-Id: I463ebcdb70cb669a1ce1a81102b8fd2fb3943bd3\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7819051\nReviewed-by: richard winterton \u003crrwinterton@gmail.com\u003e\nCommit-Queue: Frank Barchard \u003cfbarchard@google.com\u003e\n"
    },
    {
      "commit": "561a9780e2b55001ecca5796d503b4b5adfeb05d",
      "tree": "57171fd1c354157a52aa04b5fa895b73906a5799",
      "parents": [
        "5a17753597d77dee881d9d93097ca2c2079e9409"
      ],
      "author": {
        "name": "Frank Barchard",
        "email": "fbarchard@google.com",
        "time": "Mon May 04 19:15:48 2026 -0700"
      },
      "committer": {
        "name": "Frank Barchard",
        "email": "fbarchard@google.com",
        "time": "Tue May 05 12:57:55 2026 -0700"
      },
      "message": "YUV to RGB avoid avx assist\n\nHere are the functions flagged for mixing both SSE and AVX (or AVX-512)\ninstructions, which can trigger an AVX transition/assist performance\npenalty:\n\nLibyuv Functions addressed in this CL\n   * I422ToARGBRow_AVX512BW\n   * HalfFloatRow_SSE2\n\nNot addressed:\n   * ScaleFilterCols_SSSE3\n\nBug: libyuv:509681367\nChange-Id: I8ced6065dfe0c516d05857086393782c8590062a\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7814945\nReviewed-by: richard winterton \u003crrwinterton@gmail.com\u003e\n"
    },
    {
      "commit": "5a17753597d77dee881d9d93097ca2c2079e9409",
      "tree": "c117136789c3b0abc0bf6c30d230d1df05c8a8fa",
      "parents": [
        "2143edfa7a807b5ea59aff235b7d722729bcb19c"
      ],
      "author": {
        "name": "Frank Barchard",
        "email": "fbarchard@google.com",
        "time": "Mon May 04 12:46:28 2026 -0700"
      },
      "committer": {
        "name": "Frank Barchard",
        "email": "fbarchard@google.com",
        "time": "Mon May 04 13:00:21 2026 -0700"
      },
      "message": "libyuv: Optimize Convert8To8Row_NEON for 32-bit ARM\n\nBenchmark (Convert8To8Plane 1280x720, 1000 repeats):\n\n32-bit: 106 ms -\u003e 44 ms\n64-bit: 52 ms (unchanged)\nBug: libyuv:42280902\nChange-Id: I389a482f93404984759ef6223d7d191579d3578d\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7812450\nReviewed-by: Justin Green \u003cgreenjustin@google.com\u003e\nCommit-Queue: Frank Barchard \u003cfbarchard@google.com\u003e\n"
    },
    {
      "commit": "2143edfa7a807b5ea59aff235b7d722729bcb19c",
      "tree": "a0c22a0a9ecc773681579e7cab762c5d141ba2b0",
      "parents": [
        "f2ac6db694d1e5b0af1d7b05dc431e0e455fe228"
      ],
      "author": {
        "name": "Frank Barchard",
        "email": "fbarchard@google.com",
        "time": "Mon May 04 09:50:57 2026 -0700"
      },
      "committer": {
        "name": "Frank Barchard",
        "email": "fbarchard@google.com",
        "time": "Mon May 04 11:38:45 2026 -0700"
      },
      "message": "ARGBToUVMatrixRow_NEON arm32 reimplemented for GCC\n\nBug: libyuv:508639302\nChange-Id: Ib120373d799c66926a64c980873034be262d8848\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7810481\nCommit-Queue: Frank Barchard \u003cfbarchard@google.com\u003e\nReviewed-by: Justin Green \u003cgreenjustin@google.com\u003e\n"
    },
    {
      "commit": "f2ac6db694d1e5b0af1d7b05dc431e0e455fe228",
      "tree": "a594e3d2e438d038414e6bd9c81e2ccb4b348344",
      "parents": [
        "b438739c8b08eba2c562a62ea5961f6215d525ed"
      ],
      "author": {
        "name": "Frank Barchard",
        "email": "fbarchard@google.com",
        "time": "Wed Apr 29 12:54:49 2026 -0700"
      },
      "committer": {
        "name": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Apr 29 13:11:04 2026 -0700"
      },
      "message": "RAWToNV21 using SME, SVE, I8MM or Neon\n\nPixel 9 Now SVE2 2 pass LibYUVConvertTest.RAWToNV21_Opt (364 ms)\n 31.76% libyuv::ARGBToUVMatrixRow_SVE_SC()\n 30.38% RAWToARGBRow_SVE2\n 26.81% ARGBToYMatrixRow_NEON_DotProd\n  3.26% MergeUVRow_NEON\n\nWas NEON 1 pass LibYUVConvertTest.RAWToJNV21_Opt (295 ms)\n 44.14% RAWToYJRow_NEON\n 41.91% RAWToUVJRow_NEON\n  5.11% MergeUVRow_NEON\n\nClang on Intel Skylake clang [ OK ] LibYUVConvertTest.RAWToJNV21_Opt\n(301 ms) visual c (row_win) [ OK ] LibYUVConvertTest.RAWToJNV21_Opt\n(2056 ms)\n\nclang [ OK ] LibYUVConvertTest.RAWToJNV21_Opt (275 ms) visual c [ OK ]\nLibYUVConvertTest.RAWToJNV21_Opt (365 ms)\n\nBug: libyuv:42280902\nChange-Id: Iaba558ebe96ce6b9881ee9335ba72b8aac390cde\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7802432\nCommit-Queue: Frank Barchard \u003cfbarchard@google.com\u003e\nReviewed-by: richard winterton \u003crrwinterton@gmail.com\u003e\nReviewed-by: Dale Curtis \u003cdalecurtis@chromium.org\u003e\n"
    },
    {
      "commit": "b438739c8b08eba2c562a62ea5961f6215d525ed",
      "tree": "d41d0b05a6ef3fac69b1fb0b913e1f18d8fce573",
      "parents": [
        "9a0226cb3fe21509b03facd87cd4a47bb4a74a48"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Tue Apr 28 17:00:13 2026 -0700"
      },
      "committer": {
        "name": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Apr 28 18:21:42 2026 -0700"
      },
      "message": "Use ptrdiff_t for buffer offsets\n\nUse ptrdiff_t instead of intptr_t for buffer offsets, such as stride,\nwidth_temp, and src_step*.\n\nChange-Id: I64e6701fa71ab59c94325a6dad8762d040035208\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7800070\nReviewed-by: Frank Barchard \u003cfbarchard@google.com\u003e\nCommit-Queue: Wan-Teh Chang \u003cwtc@google.com\u003e\n"
    },
    {
      "commit": "9a0226cb3fe21509b03facd87cd4a47bb4a74a48",
      "tree": "066bf4ab655f4ef6035a37dcfd369a5ab563c872",
      "parents": [
        "a7849e8a5e9c996bef2332efae897e7301055a20"
      ],
      "author": {
        "name": "Frank Barchard",
        "email": "fbarchard@google.com",
        "time": "Tue Apr 28 16:41:02 2026 -0700"
      },
      "committer": {
        "name": "Frank Barchard",
        "email": "fbarchard@google.com",
        "time": "Tue Apr 28 16:41:45 2026 -0700"
      },
      "message": "Add GEMINI.md with guidelines on libyuv\n\nBug: None\nChange-Id: If5d2d84ff88b3c7069f0f6e9c98a4acb76078618\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7800069\nReviewed-by: Dale Curtis \u003cdalecurtis@chromium.org\u003e\n"
    },
    {
      "commit": "a7849e8a5e9c996bef2332efae897e7301055a20",
      "tree": "ac20e4a672fb43698fe9707871534d36a9102d99",
      "parents": [
        "2895faed3250ab050f12104eaa21e3a3ba9b5b51"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Tue Apr 28 11:42:50 2026 -0700"
      },
      "committer": {
        "name": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Apr 28 12:34:12 2026 -0700"
      },
      "message": "Fix yi * src_stride overflow in ScalePlaneVertical\n\nFix int overflow of yi * src_stride overflow in ScalePlaneVertical(),\nScalePlaneVertical_16(), and ScalePlaneVertical_16To8() by casting the\noperand src_stride to ptrdiff_t.\n\nAdapted from the patches by Victor Miura \u003cvmiura@google.com\u003e.\n\nBug: 505814332\nChange-Id: I4a4751041a213f7208b01eb18c43c9e196a36261\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7796558\nCommit-Queue: Wan-Teh Chang \u003cwtc@google.com\u003e\nReviewed-by: Frank Barchard \u003cfbarchard@google.com\u003e\n"
    },
    {
      "commit": "2895faed3250ab050f12104eaa21e3a3ba9b5b51",
      "tree": "04e4eae5b85d27a26192534156e47f20fbb76cfc",
      "parents": [
        "54d40344cad2d093456caabf523a38804947746c"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Tue Apr 28 11:39:05 2026 -0700"
      },
      "committer": {
        "name": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Apr 28 12:30:58 2026 -0700"
      },
      "message": "Use GTEST_SKIP() macro to skip TestI400LargeSize\n\nChange-Id: I3a8f5c498b07f26dea5468fbecad9081f8bbe6d5\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7800542\nReviewed-by: Frank Barchard \u003cfbarchard@google.com\u003e\nCommit-Queue: Wan-Teh Chang \u003cwtc@google.com\u003e\n"
    },
    {
      "commit": "54d40344cad2d093456caabf523a38804947746c",
      "tree": "06cc9668e5dd30ab15a370b12c23279805187f1c",
      "parents": [
        "4afb9654162e142b52d349471823815f4c60bc3d"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Mon Apr 27 16:39:37 2026 -0700"
      },
      "committer": {
        "name": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Apr 28 09:50:46 2026 -0700"
      },
      "message": "No need to cast ptrdiff_t src_stride to intptr_t\n\nptrdiff_t is the appropriate type for a buffer offset. intptr_t is\nintended for a different purpose.\n\nChange-Id: I475c548338b61f573fb11766c24cde6d31fbbed8\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7796559\nReviewed-by: Frank Barchard \u003cfbarchard@google.com\u003e\nCommit-Queue: Wan-Teh Chang \u003cwtc@google.com\u003e\n"
    },
    {
      "commit": "4afb9654162e142b52d349471823815f4c60bc3d",
      "tree": "9d689407c8b78e3e3c56983b746420916b69dd47",
      "parents": [
        "bd2c4c76ec4e5986e87429874139e07454bbd49c"
      ],
      "author": {
        "name": "Frank Barchard",
        "email": "fbarchard@google.com",
        "time": "Wed Apr 22 15:20:00 2026 -0700"
      },
      "committer": {
        "name": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Apr 22 16:56:46 2026 -0700"
      },
      "message": "RAWToARGB use AVX512BW\n\nBug: libyuv:42280902\nChange-Id: I7a80fd64d97b6d411316819df0fd917d609a173b\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7787163\nReviewed-by: richard winterton \u003crrwinterton@gmail.com\u003e\nCommit-Queue: Frank Barchard \u003cfbarchard@google.com\u003e\n"
    },
    {
      "commit": "bd2c4c76ec4e5986e87429874139e07454bbd49c",
      "tree": "d62e06f46826845f87218d5833eb4f5b89440d99",
      "parents": [
        "d445250d8b5804acba20f10e20463289993715a1"
      ],
      "author": {
        "name": "Frank Barchard",
        "email": "fbarchard@google.com",
        "time": "Wed Apr 22 14:25:12 2026 -0700"
      },
      "committer": {
        "name": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Apr 22 14:48:29 2026 -0700"
      },
      "message": "RAWToARGB AVX512VBMI\n\nBug: libyuv:42280902\nChange-Id: I1c7f432f004079357a00515785bc524c459ed4b9\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7787160\nReviewed-by: richard winterton \u003crrwinterton@gmail.com\u003e\nCommit-Queue: Frank Barchard \u003cfbarchard@google.com\u003e\n"
    },
    {
      "commit": "d445250d8b5804acba20f10e20463289993715a1",
      "tree": "d7653e241c6b72b5bd4f475d47d59f7ffe9a8ee3",
      "parents": [
        "81f698829b9d009156b52a6a4d739578434db672"
      ],
      "author": {
        "name": "Frank Barchard",
        "email": "fbarchard@google.com",
        "time": "Tue Apr 21 16:49:27 2026 -0700"
      },
      "committer": {
        "name": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Apr 21 17:11:14 2026 -0700"
      },
      "message": "Replace RAWToY/RGB24ToY with RGBToYMatrix\n\nBug: libyuv:42280902\nChange-Id: I6ddebd492036c416550fc045eb39493dea73246b\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7784094\nCommit-Queue: Frank Barchard \u003cfbarchard@google.com\u003e\nReviewed-by: richard winterton \u003crrwinterton@gmail.com\u003e\n"
    },
    {
      "commit": "81f698829b9d009156b52a6a4d739578434db672",
      "tree": "786f371bf53f7d5bf7e1b58ed39834d5f49130ac",
      "parents": [
        "9f13b2814d3331ae582e46d504bf629deda022ce"
      ],
      "author": {
        "name": "Frank Barchard",
        "email": "fbarchard@google.com",
        "time": "Mon Apr 20 17:22:17 2026 -0700"
      },
      "committer": {
        "name": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Apr 20 18:03:34 2026 -0700"
      },
      "message": "Add RGBToNV21Matrix function\n- implement wrappers with RAW, RGB24, NV21 and JNV21 to call it.\n\nZen5\nWas [       OK ] LibYUVConvertTest.RAWToJNV21_Opt (1146 ms)\nNow [       OK ] LibYUVConvertTest.RAWToJNV21_Opt (1446 ms)\nreason - the new code uses 1 pass for RAWToY but 2 pass for RAWToARGB,ARGBToUV.  needs 1 RGBToUV\n\nBug: libyuv:42280902\nChange-Id: Ife6fbed0829484045409e6d42b85cec1d1fd6052\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7780026\nReviewed-by: richard winterton \u003crrwinterton@gmail.com\u003e\nCommit-Queue: Frank Barchard \u003cfbarchard@google.com\u003e\n"
    },
    {
      "commit": "9f13b2814d3331ae582e46d504bf629deda022ce",
      "tree": "e89324db60d8f1cec590e1af56bbc6286b273061",
      "parents": [
        "ddc6764d1392fb2e3ff5752b12c73786a989473e"
      ],
      "author": {
        "name": "Frank Barchard",
        "email": "fbarchard@google.com",
        "time": "Mon Apr 20 12:07:28 2026 -0700"
      },
      "committer": {
        "name": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Apr 20 12:52:44 2026 -0700"
      },
      "message": "add RGBToYMatrixRow_AVX2\n\nAdds RGBToYMatrixRow_AVX2 which reads 24 bit RGB values by reading 3 vectors instead of 4 and permutes them into 4 ARGB vectors before conversion.\nAlso adds RGBToYMatrixRow_Opt and RGBToYMatrixRow_2Step_Opt to convert_argb_test.cc to benchmark and compare the direct AVX2 conversion vs a 2-step approach.\n\n./libyuv_test \u0027--gunit_filter\u003d*RAWToJ400_Opt\u0027 --libyuv_width\u003d1280 --libyuv_height\u003d720 --libyuv_repeat\u003d10000 --libyuv_flags\u003d-1 --libyuv_cpu_info\u003d-1\n\nAMD Zen 5\nWas LibYUVConvertTest.RAWToJ400_Opt (757 ms)\nNow LibYUVConvertTest.RAWToJ400_Opt (699 ms)\n\nIntel Skylake\nWas LibYUVConvertTest.RAWToJ400_Opt (1705 ms)\nNow LibYUVConvertTest.RAWToJ400_Opt (1426 ms)\n\nBug: 477295731\nChange-Id: I29866baf4ad5fe7a3725e4a01f2fe24649510a7d\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7777325\nReviewed-by: Frank Barchard \u003cfbarchard@chromium.org\u003e\nReviewed-by: Justin Green \u003cgreenjustin@google.com\u003e\nReviewed-by: richard winterton \u003crrwinterton@gmail.com\u003e\nCommit-Queue: Frank Barchard \u003cfbarchard@chromium.org\u003e\n"
    },
    {
      "commit": "ddc6764d1392fb2e3ff5752b12c73786a989473e",
      "tree": "aeb344a8945ae08f875cf0474b121653d9f028d7",
      "parents": [
        "ace7c4573c625af0046edf6ebb4f1956fd220bec"
      ],
      "author": {
        "name": "Frank Barchard",
        "email": "fbarchard@google.com",
        "time": "Fri Apr 17 14:11:33 2026 -0700"
      },
      "committer": {
        "name": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Apr 17 15:04:45 2026 -0700"
      },
      "message": "ARGBToUVMatrixRow_RVV replace vlseg8 with vlseg4,\n\nimplementing horizontal paired adds and accumulation to improve\nperformance on SiFive x280, and fixes the remainder logic to use valid\nvlseg4 loads. Adds TestARGBToUVRow_Any to test odd-width remainder\nhandling.\n\nAlso fixes a build break for non-RVV compilations by ensuring all RVV\nfunctions and their closing cplusplus braces are correctly wrapped in\n#if !defined(LIBYUV_DISABLE_RVV).\n\nAlso adds NV12ToNV21 as a macro alias for NV21ToNV12 in\nplanar_functions.h, as the conversion is bidirectional (swapping byte\npairs in the interleaved chroma plane). (Patch from\nhttps://chromium-review.googlesource.com/c/libyuv/libyuv/+/7762904)\n\nBug: libyuv:42280902\nChange-Id: If2d6cbb3e232d63d43e32aba33fa9b2eee8190e5\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7772164\nCommit-Queue: Frank Barchard \u003cfbarchard@chromium.org\u003e\nReviewed-by: richard winterton \u003crrwinterton@gmail.com\u003e\n"
    },
    {
      "commit": "ace7c4573c625af0046edf6ebb4f1956fd220bec",
      "tree": "adaee0485de2e823130e39c531743d19349eef0f",
      "parents": [
        "dec82721389ebb2e37cd6160ff60dd75ce5af2e2"
      ],
      "author": {
        "name": "Frank Barchard",
        "email": "fbarchard@google.com",
        "time": "Thu Apr 16 17:09:38 2026 -0700"
      },
      "committer": {
        "name": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Apr 16 20:52:43 2026 -0700"
      },
      "message": "Add ARGBToUV444MatrixRow_RVV, ARGBToUVMatrixRow_RVV, and wrappers\n\nThis change implements ARGBToUV444MatrixRow_RVV, ARGBToUVMatrixRow_RVV,\nand their wrappers (ARGBToUVRow_RVV, ARGBToUVJRow_RVV, etc.) using RVV\nintrinsics, mirroring the NEON/AVX2 designs. It wires them into the\nbuild and dispatch systems.\n\nLIBYUV_RVV_HAS_TUPLE_TYPE is always true on new compilers. This macro\nhas been removed, assuming it is true everywhere, reducing the amount of\ncode in row_rvv.cc, scale_rvv.cc, and row.h.\n\nTested via: ~/bin/doyuv3v \u0026\u0026 ~/bin/runyuv3v TestARGBToI444Matrix\n~/bin/doyuv3av\n\nBug: libyuv:42280902\nChange-Id: I36d305386b297d69023c068aa9c62ab6b2ad039c\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7769956\nReviewed-by: richard winterton \u003crrwinterton@gmail.com\u003e\nCommit-Queue: Frank Barchard \u003cfbarchard@chromium.org\u003e\n"
    },
    {
      "commit": "dec82721389ebb2e37cd6160ff60dd75ce5af2e2",
      "tree": "c1a9182d9b9b9ef38658b2231bab101d7211a1a9",
      "parents": [
        "94644361b4fc21befdadbf425a5d256b17f20565"
      ],
      "author": {
        "name": "Chema Gonzalez",
        "email": "chemag@meta.com",
        "time": "Tue Apr 14 09:36:01 2026 -0700"
      },
      "committer": {
        "name": "Frank Barchard",
        "email": "fbarchard@chromium.org",
        "time": "Thu Apr 16 14:27:40 2026 -0700"
      },
      "message": "Fix typo\n\nChange-Id: I4dea1bcacc7d10dd2db74f4b221db42e2deade83\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7762903\nReviewed-by: Frank Barchard \u003cfbarchard@chromium.org\u003e\nReviewed-by: richard winterton \u003crrwinterton@gmail.com\u003e\n"
    },
    {
      "commit": "94644361b4fc21befdadbf425a5d256b17f20565",
      "tree": "f400d94f571e4747aba01e59ccd77a3bea2fa054",
      "parents": [
        "0d8494abc0983df20c82017944c00aa5e63ff3fc"
      ],
      "author": {
        "name": "Frank Barchard",
        "email": "fbarchard@google.com",
        "time": "Wed Apr 15 19:30:13 2026 -0700"
      },
      "committer": {
        "name": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Apr 15 19:53:16 2026 -0700"
      },
      "message": "row_win.cc rewrite into intrinsics\n\n- remove inline asm which was only for 32 bit\n- add ARGBToYMatrixRow_AVX2\n- add gn flag libyuv_enable_rowwin\u003dtrue\n\nExample of building with GN and Ninja:\n\nWithout the new flag:\n  gn gen out/Release \"--args\u003dis_debug\u003dfalse\"\n  ninja -C out/Release\n\nWith the new flag:\n gn gen out/Release \"--args\u003dis_debug\u003dfalse libyuv_enable_rowwin\u003dtrue\"\n ninja -C out/Release\n\nBug: libyuv:42280806, 477295731, libyuv:42280902, libyuv:439628764\nR\u003d​dalecurtis@chromium.org, rrwinterton@gmail.com\n\nChange-Id: I451bf814622fba690005c02fbf5816819c6a08c2\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7765790\nReviewed-by: richard winterton \u003crrwinterton@gmail.com\u003e\nCommit-Queue: Frank Barchard \u003cfbarchard@chromium.org\u003e\n"
    },
    {
      "commit": "0d8494abc0983df20c82017944c00aa5e63ff3fc",
      "tree": "d5a72843897ac900cf80c624be53ac938521bc2d",
      "parents": [
        "e034c416610b0b5e36ba68fbb1fd4a33a0b7b738"
      ],
      "author": {
        "name": "Frank Barchard",
        "email": "fbarchard@google.com",
        "time": "Thu Apr 09 15:58:42 2026 -0700"
      },
      "committer": {
        "name": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Apr 15 18:20:26 2026 -0700"
      },
      "message": "Add Bazel build support\n\nChange-Id: Idf205997010a95f975dbd347e268e36c2072f797\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7745020\nReviewed-by: Wan-Teh Chang \u003cwtc@google.com\u003e\nReviewed-by: richard winterton \u003crrwinterton@gmail.com\u003e\nCommit-Queue: Frank Barchard \u003cfbarchard@chromium.org\u003e\n"
    },
    {
      "commit": "e034c416610b0b5e36ba68fbb1fd4a33a0b7b738",
      "tree": "20f385029488b16207b73b755adcee71a86c2528",
      "parents": [
        "cbc64c353c5345ec9583c52a650b026dbebca9e0"
      ],
      "author": {
        "name": "Frank Barchard",
        "email": "fbarchard@google.com",
        "time": "Tue Apr 14 15:54:11 2026 -0700"
      },
      "committer": {
        "name": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Apr 14 16:15:31 2026 -0700"
      },
      "message": "Port ARGBToUVMatrixRow from AVX2 to AVX512BW\n\nBenchmark on Icelake Xeon\nNow AVX512BW:\n[       OK ] LibYUVConvertTest.ARGBToNV12_Opt (1723 ms)\nWas AVX2:\n[       OK ] LibYUVConvertTest.ARGBToNV12_Opt (2144 ms)\n\n- Added `ARGBToUVMatrixRow_AVX512BW` implementation in `source/row_gcc.cc`.\n- Added corresponding `ARGBToUVRow_AVX512BW` and `ABGRToUVRow_AVX512BW` functions.\n- Added unaligned wrappers `ARGBToUVRow_Any_AVX512BW` and `ABGRToUVRow_Any_AVX512BW` in `source/row_any.cc`.\n- Updated `source/row_any.cc` to correctly size `vin` and `vout` buffers for AVX512BW width and adjusted the `ANY12MS` and `ANY12S` macros to handle `MASK\u003d63`.\n- Updated `include/libyuv/row.h` with the required AVX512BW headers and definitions, scoped appropriately.\n- Wired all callers of `ARGBToUVRow_AVX2` and related functions in `source/convert.cc` and `source/convert_from_argb.cc` to dynamically use the `AVX512BW` implementations if the CPU flag indicates AVX-512BW support.\n- Optimized AVX-512 code to generate the `-1` multiplier in a single instruction (`vpternlogd`) and reused it across word (`vpmaddwd`) dot products. Handled the resulting negation by replacing a subtraction with `vpaddw` offset adjustment.\n\nBug: 477295731\nR\u003ddalecurtis@chromium.org, rrwinterton@gmail.com\n\nChange-Id: Ida5fb27e59ae4c1c3824737f009b80549cd20a06\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7763257\nReviewed-by: richard winterton \u003crrwinterton@gmail.com\u003e\nReviewed-by: Dale Curtis \u003cdalecurtis@chromium.org\u003e\nCommit-Queue: Frank Barchard \u003cfbarchard@chromium.org\u003e\n"
    },
    {
      "commit": "cbc64c353c5345ec9583c52a650b026dbebca9e0",
      "tree": "455e3819ad94571d718cfc0420aff75ee57c08ac",
      "parents": [
        "59ca5d8074696e9ecc477339482c8314c3c64fe6"
      ],
      "author": {
        "name": "Frank Barchard",
        "email": "fbarchard@google.com",
        "time": "Tue Apr 14 11:22:50 2026 -0700"
      },
      "committer": {
        "name": "Frank Barchard",
        "email": "fbarchard@google.com",
        "time": "Tue Apr 14 11:42:59 2026 -0700"
      },
      "message": "Port ARGBToYRow_AVX2 usages to dynamically use ARGBToYRow_AVX512BW\n\nI have successfully ported the usage of ARGBToYRow_AVX2 to dynamically detect and utilize ARGBToYRow_AVX512BW when available.\n\n  Here\u0027s a summary of the changes:\n   1. Source Modifications: In both source/convert.cc and source/convert_from_argb.cc, I searched for all references where ARGBToYRow_AVX2 was\n      being conditionally used (which operates on 32 pixels).\n   2. AVX512BW Detection: Immediately following those blocks, I injected a new check for kCpuHasAVX512BW. If the CPU flag is present, the logic\n      now utilizes ARGBToYRow_Any_AVX512BW by default, falling back to the fully aligned ARGBToYRow_AVX512BW when the width is aligned to 64\n      bytes.\n   3. Profiling: After building and compiling the tests (doyuv3x), I validated the change using perfyuv3 ARGBToNV12_Opt | cat. The test\n      successfully executed and the performance profile indicated that ARGBToYRow_AVX512BW successfully executed (taking up ~18% of CPU cycles,\n      replacing the previous AVX2 specific instruction overhead for the Y row extraction).\n\n  The HAS_ARGBTOYROW_AVX512BW macro implementation now fully supports all AVX2 conversion paths to utilize AVX512BW when the system processor\n  flags allow it!\n\nR\u003drichard, rrwinterton@gmail.com\n\nChange-Id: Iad811e12d301f5621e6f6d039105420861ade43e\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7760779\nCommit-Queue: Frank Barchard \u003cfbarchard@chromium.org\u003e\nReviewed-by: richard winterton \u003crrwinterton@gmail.com\u003e\n"
    },
    {
      "commit": "59ca5d8074696e9ecc477339482c8314c3c64fe6",
      "tree": "807b8cffb62f7dd3264fa0ee7c875b3d1e28c703",
      "parents": [
        "893eacf9b4497cc07ff1febddcda02db2482016a"
      ],
      "author": {
        "name": "Frank Barchard",
        "email": "fbarchard@google.com",
        "time": "Mon Apr 13 17:47:24 2026 -0700"
      },
      "committer": {
        "name": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Apr 13 18:28:37 2026 -0700"
      },
      "message": "Fix parameter names and comments for ARGB/BGRA/RGBA/ABGR functions\n\nIn all functions that start with ARGB, BGRA, RGBA or ABGR in the include/libyuv/ headers, make sure the parameter variable name has the same 4 letters, but lower case, and the comment before the function should have the same matching name. Then make sure the implementation in source/ folder has the same variable names.\n\nChange-Id: Idadbbbb993156eea16e318719f4888cb3bed5f6a\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7760057\nReviewed-by: richard winterton \u003crrwinterton@gmail.com\u003e\nCommit-Queue: Frank Barchard \u003cfbarchard@chromium.org\u003e\n"
    },
    {
      "commit": "893eacf9b4497cc07ff1febddcda02db2482016a",
      "tree": "27ea7ad6c645866ed4478f6766c76090a8135f67",
      "parents": [
        "644251f252a84bf8ce91ff0aca86a9b16b069ab8"
      ],
      "author": {
        "name": "Frank Barchard",
        "email": "fbarchard@google.com",
        "time": "Mon Apr 13 16:07:49 2026 -0700"
      },
      "committer": {
        "name": "Frank Barchard",
        "email": "fbarchard@google.com",
        "time": "Mon Apr 13 17:26:07 2026 -0700"
      },
      "message": "ARGBToY for AVX512\n\n- add ARGBToYMatrixRow_AVX512BW\n- refactor SSE and AVX to use Matrix functions, making old functions\n  call the new ones.\n\nZen5 1280x720\nWas AVX2   LibYUVConvertTest.ARGBToI444_Opt (1125 ms)\nNow AVX512 LibYUVConvertTest.ARGBToI444_Opt (641 ms)\n\nDetails by Gemini:\n  1. Created 3 new Matrix functions:\n    Added ARGBToYMatrixRow_SSSE3, ARGBToYMatrixRow_AVX2, and\n    ARGBToYMatrixRow_AVX512BW to source/row_gcc.cc. These take the\n    const struct ArgbConstants* c parameter similarly to\n    ARGBToUV444MatrixRow_*. The x86 vector instructions dynamically\n    calculate the needed values using the properties of the constants\n    struct, including using vpmaddwd inside the AVX512 code to offset\n    the lack of a native vphaddw.\n\n  2. Replaced Old Functions with Wrappers:\n    Modified the existing implementations of ARGBToYRow_SSSE3,\n    ARGBToYJRow_SSSE3, ABGRToYRow_SSSE3, ABGRToYJRow_SSSE3,\n    RGBAToYRow_SSSE3, RGBAToYJRow_SSSE3, BGRAToYRow_SSSE3 (and their\n    _AVX2 equivalents) in source/row_gcc.cc to act as inline wrappers\n    calling the new ARGBToYMatrixRow_* functions, passing the right\n    matrix parameters (e.g. \u0026kArgbI601Constants, \u0026kArgbJPEGConstants,\n    \u0026kAbgrI601Constants).\n\n  3. Added row_any.cc Handlers:\n    Added ANY11MC definitions to source/row_any.cc to autogenerate\n    ARGBToYMatrixRow_Any_SSSE3, ARGBToYMatrixRow_Any_AVX2, and\n    ARGBToYMatrixRow_Any_AVX512BW which safely handles non-aligned\n    tails.\n\n  4. Updated include/libyuv/row.h:\n    Updated the headers with the proper void declarations for all newly\n    generated Matrix and Any_ variants. Also defined\n    HAS_ARGBTOYROW_AVX512BW in the CPU macros.\n\n  5. Tested the Implementations:\n    Compiled and tested on Linux x86, which resulted in all tests passing\n    cleanly. Also successfully completed all Windows 32-bit build checks\n    ensuring 32-bit regression prevention without issues.\n\nBug: 477295731\nChange-Id: I4f5eec9a961e24a9d760d0a1c0810fb5e29a0bd1\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7759494\nReviewed-by: Dale Curtis \u003cdalecurtis@chromium.org\u003e\nReviewed-by: richard winterton \u003crrwinterton@gmail.com\u003e\n"
    },
    {
      "commit": "644251f252a84bf8ce91ff0aca86a9b16b069ab8",
      "tree": "ba22b636166dc16532fcc9d5a9524117432d1782",
      "parents": [
        "5cfaa44d71e019363a715d55279abeeb14abd8f9"
      ],
      "author": {
        "name": "Frank Barchard",
        "email": "fbarchard@google.com",
        "time": "Mon Apr 13 11:50:50 2026 -0700"
      },
      "committer": {
        "name": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Apr 13 13:01:49 2026 -0700"
      },
      "message": "Fix buffer sizes in ANY macros and ANY11MC typo\n\nIncreases buffer sizes from 128 to 256 in ANY11, ANY11C, ANY11MC, ANY12,\nand ANY12M macros to safely accommodate AVX512BW processing which can\nwrite up to 256 bytes per operation.\n\nBug: libyuv:42280902, libyuv:502250231, 501882928\n\nChange-Id: Icfba1982dc5fb6545255464f7decb2baec7be90f\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7758060\nReviewed-by: James Zern \u003cjzern@google.com\u003e\nCommit-Queue: Frank Barchard \u003cfbarchard@chromium.org\u003e\n"
    },
    {
      "commit": "5cfaa44d71e019363a715d55279abeeb14abd8f9",
      "tree": "4bc8ef037b6209d952ba51076ff9a3a836e64ed6",
      "parents": [
        "5b5a2f6b922bacdcd6dd2861381d91cd168edea6"
      ],
      "author": {
        "name": "Frank Barchard",
        "email": "fbarchard@google.com",
        "time": "Thu Apr 09 18:06:22 2026 -0700"
      },
      "committer": {
        "name": "Frank Barchard",
        "email": "fbarchard@google.com",
        "time": "Fri Apr 10 12:33:43 2026 -0700"
      },
      "message": "Replace strtok_r with strchr in RISC-V CPU capability detection\n\nThis fixes a build failure on bare-metal toolchains like\nriscv64-unknown-elf-clang++ where strtok_r may be undeclared.\n\nBug: 477295731\nChange-Id: If4edd6c6d2e975ae34278f479700ef9b996c0a3e\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7744872\nReviewed-by: James Zern \u003cjzern@google.com\u003e\n"
    },
    {
      "commit": "5b5a2f6b922bacdcd6dd2861381d91cd168edea6",
      "tree": "190fe90cedbc3196d055510f2d6d82222af78bc0",
      "parents": [
        "4f4e1ac553d07dd27a925e46d5e4e77d8b1236d4"
      ],
      "author": {
        "name": "Frank Barchard",
        "email": "fbarchard@google.com",
        "time": "Thu Apr 09 16:30:09 2026 -0700"
      },
      "committer": {
        "name": "libyuv LUCI CQ",
        "email": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Apr 09 17:52:24 2026 -0700"
      },
      "message": "Fix \u0027ghost AVX512\u0027 detection on Alder Lake CPUs\n\nAdds a check for the AVX512F feature bit (cpu_info7[1] \u0026 0x00010000)\nbefore enabling AVX512 features. Alder Lake CPUs can report OS support\nfor YMM/ZMM but not actually support AVX512F, leading to incorrect\ncapability detection and crashes.\n\nBug: libyuv:500318522\nChange-Id: I84167ee3fcfc7a2572afba148bbb275bd3ccb1e5\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7746229\nCommit-Queue: Frank Barchard \u003cfbarchard@chromium.org\u003e\nReviewed-by: Dale Curtis \u003cdalecurtis@chromium.org\u003e\n"
    },
    {
      "commit": "4f4e1ac553d07dd27a925e46d5e4e77d8b1236d4",
      "tree": "637f5428881d8b3e3d44e8d0e41721e8416c8d11",
      "parents": [
        "e3ceea1e676419083c20f71ff0a4fdee05bd684b"
      ],
      "author": {
        "name": "Frank Barchard",
        "email": "fbarchard@google.com",
        "time": "Thu Apr 09 11:03:54 2026 -0700"
      },
      "committer": {
        "name": "libyuv LUCI CQ",
        "email": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Apr 09 11:51:13 2026 -0700"
      },
      "message": "Fix 2 failing golden tests\n- Add ifdef for LIBYUV_UNLIMITED_DATA\n\nFixed by Gemini just telling it how to build and run the test and to fix it.\n\nBug: libyuv:353545922\nChange-Id: I117a25b75b9616ee2ce6122aa163c2085ed4dc7d\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7742120\nReviewed-by: James Zern \u003cjzern@google.com\u003e\nCommit-Queue: Frank Barchard \u003cfbarchard@chromium.org\u003e\n"
    },
    {
      "commit": "e3ceea1e676419083c20f71ff0a4fdee05bd684b",
      "tree": "58bd5275bfdbaa51e6a7d92fd6683c8570dfd5d1",
      "parents": [
        "4c3d7d517ae80dbe5e222f7dcb11659f5b240f11"
      ],
      "author": {
        "name": "Sam Maier",
        "email": "smaier@chromium.org",
        "time": "Wed Apr 08 16:56:22 2026 -0400"
      },
      "committer": {
        "name": "libyuv LUCI CQ",
        "email": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Apr 09 08:53:56 2026 -0700"
      },
      "message": "Forward-declare ArgbConstants in convert.h to fix visibility error\n\nThe libyuv into Chromium roller is currently broken, see bug 500795092.\n\nThis change adds a forward declaration for struct ArgbConstants in\ninclude/libyuv/convert.h. This resolves a -Wvisibility error where the\nstruct was being declared within a function prototype, making it\ninvisible outside that scope and breaking automated binding generation\n(e.g., for crabbyavif).\n\nVerified building crabbyavif_libyuv_bindings locally and this patch\nfixed it.\n\nBug: 500795092\nChange-Id: Ie0126650ab346940f4610bd4d2e8a5b3ef9ce103\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7739974\nCommit-Queue: Dale Curtis \u003cdalecurtis@chromium.org\u003e\nReviewed-by: Frank Barchard \u003cfbarchard@chromium.org\u003e\nReviewed-by: Dale Curtis \u003cdalecurtis@chromium.org\u003e\n"
    },
    {
      "commit": "4c3d7d517ae80dbe5e222f7dcb11659f5b240f11",
      "tree": "23661464b33e1fcf3c0c2eacc12800419df4a838",
      "parents": [
        "7903a6c63210713bcdb5946d164054ba44a70237"
      ],
      "author": {
        "name": "Frank Barchard",
        "email": "fbarchard@google.com",
        "time": "Wed Apr 08 18:48:12 2026 -0700"
      },
      "committer": {
        "name": "libyuv LUCI CQ",
        "email": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Apr 08 19:25:41 2026 -0700"
      },
      "message": "ARGBToUV444 for AVX512\n\n1.27x faster on AMD Zen5 (turin)\n\nNow AVX512\nperf record ./libyuv_test \u0027--gunit_filter\u003d*ARGBToI444_Opt\u0027 --libyuv_width\u003d1280 --libyuv_height\u003d720 --libyuv_repeat\u003d10000 --libyuv_flags\u003d-1 --libyuv_cpu_info\u003d-1\n\n[       OK ] LibYUVConvertTest.ARGBToI444_Opt (1071 ms)\nOverhead  Symbol\n  53.49%  ARGBToYRow_AVX2\n  44.70%  ARGBToUV444Row_AVX512BW\n\nWas AVX2\n[       OK ] LibYUVConvertTest.ARGBToI444_Opt (1369 ms)\n  61.06%  ARGBToUV444Row_AVX2\n  37.67%  ARGBToYRow_AVX2\n\nBug:  libyuv:42280902\nChange-Id: I306fbac656d6f7834ce1559e86d01eb34931ec3c\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7738362\nCommit-Queue: Frank Barchard \u003cfbarchard@chromium.org\u003e\nReviewed-by: Dale Curtis \u003cdalecurtis@chromium.org\u003e\n"
    },
    {
      "commit": "7903a6c63210713bcdb5946d164054ba44a70237",
      "tree": "27b759ce818a6935564f182d46944fa1400ba2a6",
      "parents": [
        "1170363ce55fec2a256ce383479d8a6a3edadffe"
      ],
      "author": {
        "name": "Sam Maier",
        "email": "smaier@chromium.org",
        "time": "Wed Apr 08 14:17:58 2026 -0400"
      },
      "committer": {
        "name": "libyuv LUCI CQ",
        "email": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Apr 08 11:34:51 2026 -0700"
      },
      "message": "Fix deprecated usage of strtok\n\nThe latest Android NDK marks strtok as deprecated and suggests using\nstrtok_r instead.\n\nBug: 477295731\nChange-Id: I2b20a2ae0a9e19ec93e31669ec380802e6902090\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7739107\nCommit-Queue: Frank Barchard \u003cfbarchard@chromium.org\u003e\nReviewed-by: Wan-Teh Chang \u003cwtc@google.com\u003e\nReviewed-by: Frank Barchard \u003cfbarchard@chromium.org\u003e\n"
    },
    {
      "commit": "1170363ce55fec2a256ce383479d8a6a3edadffe",
      "tree": "04c31b0429932b03b54bd2ee054143be2d8e11e3",
      "parents": [
        "4183733af5a0ca90fe8cd361ca3345106eb6a882"
      ],
      "author": {
        "name": "Dale Curtis",
        "email": "dalecurtis@chromium.org",
        "time": "Thu Mar 19 23:39:57 2026 +0000"
      },
      "committer": {
        "name": "libyuv LUCI CQ",
        "email": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Mar 23 16:30:44 2026 -0700"
      },
      "message": "Add Gemini implementation for NEON32 RGB to YUV matrix operations\n\nThese are about 25% faster than the C versions.\n\nBug: libyuv:42280902\n\nChange-Id: I8b298670ee5f3ed5db35527fc41d6d9a51b020a1\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7573682\nReviewed-by: Frank Barchard \u003cfbarchard@chromium.org\u003e\nCommit-Queue: Dale Curtis \u003cdalecurtis@chromium.org\u003e\n"
    },
    {
      "commit": "4183733af5a0ca90fe8cd361ca3345106eb6a882",
      "tree": "e12a1668eaf423d216605670458bea85eb6c16af",
      "parents": [
        "b1cacfb38fa34ea6edc93c1aa0579fedfdefddc7"
      ],
      "author": {
        "name": "Frank Barchard",
        "email": "fbarchard@google.com",
        "time": "Wed Mar 18 16:31:08 2026 -0700"
      },
      "committer": {
        "name": "libyuv LUCI CQ",
        "email": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Mar 18 17:18:25 2026 -0700"
      },
      "message": "Rename MergeUVRow_ variable to MergeUVRow\n\nBug:  libyuv:42280902\nChange-Id: I9935bf958b901ddf84cf91b2097c8cd5d6efadde\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7683070\nCommit-Queue: Frank Barchard \u003cfbarchard@chromium.org\u003e\nReviewed-by: Dale Curtis \u003cdalecurtis@chromium.org\u003e\n"
    },
    {
      "commit": "b1cacfb38fa34ea6edc93c1aa0579fedfdefddc7",
      "tree": "4d1f568af4d786db710dfe3040528f5fa33be00b",
      "parents": [
        "f69a479f04628880917aad773faba32753811a6d"
      ],
      "author": {
        "name": "Dale Curtis",
        "email": "dalecurtis@chromium.org",
        "time": "Wed Mar 18 22:21:53 2026 +0000"
      },
      "committer": {
        "name": "libyuv LUCI CQ",
        "email": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Mar 18 16:27:07 2026 -0700"
      },
      "message": "Unify X86/X64 versions of ARGBToI4xxMatrix functions\n\nChange-Id: Iead13414414543e5f10ba9ba47a6ceaeb3113dee\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7562443\nReviewed-by: Frank Barchard \u003cfbarchard@chromium.org\u003e\nCommit-Queue: Dale Curtis \u003cdalecurtis@chromium.org\u003e\nReviewed-by: Wan-Teh Chang \u003cwtc@google.com\u003e\n"
    },
    {
      "commit": "f69a479f04628880917aad773faba32753811a6d",
      "tree": "5fd5eb14c93b2387b0b27639eeabf612c50efa01",
      "parents": [
        "2c21d57319965e9948189fe81a2686a427fc9e37"
      ],
      "author": {
        "name": "Dale Curtis",
        "email": "dalecurtis@chromium.org",
        "time": "Wed Mar 18 22:14:50 2026 +0000"
      },
      "committer": {
        "name": "libyuv LUCI CQ",
        "email": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Mar 18 16:26:59 2026 -0700"
      },
      "message": "Add ARGBToNV12Matrix implementation\n\nThis one reuses the SIMD implementations for MergeUVRow_ from the\nexisting ARGBToNV12 functions.\n\nBug: libyuv:42280902\nChange-Id: If0a4be133d657ed0262f29fdd568dac90b49636c\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7564317\nReviewed-by: Wan-Teh Chang \u003cwtc@google.com\u003e\nReviewed-by: Frank Barchard \u003cfbarchard@chromium.org\u003e\nCommit-Queue: Dale Curtis \u003cdalecurtis@chromium.org\u003e\n"
    },
    {
      "commit": "2c21d57319965e9948189fe81a2686a427fc9e37",
      "tree": "eb9883bf2df263a802e1af9b28965a1e5f1eed91",
      "parents": [
        "30809ff64a9ca5e45f86439c0d474c2d3eef3d05"
      ],
      "author": {
        "name": "Dale Curtis",
        "email": "dalecurtis@chromium.org",
        "time": "Thu Mar 05 23:37:07 2026 +0000"
      },
      "committer": {
        "name": "libyuv LUCI CQ",
        "email": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Mar 17 17:28:51 2026 -0700"
      },
      "message": "Add ABGR versions of the ArgbConstants structures\n\nThis allows for ABGR conversion using the same methods\n\nBug: libyuv:42280902\nChange-Id: I5566e3150b30573a2326a900ce31ab095f8935f9\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7564316\nReviewed-by: richard winterton \u003crrwinterton@gmail.com\u003e\nCommit-Queue: Dale Curtis \u003cdalecurtis@chromium.org\u003e\nReviewed-by: Wan-Teh Chang \u003cwtc@google.com\u003e\n"
    },
    {
      "commit": "30809ff64a9ca5e45f86439c0d474c2d3eef3d05",
      "tree": "26a27d40693002b2e881a602139fa2625207a784",
      "parents": [
        "6067afde563c3946eebd94f146b3824ab7a97a9c"
      ],
      "author": {
        "name": "Dale Curtis",
        "email": "dalecurtis@chromium.org",
        "time": "Tue Mar 03 23:52:03 2026 +0000"
      },
      "committer": {
        "name": "libyuv LUCI CQ",
        "email": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Mar 04 10:55:06 2026 -0800"
      },
      "message": "Add ARGBToI4xxMatrix variants\n\nThis was implemented by Gemini followed by manual review and some\ntweaking for style. The 601 and JPEG constants are fully verified\nagainst the existing non-matrix implementations. On x86 the C-only\nversions appear to be about 25% slower than the optimized ones.\n\nBug: libyuv:42280902\nChange-Id: Ia5b7cb499bad5c76faec53f36086ebb18f2b530f\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7512030\nReviewed-by: Frank Barchard \u003cfbarchard@chromium.org\u003e\nReviewed-by: Wan-Teh Chang \u003cwtc@google.com\u003e\nCommit-Queue: Dale Curtis \u003cdalecurtis@chromium.org\u003e\n"
    },
    {
      "commit": "6067afde563c3946eebd94f146b3824ab7a97a9c",
      "tree": "ecbecbc5fabc6bd2b7a896ff0f513f4a046cb6c8",
      "parents": [
        "917276084a49be726c90292ff0a6b0a3d571a6af"
      ],
      "author": {
        "name": "Victor Hugo Vianna Silva",
        "email": "victorvianna@google.com",
        "time": "Fri Feb 13 02:40:24 2026 +0000"
      },
      "committer": {
        "name": "libyuv LUCI CQ",
        "email": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Feb 12 23:42:06 2026 -0800"
      },
      "message": "Roll chromium_revision 30d4d9c779..2fec1883d8 (1554090:1584384)\n\nChange log: https://chromium.googlesource.com/chromium/src/+log/30d4d9c779..2fec1883d8\nFull diff: https://chromium.googlesource.com/chromium/src/+/30d4d9c779..2fec1883d8\n\nChanged dependencies\n* android_sdk_platform-tools_vesion: mjFmRj7k_XR9yj60pYbr9mG38FyEbU5oWdU56bZQ5cwC..qTD9QdBlBf3dyHsN1lJ0RH6AhHxR42Hmg2Ih-Vj4zIEC\n* fuchsia_vesion: version:30.20251204.1.1..version:31.20260204.7.1\n* gn_vesion: git_revision:0eb071f600702e6e235137ba133ee8834aeece83..git_revision:304bbef6c7e9a86630c12986b99c8654eb7fe648\n* siso_vesion: git_revision:038ddf6e901c8f82dfd917b91a4551e233a3e6ae..git_revision:9863d88c26094a24fb848f8994da81e005810c76\n* src/build: https://chromium.googlesource.com/chromium/src/build/+log/daa16e7b52..bc3e93b3c4\n* src/buildtools: https://chromium.googlesource.com/chromium/src/buildtools/+log/eca5f0685c..6a18683f55\n* src/buildtools/linux64: git_revision:0eb071f600702e6e235137ba133ee8834aeece83..git_revision:304bbef6c7e9a86630c12986b99c8654eb7fe648\n* src/buildtools/mac: git_revision:0eb071f600702e6e235137ba133ee8834aeece83..git_revision:304bbef6c7e9a86630c12986b99c8654eb7fe648\n* src/buildtools/win: git_revision:0eb071f600702e6e235137ba133ee8834aeece83..git_revision:304bbef6c7e9a86630c12986b99c8654eb7fe648\n* src/ios: https://chromium.googlesource.com/chromium/src/ios/+log/bf756663c3..5d7abd8337\n* src/testing: https://chromium.googlesource.com/chromium/src/testing/+log/e8bfcfdf9d..d274a4df83\n* src/third_party: https://chromium.googlesource.com/chromium/src/third_party/+log/4471edb07a..51ac942dd6\n* src/third_party/android_build_tools/aapt2/cipd: s6POXpUalcnuPehDsORiojCpgbNXT4LYq7DVUYgsfxEC..vUP1cs7krVsNHbUJpwSDR7rvWuYLGzINVa9xopPpt74C\n* src/third_party/android_sdk/public: mjFmRj7k_XR9yj60pYbr9mG38FyEbU5oWdU56bZQ5cwC..qTD9QdBlBf3dyHsN1lJ0RH6AhHxR42Hmg2Ih-Vj4zIEC\n* src/third_party/androidx/cipd: dUYDoYVH-NzyM8K7wLLtKL4FIBeid3P4p_gbwEOapJ4C..CL9NOUuKPO8ESaAQIKtBbN6MV0jndo4M-vT-Fjf3ZGoC\n* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/eda8d2eec9..5203599120\n* src/third_party/compiler-rt/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/compiler-rt.git/+log/03f50e54e9..996704b467\n* src/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/85116f1710..ccffb57777\n* src/third_party/harfbuzz-ng/src: https://chromium.googlesource.com/external/github.com/harfbuzz/harfbuzz.git/+log/7d936359a2..fa2908bf16\n* src/third_party/kotlin_stdlib/cipd: nrNlkfwnssJGD9SLlKJAWk1z2QnlYuVa8YUPNj4sUzEC..FfVJUc4q9S6JB4uqVGPJQ3anrc1Y_W0O-oGK_2MJA5gC\n* src/third_party/kotlinc/current: dzSoO7s4xA33tSKgOGuseaOQRuvYg3_3mtA0H89f4_wC..KZWh3uhuenRgsoGqNYgSo82FO3sMwZjvmuR9TBvanTcC\n* src/third_party/libc++/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/07572e7b16..7ab65651ae\n* src/third_party/libc++abi/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/83a8520807..8f11bb1d44\n* src/third_party/libjpeg_turbo: https://chromium.googlesource.com/chromium/deps/libjpeg_turbo.git/+log/6383cf609c..6bb85251a8\n* src/third_party/libunwind/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git/+log/88fc07ed14..17ccf7d110\n* src/third_party/llvm-build/Release+Asserts_vesion: Linux_x64/clang-llvmorg-22-init-14273-gea10026b-3.tar.xz,Linux_x64/llvmobjdump-llvmorg-22-init-14273-gea10026b-3.tar.xz,Mac/clang-llvmorg-22-init-14273-gea10026b-3.tar.xz,Mac/clang-mac-runtime-library-llvmorg-22-init-14273-gea10026b-3.tar.xz,Mac/llvmobjdump-llvmorg-22-init-14273-gea10026b-3.tar.xz,Mac_arm64/clang-llvmorg-22-init-14273-gea10026b-3.tar.xz,Mac_arm64/llvmobjdump-llvmorg-22-init-14273-gea10026b-3.tar.xz,Win/clang-llvmorg-22-init-14273-gea10026b-3.tar.xz,Win/clang-win-runtime-library-llvmorg-22-init-14273-gea10026b-3.tar.xz,Win/llvmobjdump-llvmorg-22-init-14273-gea10026b-3.tar.xz..Linux_x64/clang-llvmorg-23-init-3706-gfc648683-1.tar.xz,Linux_x64/clang-tidy-llvmorg-23-init-3706-gfc648683-1.tar.xz,Linux_x64/clangd-llvmorg-23-init-3706-gfc648683-1.tar.xz,Linux_x64/llvm-code-coverage-llvmorg-23-init-3706-gfc648683-1.tar.xz,Linux_x64/llvmobjdump-llvmorg-23-init-3706-gfc648683-1.tar.xz,Mac/clang-llvmorg-23-init-3706-gfc648683-1.tar.xz,Mac/clang-mac-runtime-library-llvmorg-23-init-3706-gfc648683-1.tar.xz,Mac/clang-tidy-llvmorg-23-init-3706-gfc648683-1.tar.xz,Mac/clangd-llvmorg-23-init-3706-gfc648683-1.tar.xz,Mac/llvm-code-coverage-llvmorg-23-init-3706-gfc648683-1.tar.xz,Mac/llvmobjdump-llvmorg-23-init-3706-gfc648683-1.tar.xz,Mac_arm64/clang-llvmorg-23-init-3706-gfc648683-1.tar.xz,Mac_arm64/clang-tidy-llvmorg-23-init-3706-gfc648683-1.tar.xz,Mac_arm64/clangd-llvmorg-23-init-3706-gfc648683-1.tar.xz,Mac_arm64/llvm-code-coverage-llvmorg-23-init-3706-gfc648683-1.tar.xz,Mac_arm64/llvmobjdump-llvmorg-23-init-3706-gfc648683-1.tar.xz,Win/clang-llvmorg-23-init-3706-gfc648683-1.tar.xz,Win/clang-tidy-llvmorg-23-init-3706-gfc648683-1.tar.xz,Win/clang-win-runtime-library-llvmorg-23-init-3706-gfc648683-1.tar.xz,Win/clangd-llvmorg-23-init-3706-gfc648683-1.tar.xz,Win/llvm-code-coverage-llvmorg-23-init-3706-gfc648683-1.tar.xz,Win/llvmobjdump-llvmorg-23-init-3706-gfc648683-1.tar.xz\n* src/third_party/llvm-libc/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libc.git/+log/3b327fec43..d38523b674\n* src/third_party/r8/cipd: sjuUu6_BDMGSci_jpKyt68J7gQ3sA59eJI7biFlTGXoC..MW7AMY0Q5SzgubYVtiVVg4LMjsFBcLKwKyc2dqcArAMC\n* src/third_party/r8/d8/cipd: a4fVqbIycCDqs1714SLRqxEdz6P-sH-z1QT_eeeF0PcC..MW7AMY0Q5SzgubYVtiVVg4LMjsFBcLKwKyc2dqcArAMC\n* src/third_party/re2/src: https://chromium.googlesource.com/external/github.com/google/re2.git/+log/e7aec59850..972a15cedd\n* src/third_party/siso/cipd: git_revision:038ddf6e901c8f82dfd917b91a4551e233a3e6ae..git_revision:9863d88c26094a24fb848f8994da81e005810c76\n* src/third_party/turbine/cipd: DV_E8eKAtXx3kTD4avzQC_CWVnH_yOQrf80YkYt77PAC..BMHNhxMhr7uGz1rh_Od_JE4kAdP9K5MXr6GN2R9tQkAC\n* src/tools: https://chromium.googlesource.com/chromium/src/tools/+log/39bc80757f..73a128cf73\nAdded dependency\n* src/third_party/android_deps/autorolled/cipd\nRemoved dependency\n* src/third_party/android_deps/cipd/libs/org_jetbrains_kotlinx_kotlinx_coroutines_guava\nDEPS diff: https://chromium.googlesource.com/chromium/src/+/30d4d9c779..2fec1883d8/DEPS\n\nClang version changed llvmorg-22-init-14273-gea10026b:llvmorg-23-init-3706-gfc648683\nDetails: https://chromium.googlesource.com/chromium/src/+/30d4d9c779..2fec1883d8/tools/clang/scripts/update.py\n\nBUG\u003dNone\n\nChange-Id: Idd5b72b8b5cd622d5bdaeffcacde9d25373d6b38\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7572311\nReviewed-by: Mirko Bonadei \u003cmbonadei@chromium.org\u003e\nCommit-Queue: Mirko Bonadei \u003cmbonadei@chromium.org\u003e\n"
    },
    {
      "commit": "917276084a49be726c90292ff0a6b0a3d571a6af",
      "tree": "644f48f30b639c5af19bb9847623320c03b619c4",
      "parents": [
        "f95782d01c13ce524dff7adbfadb8d78baf1e85b"
      ],
      "author": {
        "name": "Jordan",
        "email": "rop@google.com",
        "time": "Tue Jan 27 06:12:56 2026 +0000"
      },
      "committer": {
        "name": "libyuv LUCI CQ",
        "email": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Jan 28 00:04:45 2026 -0800"
      },
      "message": "Set Update Mechanism: Manual\n\nThis CL sets the Update Mechanism to Manual in README files.\n\nBug: 445311061\nChange-Id: I4df6c5815b85c04b047b39b4352ba43789702d26\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7512992\nReviewed-by: Mirko Bonadei \u003cmbonadei@chromium.org\u003e\nCommit-Queue: Mirko Bonadei \u003cmbonadei@chromium.org\u003e\nReviewed-by: Frank Barchard \u003cfbarchard@chromium.org\u003e\nOwners-Override: Jordan Brown \u003crop@google.com\u003e\n"
    },
    {
      "commit": "f95782d01c13ce524dff7adbfadb8d78baf1e85b",
      "tree": "839f2fcd2c7e0f0bcb20e6222eb189061df50fcf",
      "parents": [
        "022efdb0b771f7353741dbe360b8bef4e0a874eb"
      ],
      "author": {
        "name": "Jeremy Leconte",
        "email": "jleconte@google.com",
        "time": "Mon Jan 26 14:35:34 2026 +0100"
      },
      "committer": {
        "name": "libyuv LUCI CQ",
        "email": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Jan 26 23:22:22 2026 -0800"
      },
      "message": "Manual roll - update some package names\n\nBug: None\nChange-Id: I23a60ccd36f9cb5d335c7c073ccf894002468edd\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7510834\nCommit-Queue: Jeremy Leconte \u003cjleconte@google.com\u003e\nReviewed-by: Frank Barchard \u003cfbarchard@chromium.org\u003e\n"
    },
    {
      "commit": "022efdb0b771f7353741dbe360b8bef4e0a874eb",
      "tree": "96593b578c1a62c0706681479b7bec1de36a557a",
      "parents": [
        "821b9c5de1cf232f51c26e1eaad4689fc2317949"
      ],
      "author": {
        "name": "Valentin Haudiquet",
        "email": "valentin.haudiquet@canonical.com",
        "time": "Tue Dec 09 11:20:20 2025 +0100"
      },
      "committer": {
        "name": "libyuv LUCI CQ",
        "email": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Jan 06 11:16:24 2026 -0800"
      },
      "message": "RVV: Enable RVV on GCC\n\nGCC now supports vector segment load and store, which\nwas previously missing; and the reason why it was disabled.\n\nChange-Id: I923fd8a15476de8dcc2103bb8335d4fcc3ca96a9\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7241606\nReviewed-by: Frank Barchard \u003cfbarchard@chromium.org\u003e\nReviewed-by: Wan-Teh Chang \u003cwtc@google.com\u003e\nCommit-Queue: Wan-Teh Chang \u003cwtc@google.com\u003e\n"
    },
    {
      "commit": "821b9c5de1cf232f51c26e1eaad4689fc2317949",
      "tree": "984ea00c70c1a26dbe3eff407733f47dd2d79eb8",
      "parents": [
        "deeb764bb92b6305ee0cb5dae7a5940fdb457fa9"
      ],
      "author": {
        "name": "Nico Weber",
        "email": "thakis@chromium.org",
        "time": "Thu Dec 18 13:22:51 2025 -0500"
      },
      "committer": {
        "name": "libyuv LUCI CQ",
        "email": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Jan 05 10:28:19 2026 -0800"
      },
      "message": "Simplify libyuv build files now that neon is required on arm\n\nNo intended behavior change.\n\nBug: 469092869\nChange-Id: Iedaf1163bc0f8507174b571bad9a4a16be5e5777\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7276827\nReviewed-by: Frank Barchard \u003cfbarchard@chromium.org\u003e\nCommit-Queue: Mirko Bonadei \u003cmbonadei@chromium.org\u003e\nReviewed-by: Mirko Bonadei \u003cmbonadei@chromium.org\u003e\n"
    },
    {
      "commit": "deeb764bb92b6305ee0cb5dae7a5940fdb457fa9",
      "tree": "0a138d91d8633cbef2597ff964fb81e3c999136b",
      "parents": [
        "74ea9ed7c9da4fb051e2c27be3a6beaf9b5057d0"
      ],
      "author": {
        "name": "Victor Hugo Vianna Silva",
        "email": "victorvianna@google.com",
        "time": "Wed Dec 10 03:46:41 2025 +0000"
      },
      "committer": {
        "name": "libyuv LUCI CQ",
        "email": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Dec 10 10:45:00 2025 -0800"
      },
      "message": "Roll src/build/ 3c58005ad..c53d22a39 (15 commits)\n\nhttps://chromium.googlesource.com/chromium/src/build/+log/3c58005adf6e..c53d22a398b8\n\n$ git log 3c58005ad..c53d22a39 --date\u003dshort --no-merges --format\u003d\u0027%ad %ae %s\u0027\n2025-12-09 victorvianna [build] Remove gnu++2a special casing for gcc bots\n2025-12-09 ajgo Delayload userenv\n2025-12-09 anandrv [build] Enable Java location rewrite by default on Canary\n2025-12-08 smaier Javaless renderer: update to latest Android impl\n2025-12-08 inglorion build: Introduce cros_target_cpu_arch GN arg\n2025-12-08 drott Update visibility of FreeType component\n2025-12-08 drott Sync build configuration enable_freetype with PDF\n2025-12-07 msta Rerun modularize.py --os\u003dwindows\n2025-12-05 linyuh Reland (attempt #2): \"Make test APK the default browser app if it has APP_BROWSER category\"\n2025-12-05 machenbach [build] Enable building arm with coverage instrumentation\n2025-12-05 brunobraga [AutofillAi - M4] Add required java classes for c++ communication\n2025-12-04 zijiehe [fuchsia] --bp-compression-sort\u003dfunction in size-optimized\n2025-12-04 ajgo Delayload secur32, winhttp, winspool \u0026 wintrust\n2025-12-04 msta Remove extern_c from clang modules.\n2025-12-04 anandrv [base/android] Add location attribution to ThreadUtils methods\n\nCreated with:\n  roll-dep src/build\n\nChange-Id: Iced6f760cae459eaa6351e5d8238f8d25bb3980f\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7241672\nReviewed-by: Frank Barchard \u003cfbarchard@chromium.org\u003e\nCommit-Queue: Victor Vianna \u003cvictorvianna@google.com\u003e\n"
    },
    {
      "commit": "74ea9ed7c9da4fb051e2c27be3a6beaf9b5057d0",
      "tree": "b72a961159bfb1e216f68a191d6bf0e98dc45d57",
      "parents": [
        "4825d9b29eea4dac24607245db7ec7d4c41c1964"
      ],
      "author": {
        "name": "Victor Hugo Vianna Silva",
        "email": "victorvianna@google.com",
        "time": "Thu Dec 04 18:34:29 2025 +0000"
      },
      "committer": {
        "name": "libyuv LUCI CQ",
        "email": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Dec 04 11:11:16 2025 -0800"
      },
      "message": "Roll chromium_revision 68659bfa38..30d4d9c779 (1531610:1554090)\n\nChange log: https://chromium.googlesource.com/chromium/src/+log/68659bfa38..30d4d9c779\nFull diff: https://chromium.googlesource.com/chromium/src/+/68659bfa38..30d4d9c779\n\nChanged dependencies\n* fuchsia_vesion: version:29.20251016.3.1..version:30.20251204.1.1\n* gn_vesion: git_revision:07d3c6f4dc290fae5ca6152ebcb37d6815c411ab..git_revision:0eb071f600702e6e235137ba133ee8834aeece83\n* siso_vesion: git_revision:f24720f1320c0b85feea49cb5f1207be7555deee..git_revision:41351d34a647bb3f390000f021786db0a6ad2430\n* src/build: https://chromium.googlesource.com/chromium/src/build/+log/b2e55d8d32..3c58005adf\n* src/buildtools: https://chromium.googlesource.com/chromium/src/buildtools/+log/28a4e2e3dc..eca5f0685c\n* src/buildtools/linux64: git_revision:07d3c6f4dc290fae5ca6152ebcb37d6815c411ab..git_revision:0eb071f600702e6e235137ba133ee8834aeece83\n* src/buildtools/mac: git_revision:07d3c6f4dc290fae5ca6152ebcb37d6815c411ab..git_revision:0eb071f600702e6e235137ba133ee8834aeece83\n* src/buildtools/win: git_revision:07d3c6f4dc290fae5ca6152ebcb37d6815c411ab..git_revision:0eb071f600702e6e235137ba133ee8834aeece83\n* src/ios: https://chromium.googlesource.com/chromium/src/ios/+log/82e655421c..bf756663c3\n* src/testing: https://chromium.googlesource.com/chromium/src/testing/+log/4c3aba1a9e..e8bfcfdf9d\n* src/third_party: https://chromium.googlesource.com/chromium/src/third_party/+log/1920e63dfd..4471edb07a\n* src/third_party/android_build_tools/aapt2/cipd: XqcH9BN43Trcigbh3gSdKc-5OAI-r7MV7wIs5fRXxFMC..s6POXpUalcnuPehDsORiojCpgbNXT4LYq7DVUYgsfxEC\n* src/third_party/androidx/cipd: KoJF8n5Z68D_pjbJf-EUw4bnZ5FTSOFKGsfnzTWt6pwC..dUYDoYVH-NzyM8K7wLLtKL4FIBeid3P4p_gbwEOapJ4C\n* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/1c28f8a288..eda8d2eec9\n* src/third_party/compiler-rt/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/compiler-rt.git/+log/d7392a1ed4..03f50e54e9\n* src/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/ddb97c1c77..85116f1710\n* src/third_party/googletest/src: https://chromium.googlesource.com/external/github.com/google/googletest.git/+log/e17e37a115..4fe3307fb2\n* src/third_party/icu: https://chromium.googlesource.com/chromium/deps/icu.git/+log/ff35c4f9df..a86a32e67b\n* src/third_party/kotlin_stdlib/cipd: fb5owI7Lkc_2iMOvOSTFR5l6KH9Ufv9VQ2quZCyG3eQC..nrNlkfwnssJGD9SLlKJAWk1z2QnlYuVa8YUPNj4sUzEC\n* src/third_party/kotlinc/current: _goUeuVtOV_2DBIbshAqBuLckbAOCDbHx3UfMYwHK2cC..dzSoO7s4xA33tSKgOGuseaOQRuvYg3_3mtA0H89f4_wC\n* src/third_party/libc++/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/1af2c657e2..07572e7b16\n* src/third_party/libc++abi/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/8e720a3a3a..83a8520807\n* src/third_party/libjpeg_turbo: https://chromium.googlesource.com/chromium/deps/libjpeg_turbo.git/+log/e14cbfaa85..6383cf609c\n* src/third_party/libunwind/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git/+log/224761f783..88fc07ed14\n* src/third_party/llvm-build/Release+Asserts_vesion: Linux_x64/clang-llvmorg-22-init-8940-g4d4cb757-84.tar.xz,Linux_x64/llvmobjdump-llvmorg-22-init-8940-g4d4cb757-84.tar.xz,Mac/clang-llvmorg-22-init-8940-g4d4cb757-84.tar.xz,Mac/clang-mac-runtime-library-llvmorg-22-init-8940-g4d4cb757-84.tar.xz,Mac/llvmobjdump-llvmorg-22-init-8940-g4d4cb757-84.tar.xz,Mac_arm64/clang-llvmorg-22-init-8940-g4d4cb757-84.tar.xz,Mac_arm64/llvmobjdump-llvmorg-22-init-8940-g4d4cb757-84.tar.xz,Win/clang-llvmorg-22-init-8940-g4d4cb757-84.tar.xz,Win/clang-win-runtime-library-llvmorg-22-init-8940-g4d4cb757-84.tar.xz,Win/llvmobjdump-llvmorg-22-init-8940-g4d4cb757-84.tar.xz..Linux_x64/clang-llvmorg-22-init-14273-gea10026b-3.tar.xz,Linux_x64/clang-tidy-llvmorg-22-init-14273-gea10026b-3.tar.xz,Linux_x64/clangd-llvmorg-22-init-14273-gea10026b-3.tar.xz,Linux_x64/llvm-code-coverage-llvmorg-22-init-14273-gea10026b-3.tar.xz,Linux_x64/llvmobjdump-llvmorg-22-init-14273-gea10026b-3.tar.xz,Mac/clang-llvmorg-22-init-14273-gea10026b-3.tar.xz,Mac/clang-mac-runtime-library-llvmorg-22-init-14273-gea10026b-3.tar.xz,Mac/clang-tidy-llvmorg-22-init-14273-gea10026b-3.tar.xz,Mac/clangd-llvmorg-22-init-14273-gea10026b-3.tar.xz,Mac/llvm-code-coverage-llvmorg-22-init-14273-gea10026b-3.tar.xz,Mac/llvmobjdump-llvmorg-22-init-14273-gea10026b-3.tar.xz,Mac_arm64/clang-llvmorg-22-init-14273-gea10026b-3.tar.xz,Mac_arm64/clang-tidy-llvmorg-22-init-14273-gea10026b-3.tar.xz,Mac_arm64/clangd-llvmorg-22-init-14273-gea10026b-3.tar.xz,Mac_arm64/llvm-code-coverage-llvmorg-22-init-14273-gea10026b-3.tar.xz,Mac_arm64/llvmobjdump-llvmorg-22-init-14273-gea10026b-3.tar.xz,Win/clang-llvmorg-22-init-14273-gea10026b-3.tar.xz,Win/clang-tidy-llvmorg-22-init-14273-gea10026b-3.tar.xz,Win/clang-win-runtime-library-llvmorg-22-init-14273-gea10026b-3.tar.xz,Win/clangd-llvmorg-22-init-14273-gea10026b-3.tar.xz,Win/llvm-code-coverage-llvmorg-22-init-14273-gea10026b-3.tar.xz,Win/llvmobjdump-llvmorg-22-init-14273-gea10026b-3.tar.xz\n* src/third_party/llvm-libc/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libc.git/+log/b3af9aedd6..3b327fec43\n* src/third_party/nasm: https://chromium.googlesource.com/chromium/deps/nasm.git/+log/e2c93c3498..af5eeeb054\n* src/third_party/r8/cipd: AYeAI5FH_WyqBwnhCmq8W1k-pGRyIkxmRN7PbMErE7EC..sjuUu6_BDMGSci_jpKyt68J7gQ3sA59eJI7biFlTGXoC\n* src/third_party/r8/d8/cipd: 2aBDG942g42qUBPPInGETRHusdxru1U3anwJI_QX5wIC..a4fVqbIycCDqs1714SLRqxEdz6P-sH-z1QT_eeeF0PcC\n* src/third_party/re2/src: https://chromium.googlesource.com/external/github.com/google/re2.git/+log/61c4644171..e7aec59850\n* src/third_party/siso/cipd: git_revision:f24720f1320c0b85feea49cb5f1207be7555deee..git_revision:41351d34a647bb3f390000f021786db0a6ad2430\n* src/third_party/turbine/cipd: EHj3lVL72PrpZUDnsWnaS5rdJuF5o1QYrJ7CUhO3MIEC..DV_E8eKAtXx3kTD4avzQC_CWVnH_yOQrf80YkYt77PAC\n* src/tools: https://chromium.googlesource.com/chromium/src/tools/+log/6c975b3dc5..39bc80757f\nAdded dependency\n* src/third_party/android_deps/autorolled/cipd\nRemoved dependencies\n* src/third_party/android_deps/cipd/libs/com_android_support_support_annotations\n* src/third_party/android_deps/cipd/libs/org_jetbrains_kotlinx_atomicfu_jvm\nDEPS diff: https://chromium.googlesource.com/chromium/src/+/68659bfa38..30d4d9c779/DEPS\n\nClang version changed llvmorg-22-init-8940-g4d4cb757:llvmorg-22-init-14273-gea10026b\nDetails: https://chromium.googlesource.com/chromium/src/+/68659bfa38..30d4d9c779/tools/clang/scripts/update.py\n\nBUG\u003dNone\n\nChange-Id: Ie6138c32fa3fede6c5973193d6938e0eb9310fa0\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7228726\nCommit-Queue: Victor Vianna \u003cvictorvianna@google.com\u003e\nReviewed-by: Mirko Bonadei \u003cmbonadei@chromium.org\u003e\n"
    },
    {
      "commit": "4825d9b29eea4dac24607245db7ec7d4c41c1964",
      "tree": "4161ac9dece5c805f1babf4d9e66beace8562881",
      "parents": [
        "068c9f2f643ce59eeb3001d61374bf44a2abd825"
      ],
      "author": {
        "name": "Victor Hugo Vianna Silva",
        "email": "victorvianna@google.com",
        "time": "Thu Nov 20 16:43:29 2025 +0000"
      },
      "committer": {
        "name": "libyuv LUCI CQ",
        "email": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Nov 24 07:54:14 2025 -0800"
      },
      "message": "Use default xcode version in libyuv\n\nFollowing crrev.com/c/7171485, libyuv should be able to rely on\nthe default xcode version of the bots.\n\nBug: 461757070\nChange-Id: Iecc34bb0b0476b61be1d9dfd51904396913c85f4\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7177782\nCommit-Queue: Victor Vianna \u003cvictorvianna@google.com\u003e\nReviewed-by: Mirko Bonadei \u003cmbonadei@chromium.org\u003e\n"
    },
    {
      "commit": "068c9f2f643ce59eeb3001d61374bf44a2abd825",
      "tree": "ec98944d49a19ca15d03c71956275db49b1acf23",
      "parents": [
        "900da61d3cadba86ec593c8226de736b5e6b2c43"
      ],
      "author": {
        "name": "Victor Hugo Vianna Silva",
        "email": "victorvianna@google.com",
        "time": "Sat Nov 08 16:44:24 2025 +0000"
      },
      "committer": {
        "name": "libyuv LUCI CQ",
        "email": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Nov 12 17:34:13 2025 -0800"
      },
      "message": "Upgrade linux bots from ubuntu 22.04 to 24.04\n\nBug: 459541007\nChange-Id: I0ff7ecb4400f82ef7cff93ec98fe16b47ded062b\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7132084\nReviewed-by: Frank Barchard \u003cfbarchard@chromium.org\u003e\nCommit-Queue: Victor Vianna \u003cvictorvianna@google.com\u003e\n"
    },
    {
      "commit": "900da61d3cadba86ec593c8226de736b5e6b2c43",
      "tree": "ec335a4eac46f448764df12aa65e89ec54fdcc2a",
      "parents": [
        "500f45652c459cfccd20f83f297eb66cb7b015cb"
      ],
      "author": {
        "name": "Frank Barchard",
        "email": "fbarchard@google.com",
        "time": "Mon Oct 27 14:15:48 2025 -0700"
      },
      "committer": {
        "name": "libyuv LUCI CQ",
        "email": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 27 14:34:55 2025 -0700"
      },
      "message": "Experimental SVE FMMLA detect\n\nDetect if arm cpu support FMMLA instruction\n\nBug: None\nChange-Id: Ia7b83bf2735ddeeb8a85da44177e708c34e4b1fb\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7085486\nReviewed-by: Wan-Teh Chang \u003cwtc@google.com\u003e\nCommit-Queue: Frank Barchard \u003cfbarchard@chromium.org\u003e\n"
    },
    {
      "commit": "500f45652c459cfccd20f83f297eb66cb7b015cb",
      "tree": "ae6a7f0c330d619290cadff7d641c318cdd7ae3a",
      "parents": [
        "e49099d8e1f171e4130ae58dd7f6cd1aef2de5a8"
      ],
      "author": {
        "name": "Frank Barchard",
        "email": "fbarchard@google.com",
        "time": "Mon Oct 20 11:17:24 2025 -0700"
      },
      "committer": {
        "name": "libyuv LUCI CQ",
        "email": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 20 11:54:25 2025 -0700"
      },
      "message": "For for ARM32 build when built with __SOFTFP__\n\nplanar_test.cc was\n  Error: selected processor does not support `vmrs r3,fpscr\u0027 in ARM mode\n  Error: selected processor does not support `vmsr fpscr,r3\u0027 in ARM mode\n\nBug: None\nChange-Id: I2ee0e7191c372277901c94e29d9ed91bbac71af2\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7063737\nReviewed-by: Justin Green \u003cgreenjustin@google.com\u003e\nCommit-Queue: Frank Barchard \u003cfbarchard@chromium.org\u003e\n"
    },
    {
      "commit": "e49099d8e1f171e4130ae58dd7f6cd1aef2de5a8",
      "tree": "a3eb4588d827709a6d23fbe64a41c6dc5cba1217",
      "parents": [
        "df79165ad246fd2c8419cd813d9961f16d7d6016"
      ],
      "author": {
        "name": "Victor Hugo Vianna Silva",
        "email": "victorvianna@google.com",
        "time": "Fri Oct 17 21:04:29 2025 +0100"
      },
      "committer": {
        "name": "libyuv LUCI CQ",
        "email": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Oct 17 15:42:29 2025 -0700"
      },
      "message": "Roll chromium_revision 89484fe328..68659bfa38 (1529283:1531610)\n\nChange log: https://chromium.googlesource.com/chromium/src/+log/89484fe328..68659bfa38\nFull diff: https://chromium.googlesource.com/chromium/src/+/89484fe328..68659bfa38\n\nChanged dependencies\n* fuchsia_vesion: version:29.20251011.3.1..version:29.20251016.3.1\n* src/build: https://chromium.googlesource.com/chromium/src/build/+log/02d98ae43e..b2e55d8d32\n* src/buildtools: https://chromium.googlesource.com/chromium/src/buildtools/+log/0e7d35148b..28a4e2e3dc\n* src/ios: https://chromium.googlesource.com/chromium/src/ios/+log/248952acfb..82e655421c\n* src/testing: https://chromium.googlesource.com/chromium/src/testing/+log/29a6541860..4c3aba1a9e\n* src/third_party: https://chromium.googlesource.com/chromium/src/third_party/+log/c78db06f7e..1920e63dfd\n* src/third_party/androidx/cipd: IzOBm-ZK03wC45h1IWpc5nhDwLfGGYIk9Exj0WajNEUC..KoJF8n5Z68D_pjbJf-EUw4bnZ5FTSOFKGsfnzTWt6pwC\n* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/2f71f97f0b..1c28f8a288\n* src/third_party/compiler-rt/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/compiler-rt.git/+log/3a23fdd905..d7392a1ed4\n* src/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/f39ee3c673..ddb97c1c77\n* src/third_party/googletest/src: https://chromium.googlesource.com/external/github.com/google/googletest.git/+log/7917641ff9..e17e37a115\n* src/third_party/kotlin_stdlib/cipd: Brp4brSLZO-9mkjc6_BeH6NofBOrxpLJcyM__jhN9UYC..fb5owI7Lkc_2iMOvOSTFR5l6KH9Ufv9VQ2quZCyG3eQC\n* src/third_party/libc++/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/dc1441a0c2..1af2c657e2\n* src/third_party/libunwind/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git/+log/da8737e079..224761f783\n* src/third_party/llvm-build/Release+Asserts_vesion: Linux_x64/clang-llvmorg-22-init-8940-g4d4cb757-84.tar.xz,Linux_x64/llvmobjdump-llvmorg-22-init-8940-g4d4cb757-84.tar.xz,Mac/clang-llvmorg-22-init-8940-g4d4cb757-84.tar.xz,Mac/clang-mac-runtime-library-llvmorg-22-init-8940-g4d4cb757-84.tar.xz,Mac/llvmobjdump-llvmorg-22-init-8940-g4d4cb757-84.tar.xz,Mac_arm64/clang-llvmorg-22-init-8940-g4d4cb757-84.tar.xz,Mac_arm64/llvmobjdump-llvmorg-22-init-8940-g4d4cb757-84.tar.xz,Win/clang-llvmorg-22-init-8940-g4d4cb757-84.tar.xz,Win/clang-win-runtime-library-llvmorg-22-init-8940-g4d4cb757-84.tar.xz,Win/llvmobjdump-llvmorg-22-init-8940-g4d4cb757-84.tar.xz..Linux_x64/clang-llvmorg-22-init-8940-g4d4cb757-84.tar.xz,Linux_x64/clang-tidy-llvmorg-22-init-8940-g4d4cb757-84.tar.xz,Linux_x64/clangd-llvmorg-22-init-8940-g4d4cb757-84.tar.xz,Linux_x64/llvm-code-coverage-llvmorg-22-init-8940-g4d4cb757-84.tar.xz,Linux_x64/llvmobjdump-llvmorg-22-init-8940-g4d4cb757-84.tar.xz,Mac/clang-llvmorg-22-init-8940-g4d4cb757-84.tar.xz,Mac/clang-mac-runtime-library-llvmorg-22-init-8940-g4d4cb757-84.tar.xz,Mac/clang-tidy-llvmorg-22-init-8940-g4d4cb757-84.tar.xz,Mac/clangd-llvmorg-22-init-8940-g4d4cb757-84.tar.xz,Mac/llvm-code-coverage-llvmorg-22-init-8940-g4d4cb757-84.tar.xz,Mac/llvmobjdump-llvmorg-22-init-8940-g4d4cb757-84.tar.xz,Mac_arm64/clang-llvmorg-22-init-8940-g4d4cb757-84.tar.xz,Mac_arm64/clang-tidy-llvmorg-22-init-8940-g4d4cb757-84.tar.xz,Mac_arm64/clangd-llvmorg-22-init-8940-g4d4cb757-84.tar.xz,Mac_arm64/llvm-code-coverage-llvmorg-22-init-8940-g4d4cb757-84.tar.xz,Mac_arm64/llvmobjdump-llvmorg-22-init-8940-g4d4cb757-84.tar.xz,Win/clang-llvmorg-22-init-8940-g4d4cb757-84.tar.xz,Win/clang-tidy-llvmorg-22-init-8940-g4d4cb757-84.tar.xz,Win/clang-win-runtime-library-llvmorg-22-init-8940-g4d4cb757-84.tar.xz,Win/clangd-llvmorg-22-init-8940-g4d4cb757-84.tar.xz,Win/llvm-code-coverage-llvmorg-22-init-8940-g4d4cb757-84.tar.xz,Win/llvmobjdump-llvmorg-22-init-8940-g4d4cb757-84.tar.xz\n* src/third_party/llvm-libc/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libc.git/+log/8ab123717d..b3af9aedd6\n* src/tools: https://chromium.googlesource.com/chromium/src/tools/+log/c7b77bb56a..6c975b3dc5\nAdded dependency\n* src/third_party/android_deps/autorolled/cipd\nDEPS diff: https://chromium.googlesource.com/chromium/src/+/89484fe328..68659bfa38/DEPS\n\nNo update to Clang.\n\nBUG\u003dNone\n\nChange-Id: I7559855b7094ad822ec9e9a2d97a3c233132866f\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7054948\nReviewed-by: Frank Barchard \u003cfbarchard@chromium.org\u003e\nCommit-Queue: Victor Vianna \u003cvictorvianna@google.com\u003e\nCommit-Queue: Frank Barchard \u003cfbarchard@chromium.org\u003e\n"
    },
    {
      "commit": "df79165ad246fd2c8419cd813d9961f16d7d6016",
      "tree": "4692c9381eca5cb128cc645c43bf26d3db980e3a",
      "parents": [
        "e237e8d7fb5d39d8666e29ae868177878c156c3e"
      ],
      "author": {
        "name": "Victor Hugo Vianna Silva",
        "email": "victorvianna@google.com",
        "time": "Fri Oct 17 19:31:46 2025 +0100"
      },
      "committer": {
        "name": "libyuv LUCI CQ",
        "email": "libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Oct 17 11:55:00 2025 -0700"
      },
      "message": "Roll chromium_revision 9dbf00e283..89484fe328 (1465343:1529283)\n\nThe goal is to roll crrev.com/c/7005224. This roll required replacing\nuse of src/tools/clang/scripts/update.py with explicit GCS dependencies,\nin order to fetch llvm-otool for Mac.\n\n[1] https://source.chromium.org/chromium/chromium/src/+/main:third_party/libyuv/DEPS;l\u003d1566-1572;drc\u003d738a53ce271acc8cde81798bbdd22dca2fde81a3\n[2] https://source.chromium.org/chromium/chromium/src/+/main:DEPS;l\u003d856-1017;drc\u003da478ffb982d78f41d22a7daa80771d836bca043a\n\nChange log: https://chromium.googlesource.com/chromium/src/+log/9dbf00e283..89484fe328\nFull diff: https://chromium.googlesource.com/chromium/src/+/9dbf00e283..89484fe328\n\nChanged dependencies\n* android_sdk_platform-tools_vesion: mjFmRj7k_XR9yj60pYbr9mG38FyEbU5oWdU56bZQ5cwC..qTD9QdBlBf3dyHsN1lJ0RH6AhHxR42Hmg2Ih-Vj4zIEC\n* fuchsia_vesion: version:28.20250522.3.1..version:29.20251011.3.1\n* gn_vesion: git_revision:ebc8f16ca7b0d36a3e532ee90896f9eb48e5423b..git_revision:07d3c6f4dc290fae5ca6152ebcb37d6815c411ab\n* reclient_vesion: re_client_version:0.178.0.5ee9d3e8-gomaip..re_client_version:0.185.0.db415f21-gomaip\n* siso_vesion: git_revision:15568691576f74b11a3c73c85a3c8dd5efb72f05..git_revision:f24720f1320c0b85feea49cb5f1207be7555deee\n* src/build: https://chromium.googlesource.com/chromium/src/build/+log/7907108fc6..02d98ae43e\n* src/buildtools: https://chromium.googlesource.com/chromium/src/buildtools/+log/813bee86ee..0e7d35148b\n* src/buildtools/linux64: git_revision:ebc8f16ca7b0d36a3e532ee90896f9eb48e5423b..git_revision:07d3c6f4dc290fae5ca6152ebcb37d6815c411ab\n* src/buildtools/mac: git_revision:ebc8f16ca7b0d36a3e532ee90896f9eb48e5423b..git_revision:07d3c6f4dc290fae5ca6152ebcb37d6815c411ab\n* src/buildtools/reclient: re_client_version:0.178.0.5ee9d3e8-gomaip..re_client_version:0.185.0.db415f21-gomaip\n* src/buildtools/win: git_revision:ebc8f16ca7b0d36a3e532ee90896f9eb48e5423b..git_revision:07d3c6f4dc290fae5ca6152ebcb37d6815c411ab\n* src/ios: https://chromium.googlesource.com/chromium/src/ios/+log/c61efe1d6d..248952acfb\n* src/testing: https://chromium.googlesource.com/chromium/src/testing/+log/739fbc1a64..29a6541860\n* src/third_party: https://chromium.googlesource.com/chromium/src/third_party/+log/a0168b392b..c78db06f7e\n* src/third_party/android_build_tools/aapt2/cipd: _lNsOL_GGlXLOIMGtrbMOqNd7TQHabaP1q8SlvUpFbMC..XqcH9BN43Trcigbh3gSdKc-5OAI-r7MV7wIs5fRXxFMC\n* src/third_party/android_deps/cipd/libs/com_android_support_support_annotations: version:2@28.0.0.cr1..version:2@28.0.0.cr2\n* src/third_party/android_deps/cipd/libs/com_android_tools_common: version:2@30.2.0-beta01.cr1..version:2@30.2.0-beta01.cr2\n* src/third_party/android_deps/cipd/libs/com_android_tools_layoutlib_layoutlib_api: version:2@30.2.0-beta01.cr1..version:2@30.2.0-beta01.cr2\n* src/third_party/android_deps/cipd/libs/com_android_tools_sdk_common: version:2@30.2.0-beta01.cr1..version:2@30.2.0-beta01.cr2\n* src/third_party/android_deps/cipd/libs/com_google_android_apps_common_testing_accessibility_framework_accessibility_test_framework: version:2@4.0.0.cr1..version:2@4.0.0.cr2\n* src/third_party/android_deps/cipd/libs/com_googlecode_java_diff_utils_diffutils: version:2@1.3.0.cr1..version:2@1.3.0.cr2\n* src/third_party/android_deps/cipd/libs/com_squareup_javapoet: version:2@1.13.0.cr1..version:2@1.13.0.cr2\n* src/third_party/android_deps/cipd/libs/net_bytebuddy_byte_buddy: version:2@1.14.12.cr1..version:2@1.17.6.cr2\n* src/third_party/android_deps/cipd/libs/net_bytebuddy_byte_buddy_agent: version:2@1.14.12.cr1..version:2@1.17.6.cr2\n* src/third_party/android_deps/cipd/libs/org_ccil_cowan_tagsoup_tagsoup: version:2@1.2.1.cr1..version:2@1.2.1.cr2\n* src/third_party/android_deps/cipd/libs/org_checkerframework_checker_compat_qual: version:2@2.5.5.cr1..version:2@2.5.5.cr2\n* src/third_party/android_deps/cipd/libs/org_jetbrains_kotlin_kotlin_android_extensions_runtime: version:2@1.9.22.cr1..version:2@1.9.22.cr2\n* src/third_party/android_deps/cipd/libs/org_jetbrains_kotlin_kotlin_parcelize_runtime: version:2@1.9.22.cr1..version:2@1.9.22.cr2\n* src/third_party/android_deps/cipd/libs/org_jetbrains_kotlinx_atomicfu_jvm: version:2@0.23.2.cr1..version:2@0.23.2.cr2\n* src/third_party/android_deps/cipd/libs/org_jetbrains_kotlinx_kotlinx_coroutines_guava: version:2@1.8.1.cr1..version:2@1.8.1.cr2\n* src/third_party/android_deps/cipd/libs/org_jsoup_jsoup: version:2@1.15.1.cr1..version:2@1.15.1.cr2\n* src/third_party/android_deps/cipd/libs/org_mockito_mockito_android: version:2@5.11.0.cr1..version:2@5.19.0.cr2\n* src/third_party/android_deps/cipd/libs/org_mockito_mockito_core: version:2@5.11.0.cr1..version:2@5.19.0.cr2\n* src/third_party/android_deps/cipd/libs/org_mockito_mockito_subclass: version:2@5.11.0.cr1..version:2@5.19.0.cr2\n* src/third_party/android_deps/cipd/libs/org_objenesis_objenesis: version:2@3.3.cr1..version:2@3.3.cr2\n* src/third_party/android_sdk/public: mjFmRj7k_XR9yj60pYbr9mG38FyEbU5oWdU56bZQ5cwC..qTD9QdBlBf3dyHsN1lJ0RH6AhHxR42Hmg2Ih-Vj4zIEC\n* src/third_party/androidx/cipd: IKju-kxPcx53mOt9VCPN7dmPmZeWguJU1JS6WmN67kQC..IzOBm-ZK03wC45h1IWpc5nhDwLfGGYIk9Exj0WajNEUC\n* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/938fc9953b..2f71f97f0b\n* src/third_party/clang-format/script: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/clang/tools/clang-format.git/+log/37f6e68a10..c2725e0622\n* src/third_party/compiler-rt/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/compiler-rt.git/+log/9c6d38aa28..3a23fdd905\n* src/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/e0ece52cfb..f39ee3c673\n* src/third_party/googletest/src: https://chromium.googlesource.com/external/github.com/google/googletest.git/+log/09ffd00153..7917641ff9\n* src/third_party/harfbuzz-ng/src: https://chromium.googlesource.com/external/github.com/harfbuzz/harfbuzz.git/+log/9f83bbbe64..7d936359a2\n* src/third_party/icu: https://chromium.googlesource.com/chromium/deps/icu.git/+log/b929596bae..ff35c4f9df\n* src/third_party/kotlin_stdlib/cipd: GUpKElqF0PYGB-SP4D5w6p_MuMYQSBrRkGqFGjPhsIYC..Brp4brSLZO-9mkjc6_BeH6NofBOrxpLJcyM__jhN9UYC\n* src/third_party/kotlinc/current: XmaM7JA4hB75AuMdzCegF-XYzXtoHKOA1anrWqAJL3QC.._goUeuVtOV_2DBIbshAqBuLckbAOCDbHx3UfMYwHK2cC\n* src/third_party/libc++/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/a01c02c9d4..dc1441a0c2\n* src/third_party/libc++abi/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/9810fb23f6..8e720a3a3a\n* src/third_party/libunwind/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git/+log/8575f4ae4f..da8737e079\n* src/third_party/libunwindstack: https://chromium.googlesource.com/chromium/src/third_party/libunwindstack.git/+log/0d758dd57f..0928ad0d25\n* src/third_party/llvm-libc/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libc.git/+log/9c3ae3120f..8ab123717d\n* src/third_party/lss: https://chromium.googlesource.com/linux-syscall-support.git/+log/ed31caa60f..29164a80da\n* src/third_party/nasm: https://chromium.googlesource.com/chromium/deps/nasm.git/+log/9f916e90e6..e2c93c3498\n* src/third_party/r8/cipd: QhYGRVpYYKZmt3f_Zb2HoJ9LIBEnWaeeLXRNei47Z30C..AYeAI5FH_WyqBwnhCmq8W1k-pGRyIkxmRN7PbMErE7EC\n* src/third_party/r8/d8/cipd: QhYGRVpYYKZmt3f_Zb2HoJ9LIBEnWaeeLXRNei47Z30C..2aBDG942g42qUBPPInGETRHusdxru1U3anwJI_QX5wIC\n* src/third_party/re2/src: https://chromium.googlesource.com/external/github.com/google/re2.git/+log/c84a140c93..61c4644171\n* src/third_party/robolectric/cipd: G3VkWqTv1YWDvC6zCrL34iQREzrzdBmSL4GMboAIiAEC..dr-aJxRAPYDTBJXnjfht-bdxyywD6BP1lrcjZZPnRG0C\n* src/third_party/siso/cipd: git_revision:15568691576f74b11a3c73c85a3c8dd5efb72f05..git_revision:f24720f1320c0b85feea49cb5f1207be7555deee\n* src/third_party/turbine/cipd: VGtOG2ivl1SJR7Lai5FQddIu15mWCYDnp47QtozMQeoC..EHj3lVL72PrpZUDnsWnaS5rdJuF5o1QYrJ7CUhO3MIEC\n* src/tools: https://chromium.googlesource.com/chromium/src/tools/+log/ae54c8a35f..c7b77bb56a\nAdded dependency\n* src/third_party/android_deps/autorolled/cipd\nRemoved dependencies\n* src/third_party/android_deps/cipd/libs/com_google_android_datatransport_transport_api\n* src/third_party/android_deps/cipd/libs/com_google_android_datatransport_transport_backend_cct\n* src/third_party/android_deps/cipd/libs/com_google_android_datatransport_transport_runtime\n* src/third_party/android_deps/cipd/libs/com_google_android_gms_play_services_auth\n* src/third_party/android_deps/cipd/libs/com_google_android_gms_play_services_auth_api_phone\n* src/third_party/android_deps/cipd/libs/com_google_android_gms_play_services_auth_base\n* src/third_party/android_deps/cipd/libs/com_google_android_gms_play_services_auth_blockstore\n* src/third_party/android_deps/cipd/libs/com_google_android_gms_play_services_base\n* src/third_party/android_deps/cipd/libs/com_google_android_gms_play_services_basement\n* src/third_party/android_deps/cipd/libs/com_google_android_gms_play_services_cast\n* src/third_party/android_deps/cipd/libs/com_google_android_gms_play_services_cast_framework\n* src/third_party/android_deps/cipd/libs/com_google_android_gms_play_services_cloud_messaging\n* src/third_party/android_deps/cipd/libs/com_google_android_gms_play_services_fido\n* src/third_party/android_deps/cipd/libs/com_google_android_gms_play_services_flags\n* src/third_party/android_deps/cipd/libs/com_google_android_gms_play_services_identity_credentials\n* src/third_party/android_deps/cipd/libs/com_google_android_gms_play_services_instantapps\n* src/third_party/android_deps/cipd/libs/com_google_android_gms_play_services_location\n* src/third_party/android_deps/cipd/libs/com_google_android_gms_play_services_stats\n* src/third_party/android_deps/cipd/libs/com_google_android_gms_play_services_tasks\n* src/third_party/android_deps/cipd/libs/com_google_android_libraries_identity_googleid_googleid\n* src/third_party/android_deps/cipd/libs/com_google_android_material_material\n* src/third_party/android_deps/cipd/libs/com_google_android_play_core_common\n* src/third_party/android_deps/cipd/libs/com_google_ar_impress\n* src/third_party/android_deps/cipd/libs/com_google_auto_value_auto_value_annotations\n* src/third_party/android_deps/cipd/libs/com_google_code_gson_gson\n* src/third_party/android_deps/cipd/libs/com_google_dagger_dagger\n* src/third_party/android_deps/cipd/libs/com_google_errorprone_error_prone_annotations\n* src/third_party/android_deps/cipd/libs/com_google_firebase_firebase_annotations\n* src/third_party/android_deps/cipd/libs/com_google_firebase_firebase_common\n* src/third_party/android_deps/cipd/libs/com_google_firebase_firebase_common_ktx\n* src/third_party/android_deps/cipd/libs/com_google_firebase_firebase_components\n* src/third_party/android_deps/cipd/libs/com_google_firebase_firebase_datatransport\n* src/third_party/android_deps/cipd/libs/com_google_firebase_firebase_encoders_proto\n* src/third_party/android_deps/cipd/libs/com_google_firebase_firebase_installations\n* src/third_party/android_deps/cipd/libs/com_google_firebase_firebase_messaging\n* src/third_party/android_deps/cipd/libs/com_google_guava_failureaccess\n* src/third_party/android_deps/cipd/libs/com_google_guava_guava\n* src/third_party/android_deps/cipd/libs/com_google_guava_guava_android\n* src/third_party/android_deps/cipd/libs/com_google_protobuf_protobuf_javalite\n* src/third_party/android_deps/cipd/libs/com_google_testparameterinjector_test_parameter_injector\n* src/third_party/android_deps/cipd/libs/com_squareup_moshi_moshi\n* src/third_party/android_deps/cipd/libs/com_squareup_moshi_moshi_adapters\n* src/third_party/android_deps/cipd/libs/com_squareup_okio_okio_jvm\n* src/third_party/android_deps/cipd/libs/com_squareup_wire_wire_runtime_jvm\n* src/third_party/android_deps/cipd/libs/jakarta_inject_jakarta_inject_api\n* src/third_party/android_deps/cipd/libs/org_bouncycastle_bcprov_jdk18on\n* src/third_party/android_deps/cipd/libs/org_checkerframework_checker_qual\n* src/third_party/android_deps/cipd/libs/org_checkerframework_checker_util\n* src/third_party/android_deps/cipd/libs/org_codehaus_mojo_animal_sniffer_annotations\n* src/third_party/android_deps/cipd/libs/org_jetbrains_kotlinx_kotlinx_coroutines_android\n* src/third_party/android_deps/cipd/libs/org_jetbrains_kotlinx_kotlinx_coroutines_core_jvm\n* src/third_party/android_deps/cipd/libs/org_jetbrains_kotlinx_kotlinx_coroutines_play_services\n* src/third_party/android_deps/cipd/libs/org_jetbrains_kotlinx_kotlinx_coroutines_test_jvm\n* src/third_party/android_deps/cipd/libs/org_jetbrains_kotlinx_kotlinx_serialization_core_jvm\n* src/third_party/android_deps/cipd/libs/org_jspecify_jspecify\n* src/third_party/android_deps/cipd/libs/org_ow2_asm_asm\n* src/third_party/android_deps/cipd/libs/org_ow2_asm_asm_analysis\n* src/third_party/android_deps/cipd/libs/org_ow2_asm_asm_commons\n* src/third_party/android_deps/cipd/libs/org_ow2_asm_asm_tree\n* src/third_party/android_deps/cipd/libs/org_ow2_asm_asm_util\n* src/third_party/android_deps/cipd/libs/org_robolectric_annotations\n* src/third_party/android_deps/cipd/libs/org_robolectric_junit\n* src/third_party/android_deps/cipd/libs/org_robolectric_nativeruntime\n* src/third_party/android_deps/cipd/libs/org_robolectric_nativeruntime_dist_compat\n* src/third_party/android_deps/cipd/libs/org_robolectric_pluginapi\n* src/third_party/android_deps/cipd/libs/org_robolectric_plugins_maven_dependency_resolver\n* src/third_party/android_deps/cipd/libs/org_robolectric_resources\n* src/third_party/android_deps/cipd/libs/org_robolectric_robolectric\n* src/third_party/android_deps/cipd/libs/org_robolectric_sandbox\n* src/third_party/android_deps/cipd/libs/org_robolectric_shadowapi\n* src/third_party/android_deps/cipd/libs/org_robolectric_shadows_framework\n* src/third_party/android_deps/cipd/libs/org_robolectric_utils\n* src/third_party/android_deps/cipd/libs/org_robolectric_utils_reflector\n* src/third_party/android_deps/cipd/libs/org_yaml_snakeyaml\nDEPS diff: https://chromium.googlesource.com/chromium/src/+/9dbf00e283..89484fe328/DEPS\n\nClang version changed llvmorg-21-init-11777-gfd3fecfc:llvmorg-22-init-8940-g4d4cb757\nDetails: https://chromium.googlesource.com/chromium/src/+/9dbf00e283..89484fe328/tools/clang/scripts/update.py\n\nBug: chromium:448679376\nChange-Id: Ifcce903fe16d3be45b86187140e0146cb7a9cd51\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7036460\nReviewed-by: Mirko Bonadei \u003cmbonadei@chromium.org\u003e\nReviewed-by: Frank Barchard \u003cfbarchard@chromium.org\u003e\nCommit-Queue: Victor Vianna \u003cvictorvianna@google.com\u003e\n"
    },
    {
      "commit": "e237e8d7fb5d39d8666e29ae868177878c156c3e",
      "tree": "5cb7c74daefd2665b0b7ea3bc8313728bc631387",
      "parents": [
        "738a53ce271acc8cde81798bbdd22dca2fde81a3"
      ],
      "author": {
        "name": "Mark Zhuang",
        "email": "mark.zhuang@spacemit.com",
        "time": "Tue Sep 30 09:41:30 2025 +0800"
      },
      "committer": {
        "name": "Frank Barchard",
        "email": "fbarchard@chromium.org",
        "time": "Fri Oct 17 11:44:14 2025 -0700"
      },
      "message": "RVV: Enable some function for intrinsic \u003e\u003d v1.0\n\nAccording to README of rvv-intrinsic-doc,\nClang 19 and GCC 14 supports the v1.0 version.\nBut __riscv_v_intrinsic is 12000 on Clang 19,\nso need Clang \u003e\u003d 20 to test this patch.\nI test it with Clang 21.\n\nChange-Id: I0e75efcdab3e7bc0ce1acd19eca3568b47c84cbf\nReviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/6995438\nReviewed-by: Justin Green \u003cgreenjustin@google.com\u003e\nReviewed-by: Frank Barchard \u003cfbarchard@chromium.org\u003e\n"
    }
  ],
  "next": "738a53ce271acc8cde81798bbdd22dca2fde81a3"
}
