)]}'
{
  "commit": "88d0b7025f18371b44a899dc8a24f596f1fd53d9",
  "tree": "8f412174484c6a9aad1aa9582adee449df3ea141",
  "parents": [
    "84f950b4793b26b916db8853791f3475b826fdc7"
  ],
  "author": {
    "name": "Frank Barchard",
    "email": "fbarchard@google.com",
    "time": "Mon Oct 05 22:29:21 2026 -0700"
  },
  "committer": {
    "name": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Mon Oct 05 22:29:21 2026 -0700"
  },
  "message": "Use libyuv::RGB24ToRAW in fxcodec::ReverseRGB\n\nBenchmarks\nNative Performance (2048x200 RGB24, Coral NPU RVV 2048 px):\nCPU                          Before      libyuv   Speedup\n---------------------------------------------------------\nAMD Zen 4 (AVX512VBMI)     240.8 us     29.7 us     8.10x\nAMD Zen 5 (AVX512VBMI)     171.5 us     21.7 us     7.91x\nAMD Zen 2 (AVX2)           377.1 us     67.4 us     5.60x\nAMD Zen 3 (AVX2)           284.1 us     52.5 us     5.41x\nARM Cortex-A53 (NEON)     3613.3 us    774.2 us     4.67x\nIntel Skylake-X (AVX512)   432.6 us     95.8 us     4.52x\nIntel Emerald Rapids       265.2 us     66.8 us     3.97x\nIntel Ice Lake (AVX512)    307.2 us     78.0 us     3.94x\nIntel Haswell (AVX2)       419.9 us    106.5 us     3.94x\nIntel Granite Rapids       189.8 us     52.1 us     3.64x\nIntel Sapphire Rapids      204.1 us     60.4 us     3.38x\nARM Neoverse-N1 (NEON)      90.2 us     61.5 us     1.47x\nNVIDIA Grace (SVE2)         39.5 us     39.0 us     1.01x\nARM Neoverse-V2 (SVE2)      31.4 us     33.6 us     0.93x\nGoogle Coral NPU (RVV)     30736 cyc    1664 cyc   18.47x\n\nWebAssembly Performance (2048x200 RGB24, V8 d8, SIMD128):\nCPU                          Before      libyuv   Speedup\n---------------------------------------------------------\nARM Neoverse-V2            293.1 us     42.1 us     6.96x\nNVIDIA Grace               283.6 us     41.3 us     6.86x\nARM Neoverse-N1            438.2 us     85.2 us     5.15x\nAMD Zen 2                  403.5 us     79.1 us     5.10x\nAMD Zen 3                  334.2 us     66.7 us     5.01x\nAMD Zen 4                  293.1 us     61.7 us     4.75x\nIntel Ice Lake             387.9 us     87.6 us     4.43x\nIntel Skylake-X            495.1 us    115.2 us     4.30x\nAMD Zen 5                  172.2 us     45.2 us     3.81x\nIntel Emerald Rapids       311.8 us     84.6 us     3.68x\nIntel Sapphire Rapids      246.6 us     72.9 us     3.38x\nIntel Granite Rapids       199.9 us     63.1 us     3.17x\nIntel Haswell              470.4 us    157.7 us     2.98x\nARM Cortex-A53            5512.9 us   2753.3 us     2.00x\n\nAdd a pdf_use_libyuv GN build argument (enabled by default) that defines\nPDF_USE_LIBYUV and links //third_party/libyuv into core/fxcodec. When\nPDF_USE_LIBYUV is enabled, fxcodec::ReverseRGB() delegates 24-bpp\nRGB-to-BGR conversion to libyuv::RGB24ToRAW() instead of the scalar\nloop.\n\nWhen pdf_use_libyuv is set to false, fxcodec::ReverseRGB() falls back to\nthe existing C++ implementation.\n\nChange-Id: I450490a81d74c7da5bbbe646b74b812f734a4226\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/159396\nReviewed-by: Lei Zhang \u003cthestig@chromium.org\u003e\nCommit-Queue: Lei Zhang \u003cthestig@chromium.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "13ba5d1c1ea73e43b21685cd0e644ef3e1f4eda7",
      "old_mode": 33188,
      "old_path": ".gn",
      "new_id": "33179129c2d1bd1120507ff4518ad07345fcbd1a",
      "new_mode": 33188,
      "new_path": ".gn"
    },
    {
      "type": "modify",
      "old_id": "6c29783ee96d5c5ce5f6d1a3118f93bf6e550e8e",
      "old_mode": 33188,
      "old_path": "BUILD.gn",
      "new_id": "5c6d2060a83b720da5b6f0e1afb4383d4aaa0485",
      "new_mode": 33188,
      "new_path": "BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "3f9f0cdb9b16d039d75d185cc7d69fc1bb46505f",
      "old_mode": 33188,
      "old_path": "DEPS",
      "new_id": "5dffa8d05350e4c378d8d57e7b92f7c63c4f2321",
      "new_mode": 33188,
      "new_path": "DEPS"
    },
    {
      "type": "modify",
      "old_id": "3870f6da5448d06a870e26f2f4cd28fb9e7a6d4f",
      "old_mode": 33188,
      "old_path": "core/fxcodec/BUILD.gn",
      "new_id": "c48a8daa2bb64c594efe322552eab2d023fbe49a",
      "new_mode": 33188,
      "new_path": "core/fxcodec/BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "b19b06b0dbd51e4e1a870937671f065e8d1572ef",
      "old_mode": 33188,
      "old_path": "core/fxcodec/DEPS",
      "new_id": "143f6899cc6f643e37dd5e6ed3e2e646e199e20a",
      "new_mode": 33188,
      "new_path": "core/fxcodec/DEPS"
    },
    {
      "type": "modify",
      "old_id": "7a526c9a483bd1b746cd576494a68e775079ac59",
      "old_mode": 33188,
      "old_path": "core/fxcodec/fx_codec.cpp",
      "new_id": "3eef9272a7ba0fe1382fa0d71006e526a125b298",
      "new_mode": 33188,
      "new_path": "core/fxcodec/fx_codec.cpp"
    },
    {
      "type": "modify",
      "old_id": "7549afa01e9b3eaf0180988b8d33e45a3911b84d",
      "old_mode": 33188,
      "old_path": "pdfium.gni",
      "new_id": "4d001c2da97f88562adfaa6da6648eda6c9ad716",
      "new_mode": 33188,
      "new_path": "pdfium.gni"
    },
    {
      "type": "modify",
      "old_id": "cb24885dc6e9748e8b29faedb319800ec5060be7",
      "old_mode": 33188,
      "old_path": "third_party/BUILD.gn",
      "new_id": "98bd9d8d7b8e85ba99150eb4d64ccbcdce02ffdd",
      "new_mode": 33188,
      "new_path": "third_party/BUILD.gn"
    }
  ]
}
