)]}'
{
  "log": [
    {
      "commit": "80760028a5004df7c6b4f54dd0cf9a62e39ff192",
      "tree": "c2083bc7d22c0754edac68465e4dcb8b7daba58a",
      "parents": [
        "873ecbe67c8583e9eb8d39b30a1a7a213ebcd833"
      ],
      "author": {
        "name": "BenzhengZhang",
        "email": "140143892+BenzhengZhang@users.noreply.github.com",
        "time": "Tue Sep 01 09:02:36 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 01 09:02:36 2026"
      },
      "message": "decoder: zero-initialise CWelsDecoder reordering state in constructor (#3996)\n\nCo-authored-by: benzzhan \u003cbenzzhan@cisco.com\u003e"
    },
    {
      "commit": "873ecbe67c8583e9eb8d39b30a1a7a213ebcd833",
      "tree": "fb7b4e1c1d6a6990a07b5b239576899d5d3c75bf",
      "parents": [
        "960414d6fdff1b0d4b791cbaa8a42bc370666627"
      ],
      "author": {
        "name": "BenzhengZhang",
        "email": "140143892+BenzhengZhang@users.noreply.github.com",
        "time": "Tue Sep 01 06:13:46 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 01 06:13:46 2026"
      },
      "message": "decoder: restrict IncreasePicBuff ownership reset to new slots only (#3995)\n\nCo-authored-by: benzzhan \u003cbenzzhan@cisco.com\u003e"
    },
    {
      "commit": "960414d6fdff1b0d4b791cbaa8a42bc370666627",
      "tree": "9e10719056cdfdb97e2db13bf675e3234e98a4af",
      "parents": [
        "562ffca1b6d694f5aa21ace9abfc8a12f554f2f4"
      ],
      "author": {
        "name": "BenzhengZhang",
        "email": "140143892+BenzhengZhang@users.noreply.github.com",
        "time": "Tue Sep 01 03:24:23 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 01 03:24:23 2026"
      },
      "message": "decoder: snapshot per-thread pPreviousDecodedPictureInDpb before finish signal (#3994)\n\nCo-authored-by: benzzhan \u003cbenzzhan@cisco.com\u003e"
    },
    {
      "commit": "562ffca1b6d694f5aa21ace9abfc8a12f554f2f4",
      "tree": "6b646a9cf2894b64a7183f786a94dee6f242d06d",
      "parents": [
        "2b2f96108c73efc887a5c91a07e23ecacfc3e0f9"
      ],
      "author": {
        "name": "BenzhengZhang",
        "email": "140143892+BenzhengZhang@users.noreply.github.com",
        "time": "Mon Aug 31 08:54:55 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 31 08:54:55 2026"
      },
      "message": "decoder: guard sRawData wrap against queued slice overwrite (#3993)\n\nCo-authored-by: benzzhan \u003cbenzzhan@cisco.com\u003e"
    },
    {
      "commit": "2b2f96108c73efc887a5c91a07e23ecacfc3e0f9",
      "tree": "919ca6cb654545464f1723d38d3e8d8c276deeb0",
      "parents": [
        "728ec6a6573a45a6d267aceeb8a4fc7204f0f0ca"
      ],
      "author": {
        "name": "BenzhengZhang",
        "email": "140143892+BenzhengZhang@users.noreply.github.com",
        "time": "Mon Aug 31 03:26:30 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 31 03:26:30 2026"
      },
      "message": "decoder: retarget parse-only pNalPos after saved-buffer growth (#3992)\n\nIn parse-only mode, queued AU entries cache sVclNal.pNalPos pointers into sSavedData. ExpandBsBuffer reallocated and freed sSavedData but did not retarget cached pNalPos, allowing DecodeFrameConstruction to memcpy from freed memory (UAF read).\n\nRetarget pNalPos to the new saved-buffer base using preserved offsets before freeing the old allocation. Add a focused decoder UT that validates pNalPos is rebased correctly after ExpandBsBuffer in parse-only mode.\n\nCo-authored-by: benzzhan \u003cbenzzhan@cisco.com\u003e"
    },
    {
      "commit": "728ec6a6573a45a6d267aceeb8a4fc7204f0f0ca",
      "tree": "a51b062bea1a4a28070801d1b4340dc0b212458d",
      "parents": [
        "3137f7f18fd3a166ed7f282cb917cd9a83ecc6ee"
      ],
      "author": {
        "name": "Philipp Hancke",
        "email": "philipp.hancke@googlemail.com",
        "time": "Mon Aug 31 03:15:47 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 31 03:15:47 2026"
      },
      "message": "encoder: use memset instead of mmx for fixed-size buffer zero-ing (#3987)\n\nThe sizes are compile-time constants, so memset expands to two inline SSE\nstores instead of a call to WelsSetMemZeroSize8_mmx, which zeroes 8 bytes\nper loop iteration and ends in emms, serialising against the SSE code\naround it.\n\nBit-exact, no changes to the bitstream. Increases performance by 1.5-2%"
    },
    {
      "commit": "3137f7f18fd3a166ed7f282cb917cd9a83ecc6ee",
      "tree": "b6e6a2acc86dca8a95acc67f0367efb18e8edd43",
      "parents": [
        "24d74dbf7b0f2d22b40fd7d0d92ebb35d189deb4"
      ],
      "author": {
        "name": "BenzhengZhang",
        "email": "140143892+BenzhengZhang@users.noreply.github.com",
        "time": "Fri Aug 28 08:09:30 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 28 08:09:30 2026"
      },
      "message": "decoder: validate EC copy source/destination compatibility (#3990)\n\nCo-authored-by: benzzhan \u003cbenzzhan@cisco.com\u003e"
    },
    {
      "commit": "24d74dbf7b0f2d22b40fd7d0d92ebb35d189deb4",
      "tree": "6f0767967185879f1600eb71977c5d777cdcf137",
      "parents": [
        "d7ec45ab1fe4590473968004e38fe76257b7c4c4"
      ],
      "author": {
        "name": "w1boost1889M",
        "email": "63419938+w1boost1889M@users.noreply.github.com",
        "time": "Fri Aug 28 08:05:04 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 28 08:05:04 2026"
      },
      "message": "Fix final loadbalancing argument parsing (#3974)"
    },
    {
      "commit": "d7ec45ab1fe4590473968004e38fe76257b7c4c4",
      "tree": "c3a0600fd2a2039f8a05b3579269b1e878a3f41a",
      "parents": [
        "1bc7c2240d580ebd621a7575a6e68c4947691b7c"
      ],
      "author": {
        "name": "BenzhengZhang",
        "email": "140143892+BenzhengZhang@users.noreply.github.com",
        "time": "Fri Aug 28 07:50:55 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 28 07:50:55 2026"
      },
      "message": "decoder: validate GMP BufferLength32 lengths before rewrite (#3971)\n\n* decoder: validate GMP BufferLength32 lengths before rewrite\n\n* decoder: harden GMP_BufferLength32 rewrite bounds\n\n---------\n\nCo-authored-by: benzzhan \u003cbenzzhan@cisco.com\u003e"
    },
    {
      "commit": "1bc7c2240d580ebd621a7575a6e68c4947691b7c",
      "tree": "280802ed7b89f47d6564810df478acaf1bde67c3",
      "parents": [
        "9547f96ea5c47f4d465d97b07264b997ecc4b4b6"
      ],
      "author": {
        "name": "BenzhengZhang",
        "email": "140143892+BenzhengZhang@users.noreply.github.com",
        "time": "Fri Aug 28 07:10:10 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 28 07:10:10 2026"
      },
      "message": "decoder: harden bitstream tail reads without OOB (#3989)\n\nCo-authored-by: benzzhan \u003cbenzzhan@cisco.com\u003e"
    },
    {
      "commit": "9547f96ea5c47f4d465d97b07264b997ecc4b4b6",
      "tree": "0c7cd6faa82b7cfaa625348295b9b113476b9cc5",
      "parents": [
        "5c41f3797988902f1db625e06817397641642a8c"
      ],
      "author": {
        "name": "Erik Språng",
        "email": "sprang@google.com",
        "time": "Thu Aug 27 09:14:52 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 27 09:14:52 2026"
      },
      "message": "rate control: prevent signed integer overflow in target bit allocation (#3982)\n\nWhen encoding IDR frames with high bitrates (large iBitsPerFrame) and\nnon-zero iIdrNum, RcDecideTargetBits calculates:\n  pWelsSvcRc-\u003eiBitsPerFrame * pEncCtx-\u003epSvcParam-\u003eiIdrBitrateRatio / 100\n\nSince both iBitsPerFrame and iIdrBitrateRatio (default 400) are 32-bit\nsigned integers, their product can overflow INT32_MAX (e.g. 7064092 * 400 \u003d\n2825636800 \u003e 2147483647), leading to undefined behavior and UBSan crashes.\nThis was introduced in #3514 when configurable IDR bitrate ratios were added.\n\nSimilarly, intermediate multiplications when calculating iQStep\n(iTargetBits * INT_MULTIPLY) and kiGopBits in ratectl.cpp can overflow 32-bit\nintegers with high bitrates.\n\nThis change widens intermediate calculations to 64-bit integers and adds a\nunit test (HighBitrateIdrTargetBits) covering high bitrate IDR encoding.\n\nCo-authored-by: Erik Språng \u003csprang@webrtc.org\u003e"
    },
    {
      "commit": "5c41f3797988902f1db625e06817397641642a8c",
      "tree": "a34765a7090a5a7e8e9e5e38714702576699af33",
      "parents": [
        "772e63d37344dc9159aec9ce1b97708c48b154dd"
      ],
      "author": {
        "name": "BenzhengZhang",
        "email": "140143892+BenzhengZhang@users.noreply.github.com",
        "time": "Thu Aug 27 02:39:17 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 27 02:39:17 2026"
      },
      "message": "test/decoder: fix sanitizer findings in UT and timeout math (#3986)\n\nCo-authored-by: benzzhan \u003cbenzzhan@cisco.com\u003e"
    },
    {
      "commit": "772e63d37344dc9159aec9ce1b97708c48b154dd",
      "tree": "96f5c28b79ae7df2d98830060c979dd863ab863c",
      "parents": [
        "4cbd8a1cb6e1a1825b481c4156bcf57535181c09"
      ],
      "author": {
        "name": "BenzhengZhang",
        "email": "140143892+BenzhengZhang@users.noreply.github.com",
        "time": "Tue Aug 25 08:42:10 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 25 08:42:10 2026"
      },
      "message": "security: fix ExpandBsBuffer queued retarget UAF (SPARK-838034) (#3985)\n\nCo-authored-by: benzzhan \u003cbenzzhan@cisco.com\u003e"
    },
    {
      "commit": "4cbd8a1cb6e1a1825b481c4156bcf57535181c09",
      "tree": "1cdb109ccd8df3d41a6784d42402e7d00af27e7d",
      "parents": [
        "3738dd5c7dd4f459c1018f5ee37238ba1ab9085f"
      ],
      "author": {
        "name": "BenzhengZhang",
        "email": "140143892+BenzhengZhang@users.noreply.github.com",
        "time": "Tue Aug 25 07:58:05 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 25 07:58:05 2026"
      },
      "message": "decoder: re-derive stale thread picture before reference write (#3984)\n\nIn multi-threaded decode a resolution change tears down and reallocates the decoded-picture buffer, but the previous thread context\u0027s cached picture pointer (pLastThreadCtx-\u003epDec) was left dangling. DecodeCurrentAccessUnit trusted the stale non-NULL pointer and wrote reference metadata through it, causing a heap use-after-free write.\n\nAlways re-derive the cached picture from the current picture buffer via the bounds-checked PrefetchLastPicForThread(), and NULL-check before use with a safe fallback that copies reference state without marking a freed picture as reference.\n\nCo-authored-by: benzzhan \u003cbenzzhan@cisco.com\u003e"
    },
    {
      "commit": "3738dd5c7dd4f459c1018f5ee37238ba1ab9085f",
      "tree": "c4828de857842c7763a5edba39e143d09be99d26",
      "parents": [
        "8ed656019aab87820ffb876353db9e6a598b4d00"
      ],
      "author": {
        "name": "BenzhengZhang",
        "email": "140143892+BenzhengZhang@users.noreply.github.com",
        "time": "Tue Aug 25 03:23:51 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 25 03:23:51 2026"
      },
      "message": "decoder: prevent threaded decoder deadlock on lost references (#3983)\n\n* decoder: prevent threaded decoder deadlock on lost references\n\n* test: add threaded decoder hang regression\n\nDecode three frames of Static.264 with two threads (first frame truncated) to ensure DecodeFrameNoDelay cannot deadlock on lost references.\n\n---------\n\nCo-authored-by: benzzhan \u003cbenzzhan@cisco.com\u003e"
    },
    {
      "commit": "8ed656019aab87820ffb876353db9e6a598b4d00",
      "tree": "c08aade725aa93c17ca08b727d149433d7540ad3",
      "parents": [
        "98bc7cbbeb7381c94ef8f9a5d158327abbf6b8b9"
      ],
      "author": {
        "name": "BenzhengZhang",
        "email": "140143892+BenzhengZhang@users.noreply.github.com",
        "time": "Mon Aug 24 08:33:19 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 24 08:33:19 2026"
      },
      "message": "processing: validate chroma strides before downsample (#3977)\n\n* processing: validate chroma strides before downsample\n\n* test: accept additional ParseOnly_General hash variant\n\n* processing: scope chroma stride checks to downsample UV paths\n\n* test: restore ParseOnly hash table to original DO NOT CHANGE values\n\n* processing: avoid arm64 SAD symbol dependency in complexity analysis\n\n* Revert \"processing: avoid arm64 SAD symbol dependency in complexity analysis\"\n\nThis reverts commit 888695e986ea45ed22d0adb401e1800629bd7858.\n\n* processing: fix arm64 link by avoiding encoder SAD symbol\n\n* processing: add local arm64 16x16 SAD and remove encoder symbol dependency\n\n* processing: reject partial chroma planes in downsample validation\n\n---------\n\nCo-authored-by: benzzhan \u003cbenzzhan@cisco.com\u003e"
    },
    {
      "commit": "98bc7cbbeb7381c94ef8f9a5d158327abbf6b8b9",
      "tree": "fcdaf5dcd60bc1ac9c4fa3f07bff8eebfb7a9b35",
      "parents": [
        "24ff6e94c5cea94bb99ff4f30b5967b0422c4bee"
      ],
      "author": {
        "name": "BenzhengZhang",
        "email": "140143892+BenzhengZhang@users.noreply.github.com",
        "time": "Mon Aug 10 10:01:46 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 10 10:01:46 2026"
      },
      "message": "decoder: guard GetColocatedMb null colocPic before wait (#3978)\n\nCo-authored-by: benzzhan \u003cbenzzhan@cisco.com\u003e"
    },
    {
      "commit": "24ff6e94c5cea94bb99ff4f30b5967b0422c4bee",
      "tree": "7448aa797255acf52286f365397ce51e48b08b0e",
      "parents": [
        "35325f4040c2be0f86246c4a8923f7fc04c1a998"
      ],
      "author": {
        "name": "BenzhengZhang",
        "email": "140143892+BenzhengZhang@users.noreply.github.com",
        "time": "Mon Aug 10 08:13:59 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 10 08:13:59 2026"
      },
      "message": "encoder: validate geometry area using widened arithmetic (#3976)\n\n* encoder: validate geometry area using widened arithmetic\n\n* test: skip PartialInitLeakUAF when thread limits are not enforceable\n\n---------\n\nCo-authored-by: benzzhan \u003cbenzzhan@cisco.com\u003e"
    },
    {
      "commit": "35325f4040c2be0f86246c4a8923f7fc04c1a998",
      "tree": "da388ec5339fa1f31088a574cf4822c1e1f8942b",
      "parents": [
        "4a2615fac570c6ca1ed4f157b9fdab9466edfd80"
      ],
      "author": {
        "name": "Philipp Hancke",
        "email": "philipp.hancke@googlemail.com",
        "time": "Wed Aug 05 07:08:30 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 05 07:08:30 2026"
      },
      "message": "psnr: add coverage for the per-frame PSNR API (#3975)\n\nactually adding test coverage for\n  https://github.com/cisco/openh264/pull/3824/"
    },
    {
      "commit": "4a2615fac570c6ca1ed4f157b9fdab9466edfd80",
      "tree": "24dce6e885435a4a86d6e51e4f6916f53f13902d",
      "parents": [
        "d59cefb549984422fe293957b579ce41d2b3dd4a"
      ],
      "author": {
        "name": "BenzhengZhang",
        "email": "140143892+BenzhengZhang@users.noreply.github.com",
        "time": "Fri Jul 24 07:35:17 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 24 07:35:17 2026"
      },
      "message": "decoder: bounds-check CAVLC I_PCM copy before reading bitstream (#3968)\n\n* decoder: bounds-check CAVLC I_PCM copy before reading bitstream\n\n* decoder: replace I_PCM 384 magic number with I_PCM_MB_SIZE_IN_BYTE\n\nDefine I_PCM_MB_SIZE_IN_BYTE (16*16 luma + 2*(8*8) chroma) in decode_slice.h and use it at the three CAVLC I_PCM sites and the CABAC ParseIPCMInfoCabac sibling (bounds check + pCurBuf advance). Value is unchanged (384); no functional change.\n\n---------\n\nCo-authored-by: benzzhan \u003cbenzzhan@cisco.com\u003e"
    },
    {
      "commit": "d59cefb549984422fe293957b579ce41d2b3dd4a",
      "tree": "8098318451d5818ad130a8da5e8ec4bebc358409",
      "parents": [
        "fca40fc19f5fb854609d297ae4bde71df72787c9"
      ],
      "author": {
        "name": "BenzhengZhang",
        "email": "140143892+BenzhengZhang@users.noreply.github.com",
        "time": "Fri Jul 24 06:27:29 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 24 06:27:29 2026"
      },
      "message": "decoder: validate FMO slice-group run length before building allocation map (#3967)\n\n* decoder: validate FMO slice-group run length before building allocation map\n\n* decoder: add UT for FMO type0 run length guard\n\n* decoder: free FMO allocation map on rejected slice-group run length\n\nThe run-length validation added for SPARK-814291 makes FmoGenerateMbAllocMapType0 return an error, but FmoGenerateSliceGroup had already allocated pFmo-\u003epMbAllocMap. On that error path FmoParamUpdate returns before setting bActiveFlag, so UninitFmoList never frees the map -\u003e memory leak (caught by CIFuzz: CMemoryAlign m_nMemoryUsageInBytes\u003d\u003d0 assertion). Free and reset the map on the failure path, and assert it in the UT.\n\n---------\n\nCo-authored-by: benzzhan \u003cbenzzhan@cisco.com\u003e"
    },
    {
      "commit": "fca40fc19f5fb854609d297ae4bde71df72787c9",
      "tree": "2ff864b090ca79edda6330dd0f4e8e7bf93b3356",
      "parents": [
        "e22b2731a3cc116177612eaa3a3f7628dfc00a42"
      ],
      "author": {
        "name": "Erik Språng",
        "email": "sprang@google.com",
        "time": "Tue Jul 21 09:34:50 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 21 09:34:50 2026"
      },
      "message": "Fix slice buffer size validation and allocation during dynamic load balancing (#3966)\n\n* Fix dynamic slice adjustment for frames with extreme aspect ratios\n\nWhen rate control is disabled (RC_OFF_MODE), dynamic slice adjustment\nin DynamicAdjustSlicing() defaults the minimum macroblock requirement per\nslice (iMinimalMbNum) to the frame\u0027s macroblock width (1 row per slice).\nFor frames with extreme aspect ratios (such as very wide resolutions),\nrequiring 1 macroblock row per slice across multiple slices can exceed the\ntotal number of macroblocks in the frame.\n\nThis change ensures robust macroblock distribution and load balancing by:\n- Falling back iMinimalMbNum to 1 macroblock per slice when row-based\n  heuristics exceed frame capacity in RC_OFF_MODE.\n- Skipping adjustment and logging a warning when the requested number of\n  slices equals or exceeds the total macroblocks in the frame.\n- Adding a capacity guard in GomValidCheckSliceMbNum() for rate-controlled\n  encoding modes.\n- Adding a unit test (DynamicAdjustSlicingExtremeAspectRatio) to verify\n  dynamic slice adjustment and load balancing on wide aspect ratio frames.\n\n* Reduce frame size in dynamic slicing test to prevent buffer overflow\n\n* Allow slices to expand to full thread buffer size under dynamic load balancing\n\n* Fix dynamic slicing crash on wide frames with ASan fix\n\n---------\n\nCo-authored-by: Erik Språng \u003csprang@webrtc.org\u003e"
    },
    {
      "commit": "e22b2731a3cc116177612eaa3a3f7628dfc00a42",
      "tree": "ba8d2b91bf3afdecdf8c375eec27d68e3feb2f80",
      "parents": [
        "5afa91907ec612e2fb71633b7b88ae4e83362496"
      ],
      "author": {
        "name": "Erik Språng",
        "email": "sprang@google.com",
        "time": "Tue Jul 21 08:36:31 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 21 08:36:31 2026"
      },
      "message": "Fix asymmetric chroma plane stride handling in encoder preprocessing (#3961)\n\n* Fix asymmetric chroma plane stride handling in encoder preprocessing\n\nWhen preprocessing incoming I420 source frames, WelsMoveMemoryWrapper\npreviously read only the U chroma plane stride (iStride[1]) and used it as a\nshared stride for copying both the U and V chroma planes. If an incoming\nframe has distinct, asymmetric strides for the U and V chroma planes (for\nexample, when the U plane stride is larger than the V plane stride), copying\nthe V plane using the U plane\u0027s stride advances the source pointer incorrectly.\n\nThis change ensures correct memory advancement for each chroma plane by:\n- Modifying WelsMoveMemory_c to accept separate destination and source\n  strides for the U and V chroma planes (iDstStrideU, iDstStrideV,\n  iSrcStrideU, iSrcStrideV).\n- Updating WelsMoveMemoryWrapper to read and pass iStride[1] and iStride[2]\n  separately from the input SSourcePicture.\n- Updating internal callers (DownsamplePadding and Padding) to pass their\n  respective U and V line sizes cleanly.\n- Adding a unit test (CustomChromaPlaneStrides) to verify that distinct,\n  asymmetric chroma plane strides are handled correctly.\n\n* Add chroma stride validation guards and strengthen unit test verification\n\n---------\n\nCo-authored-by: Erik Språng \u003csprang@webrtc.org\u003e"
    },
    {
      "commit": "5afa91907ec612e2fb71633b7b88ae4e83362496",
      "tree": "489e41c49d9869b6e58c24ced9a21cf8bee12888",
      "parents": [
        "1189afa8d6f243a544fb511cbae3043ce79e6c84"
      ],
      "author": {
        "name": "BenzhengZhang",
        "email": "140143892+BenzhengZhang@users.noreply.github.com",
        "time": "Thu Jul 16 06:14:29 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 16 06:14:29 2026"
      },
      "message": "decoder: initialize iPicBuffIdx and validate before picture buffer indexing (#3965)\n\n* decoder: initialize iPicBuffIdx and validate before picture buffer indexing\n\n* decoder: add UT for reordering pic buffer idx reset\n\n---------\n\nCo-authored-by: benzzhan \u003cbenzzhan@cisco.com\u003e"
    },
    {
      "commit": "1189afa8d6f243a544fb511cbae3043ce79e6c84",
      "tree": "01ac4282441d0dbe414142b30fa4b24bb363c788",
      "parents": [
        "1253268ae6ffbd088795f9ad4c7eca1a8f601641"
      ],
      "author": {
        "name": "Erik Språng",
        "email": "sprang@google.com",
        "time": "Wed Jul 15 08:58:53 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 15 08:58:53 2026"
      },
      "message": "Fix thread cleanup and memory leaks during partial initialization (#3959)\n\nIf CWelsThreadPool::Init() fails halfway through creating worker threads, StopAllRunning() returns an error code because the number of idle threads does not match m_iMaxThreadNum. Previously, Uninit() would return early on this error code without terminating or destroying the worker threads that were already successfully started, leaving them running after the pool was destroyed.\n\nThis commit updates Uninit() to systematically terminate, join, and clean up all worker threads across both idle and busy lists regardless of StopAllRunning()\u0027s return value. Additionally, if pThread-\u003eStart() fails in CreateIdleThread(), the allocated thread object is now freed before returning.\n\nCo-authored-by: Erik Språng \u003csprang@webrtc.org\u003e"
    },
    {
      "commit": "1253268ae6ffbd088795f9ad4c7eca1a8f601641",
      "tree": "c2f3550eb937fd16d93a0d7127115dab229eace5",
      "parents": [
        "95eb9b05a45c209cb05f84efc3baf1064d6bbc56"
      ],
      "author": {
        "name": "Erik Språng",
        "email": "sprang@google.com",
        "time": "Wed Jul 15 06:44:00 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 15 06:44:00 2026"
      },
      "message": "Clamp screen content scroll motion vectors to configured range (#3962)\n\nEnsure that scroll motion vectors detected during screen content preprocessing\nand applied during mode decision are clamped to the encoder\u0027s motion vector\nrange limit (iMvRange). This ensures that motion vector difference table\nindexing remains within allocated bounds during motion estimation.\n\nCo-authored-by: Erik Språng \u003csprang@webrtc.org\u003e"
    },
    {
      "commit": "95eb9b05a45c209cb05f84efc3baf1064d6bbc56",
      "tree": "8e2db7ba4517a2efa3631410433bb96586ef3637",
      "parents": [
        "d91f567beb58dd979c380418b32674ac4ce8dc03"
      ],
      "author": {
        "name": "BenzhengZhang",
        "email": "140143892+BenzhengZhang@users.noreply.github.com",
        "time": "Tue Jul 14 07:52:17 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 14 07:52:17 2026"
      },
      "message": "Revert \"Fix dynamic slice adjustment for frames with extreme aspect ratios (#…\" (#3964)\n\nThis reverts commit d91f567beb58dd979c380418b32674ac4ce8dc03."
    },
    {
      "commit": "d91f567beb58dd979c380418b32674ac4ce8dc03",
      "tree": "ca96ba9563e7034af9ac9708fc5df5d570643dbf",
      "parents": [
        "6d95111e2fcc71b62798ceed90251d42152d4307"
      ],
      "author": {
        "name": "Erik Språng",
        "email": "sprang@google.com",
        "time": "Tue Jul 14 05:56:39 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 14 05:56:39 2026"
      },
      "message": "Fix dynamic slice adjustment for frames with extreme aspect ratios (#3960)\n\n* Fix dynamic slice adjustment for frames with extreme aspect ratios\n\nWhen rate control is disabled (RC_OFF_MODE), dynamic slice adjustment\nin DynamicAdjustSlicing() defaults the minimum macroblock requirement per\nslice (iMinimalMbNum) to the frame\u0027s macroblock width (1 row per slice).\nFor frames with extreme aspect ratios (such as very wide resolutions),\nrequiring 1 macroblock row per slice across multiple slices can exceed the\ntotal number of macroblocks in the frame.\n\nThis change ensures robust macroblock distribution and load balancing by:\n- Falling back iMinimalMbNum to 1 macroblock per slice when row-based\n  heuristics exceed frame capacity in RC_OFF_MODE.\n- Skipping adjustment and logging a warning when the requested number of\n  slices equals or exceeds the total macroblocks in the frame.\n- Adding a capacity guard in GomValidCheckSliceMbNum() for rate-controlled\n  encoding modes.\n- Adding a unit test (DynamicAdjustSlicingExtremeAspectRatio) to verify\n  dynamic slice adjustment and load balancing on wide aspect ratio frames.\n\n* Reduce frame size in dynamic slicing test to prevent buffer overflow\n\n* Allow slices to expand to full thread buffer size under dynamic load balancing\n\n---------\n\nCo-authored-by: Erik Språng \u003csprang@webrtc.org\u003e"
    },
    {
      "commit": "6d95111e2fcc71b62798ceed90251d42152d4307",
      "tree": "8e2db7ba4517a2efa3631410433bb96586ef3637",
      "parents": [
        "40555ec684ec0fede3948c8f272c04d88d05189d"
      ],
      "author": {
        "name": "Erik Språng",
        "email": "sprang@google.com",
        "time": "Mon Jul 13 07:49:51 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 13 07:49:51 2026"
      },
      "message": "Fix SumOfFrame for extremely wide frames (#3958)\n\nCo-authored-by: Erik Språng \u003csprang@webrtc.org\u003e"
    },
    {
      "commit": "40555ec684ec0fede3948c8f272c04d88d05189d",
      "tree": "1a0430bfdc3ebdc1e3c8c21cc2a5daa25cfeb747",
      "parents": [
        "3bc90ba54124ad64a25f5845daf78d4949aae50d"
      ],
      "author": {
        "name": "Erik Språng",
        "email": "sprang@google.com",
        "time": "Fri Jul 10 06:39:32 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 10 06:39:32 2026"
      },
      "message": "Prevent potential undedefined behavior in WelsCommon::BsFlush() (#3957)\n\nCo-authored-by: Erik Språng \u003csprang@webrtc.org\u003e"
    },
    {
      "commit": "3bc90ba54124ad64a25f5845daf78d4949aae50d",
      "tree": "98ab79f2eec2a2c2a05c0f13501b4d8a93454eac",
      "parents": [
        "a8e04adb69c79757da014007d4694684a64c7b74"
      ],
      "author": {
        "name": "BenzhengZhang",
        "email": "140143892+BenzhengZhang@users.noreply.github.com",
        "time": "Thu Jul 09 02:55:40 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 09 02:55:40 2026"
      },
      "message": "build: upgrade bundled gtest to 1.15.2 (#3963)\n\n* build: upgrade bundled gtest to 1.15.2\n\nThe vendored googletest 1.8.0 (2016) trips newer Apple Clang\u0027s -Wuninitialized-const-pointer on StackGrowsDown()/StackLowerThanAddress(), which combined with -Werror breaks the macOS CI intermittently (only on runner images shipping Clang 17+). gtest 1.15.2 initializes the dummy stack variable, fixing the diagnostic at the source. Wrap taken from Meson WrapDB (gtest_1.15.2-1).\n\n* test: replace deprecated INSTANTIATE_TEST_CASE_P with INSTANTIATE_TEST_SUITE_P\n\ngtest 1.15.2 marks INSTANTIATE_TEST_CASE_P deprecated; with -Werror -Wdeprecated-declarations this breaks the macOS build. Switch to the modern INSTANTIATE_TEST_SUITE_P spelling.\n\n---------\n\nCo-authored-by: benzzhan \u003cbenzzhan@cisco.com\u003e"
    },
    {
      "commit": "a8e04adb69c79757da014007d4694684a64c7b74",
      "tree": "6551fd1297373f144a94c41b1fcb8db21cd48533",
      "parents": [
        "e3f5b10438e2bacc155cf54578222bd4236c9f06"
      ],
      "author": {
        "name": "Erik Språng",
        "email": "sprang@google.com",
        "time": "Tue Jun 30 08:00:56 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 30 08:00:56 2026"
      },
      "message": "Make sure we allocate enough space for all slices (#3956)\n\n* Make sure we allocate enough memory for all slices\n\n* fix compare sign warning\n\n---------\n\nCo-authored-by: Erik Språng \u003csprang@chromium.org\u003e\nCo-authored-by: Erik Språng \u003csprang@webrtc.org\u003e"
    },
    {
      "commit": "e3f5b10438e2bacc155cf54578222bd4236c9f06",
      "tree": "41b9e6bbb1311923aa64f0aeb01b5e1799438b12",
      "parents": [
        "cf568c83f71a18778f9a16e344effaf40c11b752"
      ],
      "author": {
        "name": "BenzhengZhang",
        "email": "140143892+BenzhengZhang@users.noreply.github.com",
        "time": "Mon May 11 06:27:53 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 11 06:27:53 2026"
      },
      "message": "fix: harden parse-only VCL NAL save logic in au_parser (#3944)\n\nCo-authored-by: benzzhan \u003cbenzzhan@cisco.com\u003e"
    },
    {
      "commit": "cf568c83f71a18778f9a16e344effaf40c11b752",
      "tree": "261e0e336f9a29760d4978be1cf966b6f2a35146",
      "parents": [
        "1c5ac2f8d7fd7c263f0644e0e7a2a760775f0345"
      ],
      "author": {
        "name": "akallabeth",
        "email": "akallabeth@users.noreply.github.com",
        "time": "Tue Oct 28 09:20:17 2025"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 28 09:20:17 2025"
      },
      "message": "guard aarch64 assembly with __aarch64__ (#3905)\n\nThe symbol HAVE_NEON_AARCH64 is defined by the build system and not\na full compile time check. When building multiarch binaries (apple\nuniversal) then also check for the compiler defined symbol __aarch64__\nto ensure we are in the arm64 compiler block\n\nCo-authored-by: Armin Novak \u003canovak@thincast.com\u003e"
    },
    {
      "commit": "1c5ac2f8d7fd7c263f0644e0e7a2a760775f0345",
      "tree": "45454eb306d54283aa7ef6b3b50b6a5ae6f0c603",
      "parents": [
        "a0175163e430c2e6f9f36c7f89e57817faa47e12"
      ],
      "author": {
        "name": "jinboson",
        "email": "jinbo@loongson.cn",
        "time": "Mon Oct 20 06:17:10 2025"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 20 06:17:10 2025"
      },
      "message": "Fix crashes on 2k3000 (#3897)\n\n* Fix tests crash on 2k3000\n\nForgot to add runtime check here, resulting in crash happend on 2k3000.\n\n* Not apply -mflags globaly on loongarch\n\nThis can fix crashes caused by automatic vectorization.\n\n---------\n\nCo-authored-by: jinboson \u003cjinboson@loongson.cn\u003e"
    },
    {
      "commit": "a0175163e430c2e6f9f36c7f89e57817faa47e12",
      "tree": "b2c4bcab30c118416870c7448fb417085bf15868",
      "parents": [
        "0c9a557a9a6f1d267c4d372221669a8ae69ccda0"
      ],
      "author": {
        "name": "BenzhengZhang",
        "email": "140143892+BenzhengZhang@users.noreply.github.com",
        "time": "Fri Oct 17 09:47:56 2025"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 17 09:47:56 2025"
      },
      "message": "Update windows/mingw CI (#3906)\n\nCo-authored-by: benzzhan \u003cbenzzhan@cisco.com\u003e"
    },
    {
      "commit": "0c9a557a9a6f1d267c4d372221669a8ae69ccda0",
      "tree": "fc23ade3c2a402aa2da78e146de9527850698efc",
      "parents": [
        "c2e7c4a3b9bfc767b83631cc9bdfb17bfd2705c6"
      ],
      "author": {
        "name": "Audrey Dutcher",
        "email": "audrey@rhelmot.io",
        "time": "Thu Mar 27 07:21:59 2025"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Mar 27 07:21:59 2025"
      },
      "message": "meson.build: Add FreeBSD to common posix platforms (#3867)\n\n"
    },
    {
      "commit": "c2e7c4a3b9bfc767b83631cc9bdfb17bfd2705c6",
      "tree": "4de1c985482bd4dc14ee59b4068bfb2ed5052438",
      "parents": [
        "042473ea3d50d132cf884f1b2ed95bae4c314328"
      ],
      "author": {
        "name": "tyan0",
        "email": "32232575+tyan0@users.noreply.github.com",
        "time": "Tue Mar 18 03:10:17 2025"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Mar 18 03:10:17 2025"
      },
      "message": "Fix the issue #3837 (#3868)\n\nRevive the code removed in the commit c0e5ea286c31. Not quite sure now,\nwhy it was decided to be removed."
    },
    {
      "commit": "042473ea3d50d132cf884f1b2ed95bae4c314328",
      "tree": "a2a8e54f8d06a7e004a09b5dee4614ffba4c3059",
      "parents": [
        "a85e11871c748eae11d056d93df644e2dcb1e80c",
        "f285349933e434b69d5acdda0712762b75ac4a06"
      ],
      "author": {
        "name": "BenzhengZhang",
        "email": "140143892+BenzhengZhang@users.noreply.github.com",
        "time": "Tue Mar 11 07:10:38 2025"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Mar 11 07:10:38 2025"
      },
      "message": "Merge pull request #3864 from xry111/xry111/VAACalcSad_lsx_type\n\nRemove unused parameters in VAACalcSad_lsx"
    },
    {
      "commit": "f285349933e434b69d5acdda0712762b75ac4a06",
      "tree": "a2a8e54f8d06a7e004a09b5dee4614ffba4c3059",
      "parents": [
        "a85e11871c748eae11d056d93df644e2dcb1e80c"
      ],
      "author": {
        "name": "Xi Ruoyao",
        "email": "xry111@xry111.site",
        "time": "Sun Mar 02 08:26:01 2025"
      },
      "committer": {
        "name": "Xi Ruoyao",
        "email": "xry111@xry111.site",
        "time": "Sun Mar 02 08:26:01 2025"
      },
      "message": "Remove unused parameters in VAACalcSad_lsx\n\nMake its signature aligned with VAACalcSadFunc to resolve a\n-Wlto-type-mismatch warning.\n\nSigned-off-by: Xi Ruoyao \u003cxry111@xry111.site\u003e\n"
    },
    {
      "commit": "a85e11871c748eae11d056d93df644e2dcb1e80c",
      "tree": "bf326967bcecc013f7c47c32e97a4d256ad1dcd7",
      "parents": [
        "652bdb7719f30b52b08e506645a7322ff1b2cc6f"
      ],
      "author": {
        "name": "BenzhengZhang",
        "email": "140143892+BenzhengZhang@users.noreply.github.com",
        "time": "Fri Feb 14 03:19:27 2025"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Feb 14 03:19:27 2025"
      },
      "message": "Update shared lib version for meson (#3860)\n\n"
    },
    {
      "commit": "652bdb7719f30b52b08e506645a7322ff1b2cc6f",
      "tree": "a13ae6006ce07d60dd6fd3bd7db2912375b839d2",
      "parents": [
        "d12e51a39cde56940f241f6df2e61d1d43e7e260"
      ],
      "author": {
        "name": "BenzhengZhang",
        "email": "140143892+BenzhengZhang@users.noreply.github.com",
        "time": "Mon Feb 10 07:27:56 2025"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Feb 10 07:27:56 2025"
      },
      "message": "update release note (#3855)\n\n"
    },
    {
      "commit": "d12e51a39cde56940f241f6df2e61d1d43e7e260",
      "tree": "8fe551b7a1b150983a02b4040ff4e17c425fee71",
      "parents": [
        "cf3b514ba34a3a6c4f14b3ae8714325dd30bfa08"
      ],
      "author": {
        "name": "BenzhengZhang",
        "email": "140143892+BenzhengZhang@users.noreply.github.com",
        "time": "Thu Feb 06 03:23:31 2025"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Feb 06 03:23:31 2025"
      },
      "message": "update openh264 version to v2.6.0 (#3852)\n\n"
    },
    {
      "commit": "cf3b514ba34a3a6c4f14b3ae8714325dd30bfa08",
      "tree": "a8d05bd18ef4861550ce7784e73d83c3a49c76ef",
      "parents": [
        "c42fa040778e02b64eac1dfa539f7d0e3135e0df"
      ],
      "author": {
        "name": "Philipp Hancke",
        "email": "phancke@meta.com",
        "time": "Sun Jan 26 03:07:03 2025"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jan 26 03:07:03 2025"
      },
      "message": "psnr: do not use NAN, initialize to 0 (#3836)\n\nwhich is not supported in some older compilers as pointed out in #3824\r\nApplications should always check whether they requested calculating\r\nPSNR before evaluating that field in the result."
    },
    {
      "commit": "c42fa040778e02b64eac1dfa539f7d0e3135e0df",
      "tree": "805454c35055978e19301833e75ec30c54de2f6e",
      "parents": [
        "e49c095356754818b01677f47182a29f7e4d3ad1"
      ],
      "author": {
        "name": "Khem Raj",
        "email": "raj.khem@gmail.com",
        "time": "Sun Jan 26 02:40:45 2025"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jan 26 02:40:45 2025"
      },
      "message": "meson.build: Enable PIC in x86 assembly code (#3831)\n\nThis is needed especially when using asm code and  nasm\r\nassembler to compile it."
    },
    {
      "commit": "e49c095356754818b01677f47182a29f7e4d3ad1",
      "tree": "eeafdcd0cec4f3182ea26cdf45b75fd502cd27c5",
      "parents": [
        "33f7f48613258446decb33b3575fc0a3c9ed14e3"
      ],
      "author": {
        "name": "jinboson",
        "email": "jinbo@loongson.cn",
        "time": "Mon Jan 13 09:08:11 2025"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jan 13 09:08:11 2025"
      },
      "message": "Add qemu test for LoongArch (#3833)\n\n* LoongArch: fix build error with gcc14\r\n\r\nWith CFLAGS\u003d-Werror, gcc14 outputs errors like below:\r\n\r\nIn file included from ./codec/common/inc/loongson_intrinsics.h:63,\r\n                 from codec/common/loongarch/mc_horver_lsx.c:46:\r\nIn function ‘__lsx_vilvl_h’,\r\n    inlined from ‘McHorVer22WidthEq4_lsx’ at codec/common/loongarch/mc_horver_lsx.c:521:5,\r\n    inlined from ‘McHorVer22WidthEq9_lsx’ at codec/common/loongarch/mc_horver_lsx.c:646:3:\r\n/usr/lib/gcc-cross/loongarch64-linux-gnu/14/include/lsxintrin.h:1916:19: warning: ‘dst6’ may be used uninitialized [-Wmaybe-uninitialized]\r\n 1916 |   return (__m128i)__builtin_lsx_vilvl_h ((v8i16)_1, (v8i16)_2);\r\n      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r\ncodec/common/loongarch/mc_horver_lsx.c: In function ‘McHorVer22WidthEq9_lsx’:\r\ncodec/common/loongarch/mc_horver_lsx.c:486:47: note: ‘dst6’ was declared here\r\n  486 |   __m128i dst0, dst1, dst2, dst3, dst4, dst5, dst6, dst7;\r\n      |                                               ^~~~\r\n\r\nNote: errors are truncated because too long.\r\n\r\n* Run the unit tests on loongarch using qemu-loongarch64-static"
    },
    {
      "commit": "33f7f48613258446decb33b3575fc0a3c9ed14e3",
      "tree": "b939e6cae5f88443735d68b80a4499dfa3733fd2",
      "parents": [
        "423eb2c3e47009f4e631b5e413123a003fdff1ed"
      ],
      "author": {
        "name": "Philipp Hancke",
        "email": "phancke@meta.com",
        "time": "Mon Jan 06 08:14:13 2025"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jan 06 08:14:13 2025"
      },
      "message": "Allow calculating PSNR for Y/U/V components (#3824)\n\n* Allow calculating PSNR for Y/U/V components\r\n\r\nby requesting this either as a option for all frames in\r\n  SEncParamExt.bPsnrY (and U/V)\r\nor per-frame using\r\n  SSourcePicture.bPsnrY (and U/V)\r\n\r\nThe resulting data goes into\r\n  SLayerBSInfo.rPsnr\r\nwith is a three-element array for the Y/U/V components of the PSNR.\r\n\r\nThis is disabled by default.\r\nAlso removes the ENABLE_PSNR_CALC preprocessor define in favor of the API.\r\n\r\nSee\r\n  https://www.researchgate.net/publication/383545049_Low-Complexity_Video_PSNR_Measurement_in_Real-Time_Communication_Products\r\nby @YCSun-Meta for a research paper explaining the background.\r\n\r\n* move per-pic psnr"
    },
    {
      "commit": "423eb2c3e47009f4e631b5e413123a003fdff1ed",
      "tree": "0d5fa21bb9ab8d73a31c9d743e142ab5cbedfbb3",
      "parents": [
        "63db555e30986e3a5f07871368dc90ae78c27449"
      ],
      "author": {
        "name": "Sergey Fedorov",
        "email": "vital.had@gmail.com",
        "time": "Fri Dec 20 08:47:57 2024"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Dec 20 08:47:57 2024"
      },
      "message": "meson.build: add powerpc arch (#3806)\n\nCo-authored-by: Ryan Carsten Schmidt \u003cryandesign@macports.org\u003e"
    },
    {
      "commit": "63db555e30986e3a5f07871368dc90ae78c27449",
      "tree": "cae78178ee05f8d7e281214499211f280a860c3f",
      "parents": [
        "1c47e719e1be55d968dae01b8a004bdcd822bba8"
      ],
      "author": {
        "name": "BenzhengZhang",
        "email": "140143892+BenzhengZhang@users.noreply.github.com",
        "time": "Thu Dec 19 09:12:42 2024"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Dec 19 09:12:42 2024"
      },
      "message": "Potential bug fix (#3818)\n\n"
    },
    {
      "commit": "1c47e719e1be55d968dae01b8a004bdcd822bba8",
      "tree": "c7f96339026aec939f990c809a0e686102b9b672",
      "parents": [
        "fc1605c1fcc1b3d03419f487a9677efccda8e80c"
      ],
      "author": {
        "name": "Andreas Pehrson",
        "email": "pehrsons@gmail.com",
        "time": "Wed Dec 18 09:25:57 2024"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Dec 18 09:25:57 2024"
      },
      "message": "Pass the actual temporal id to GMPVideoEncodedFrame (#3828)\n\n"
    },
    {
      "commit": "fc1605c1fcc1b3d03419f487a9677efccda8e80c",
      "tree": "feb4c7a36873e2fc282ce26f33697b22a5f8cf13",
      "parents": [
        "1ebb3f1abb8623b9b0fe66e443950f8e6055d4fb"
      ],
      "author": {
        "name": "Brad Smith",
        "email": "brad@comstyle.com",
        "time": "Tue Dec 17 08:51:45 2024"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Dec 17 08:51:45 2024"
      },
      "message": "Use HW_NCPUONLINE on OpenBSD / NetBSD (#3813)\n\nHW_NCPUONLINE is the proper sysctl to use for the logical processor\r\ncount."
    },
    {
      "commit": "1ebb3f1abb8623b9b0fe66e443950f8e6055d4fb",
      "tree": "d8b0701d978fc447c9d0b3bf989acf22144ee706",
      "parents": [
        "ad3f6904796d3ff57d282fd2d9f1dc52268bd7d1"
      ],
      "author": {
        "name": "act262",
        "email": "act262@gmail.com",
        "time": "Tue Dec 17 08:51:21 2024"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Dec 17 08:51:21 2024"
      },
      "message": "Add Windows VSBuildTools VC17 compile support (#3823)\n\nCo-authored-by: chaoxizhang \u003cchaoxizhang@tencent.com\u003e"
    },
    {
      "commit": "ad3f6904796d3ff57d282fd2d9f1dc52268bd7d1",
      "tree": "17e7f131183fc841da3222d517c2d508222544b6",
      "parents": [
        "edbef4dfe27b44d4e4f25db0671f1073a680a0be"
      ],
      "author": {
        "name": "Andrew Osmond",
        "email": "aosmond@gmail.com",
        "time": "Thu Dec 12 09:06:51 2024"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Dec 12 09:06:51 2024"
      },
      "message": "Expose via GMP API temporal layer info at encoder initialization and on a per frame basis. (#3821)\n\n"
    },
    {
      "commit": "edbef4dfe27b44d4e4f25db0671f1073a680a0be",
      "tree": "5d8865ec80f5e76bb08dff7af666afe58f2b185f",
      "parents": [
        "6746bc48f1ee9b3165200a8fad329acfdf01621b"
      ],
      "author": {
        "name": "Ryan Carsten Schmidt",
        "email": "ryandesign@macports.org",
        "time": "Tue Dec 03 02:22:06 2024"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Dec 03 02:22:06 2024"
      },
      "message": "Do not use -Werror (#3809)\n\nUsing -Werror can cause builds to fail when using unexpected compilers."
    },
    {
      "commit": "6746bc48f1ee9b3165200a8fad329acfdf01621b",
      "tree": "6a951ac1184a2fa15bf40b7b09456ead90f5dd97",
      "parents": [
        "8c7008aeb6335e7d36ab0d9a023a63f82a8eaac0"
      ],
      "author": {
        "name": "Martin Storsjö",
        "email": "martin@martin.st",
        "time": "Mon Nov 18 02:54:35 2024"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Nov 18 02:54:35 2024"
      },
      "message": "Use void casts to silence warnings about memcpy to a class (#3800)\n\nThis was previously silenced by passing -Wno-class-memaccess, to\r\nthe compiler, if it was supported (for GCC, it was supported since\r\nGCC 8).\r\n\r\nClang supports a similar option, -Wno-nontrivial-memaccess since\r\nClang 8. It didn\u0027t use to warn about these cases, but since Clang 20,\r\nit also warns about this.\r\n\r\nSimplify handling the issue by just adding void casts, to avoid\r\nneeding to check for whether the options for silencing the warnings\r\nare supported."
    },
    {
      "commit": "8c7008aeb6335e7d36ab0d9a023a63f82a8eaac0",
      "tree": "b215c7a424f23919bdb6c9e85c25127b1fe2313f",
      "parents": [
        "643237205a7c22f2b27d85674a639f2095169737"
      ],
      "author": {
        "name": "BenzhengZhang",
        "email": "140143892+BenzhengZhang@users.noreply.github.com",
        "time": "Wed Nov 06 06:05:33 2024"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Nov 06 06:05:33 2024"
      },
      "message": "update release note (#3798)\n\n"
    },
    {
      "commit": "643237205a7c22f2b27d85674a639f2095169737",
      "tree": "9881b424129a2f1bdd54a83b0a45e2b82bb7a6ed",
      "parents": [
        "f70c905b824207da9c5b01902cec429335d05674"
      ],
      "author": {
        "name": "BenzhengZhang",
        "email": "140143892+BenzhengZhang@users.noreply.github.com",
        "time": "Tue Nov 05 08:26:58 2024"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Nov 05 08:26:58 2024"
      },
      "message": "update openh264 version to v2.5.0 (#3796)\n\n"
    },
    {
      "commit": "f70c905b824207da9c5b01902cec429335d05674",
      "tree": "159250df0cafe017f8044191afb22c85e9a63444",
      "parents": [
        "2a3207b2c57fdf9d57e6616395cf65a81edda9a3"
      ],
      "author": {
        "name": "Takeru Ohta",
        "email": "phjgt308@gmail.com",
        "time": "Thu Oct 10 06:02:38 2024"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 10 06:02:38 2024"
      },
      "message": "Fix a bug where `ISVCDecoder::DecodeFrameNoDelay()` could fail when decoding an H.264 stream encoded by the Apple HWA encoder. (#3787)\n\n* Fix to use `max_num_ref_frames` to check `max_long_term_frame_idx_plus1` value\r\n\r\n* Remove unnecessary cast"
    },
    {
      "commit": "2a3207b2c57fdf9d57e6616395cf65a81edda9a3",
      "tree": "23cf5b21bbe2b8f22adf5e09fba84e0385661598",
      "parents": [
        "810945571d15561a82da18c3860bfdf3baa84ca8"
      ],
      "author": {
        "name": "BenzhengZhang",
        "email": "140143892+BenzhengZhang@users.noreply.github.com",
        "time": "Tue Oct 08 09:38:11 2024"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 08 09:38:11 2024"
      },
      "message": "Update build.yaml (#3791)\n\nupdate actions/upload-artifact to v4"
    },
    {
      "commit": "810945571d15561a82da18c3860bfdf3baa84ca8",
      "tree": "eac840a392663a1585b6b2dd7fda9ec6a7ac87ee",
      "parents": [
        "3668daf135dea7d18737b01ce32774a7a2ffba32"
      ],
      "author": {
        "name": "tyan0",
        "email": "32232575+tyan0@users.noreply.github.com",
        "time": "Tue Oct 08 02:55:05 2024"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 08 02:55:05 2024"
      },
      "message": "Fix broken decode result in multi-thread decoding. (#3782)\n\n"
    },
    {
      "commit": "3668daf135dea7d18737b01ce32774a7a2ffba32",
      "tree": "bcf341b1aff4850e29d2a21164bde34544f43d40",
      "parents": [
        "cea886eda8fae7ba42c4819e6388ce8fc633ebf6"
      ],
      "author": {
        "name": "Bill Roberts",
        "email": "152999275+billatarm@users.noreply.github.com",
        "time": "Wed Aug 21 02:20:45 2024"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 21 02:20:45 2024"
      },
      "message": "Enable pac bti support (#3775)\n\n* readme: update meson build command\r\n\r\nFixes warning:\r\nWARNING: Running the setup command as `meson [options]` instead of `meson setup [options]` is ambiguous and deprecated.\r\n\r\nSigned-off-by: Bill Roberts \u003cbill.roberts@arm.com\u003e\r\n\r\n* meson.build: fix suffix on HAVE_NEON_AARCH64\r\n\r\nrename HAVE_NEON_AARCH64 to the in-use define for\r\ncontrolling NEON: HAVE_NEON_AARCH64\r\n\r\nSigned-off-by: Bill Roberts \u003cbill.roberts@arm.com\u003e\r\n\r\n* aarch64: enable PAC/BTI\r\n\r\nEnable Pointer Authentication Codes (PAC) and Branch Target\r\nIdentification (BTI) support for ARM 64 targets.\r\n\r\nOpenH264 does not require any of the PAC signing and verification as the\r\nleaf functions do not store x30 to the stack. Also, no indirect branches\r\nare performed so no need to annotate branch targets with bti j landing\r\npad instructions. The only thing required is to label the function entry\r\npoints with bti c instructions and ensure the GNU Notes are updated for\r\ntheir respective features when enabled for ELF files.\r\n\r\nA detailed summary on how PAC and BTI work are provided below for\r\nclarity.\r\n\r\nPAC works by signing the LR with either an A key or B key and verifying\r\nthe return address. There are quite a few instructions capable of doing\r\nthis, however, the Linux ARM ABI is to use hint compatible instructions\r\nthat can be safely NOP\u0027d on older hardware and can be assembled and\r\nlinked with older binutils. This limits the instruction set to paciasp,\r\npacibsp, autiasp and autibsp. Instructions prefixed with pac are for\r\nsigning and instructions prefixed with aut are for signing. Both\r\ninstructions are then followed with an a or b to indicate which signing\r\nkey they are using. The keys can be controlled using\r\n-mbranch-protection\u003dpac-ret for the A key and\r\n-mbranch-protection\u003dpac-ret+b-key for the B key.\r\n\r\nBTI works by marking all indirect call and jump positions with bti c\r\nand bti j instructions respectively. If execution control transfers\r\nto an instruction other than a BTI instruction, the execution is\r\nkilled via SIGILL. Note that to remove one instruction, the\r\naforementioned pac instructions will also work as a BTI landing pad\r\nfor bti c usages.\r\n\r\nFor BTI to work, all object files linked for a unit of execution,\r\nwhether an executable or a library must have the GNU Notes section of\r\nthe ELF file marked to indicate BTI support. This is so loader/linkers\r\ncan apply the proper permission bits (PROT_BRI) on the memory region.\r\n\r\nPAC can also be annotated in the GNU ELF notes section, but it\u0027s not\r\nrequired for enablement, as interleaved PAC and non-pac code works as\r\nexpected since it\u0027s the callee that performs all the checking.\r\n\r\nTesting was done under the following CFLAGS and CXXFLAGS for all\r\ncombinations:\r\n\r\n1. -mbranch-protection\u003dnone\r\n2. -mbranch-protection\u003dstandard\r\n3. -mbranch-protection\u003dpac-ret\r\n4. -mbranch-protection\u003dpac-ret+b-key\r\n5. -mbranch-protection\u003dbti\r\n\r\nSigned-off-by: Bill Roberts \u003cbill.roberts@arm.com\u003e\r\n\r\n---------\r\n\r\nSigned-off-by: Bill Roberts \u003cbill.roberts@arm.com\u003e"
    },
    {
      "commit": "cea886eda8fae7ba42c4819e6388ce8fc633ebf6",
      "tree": "b0e9f40e81d3b83e7868ea5091b7c574e7f16b90",
      "parents": [
        "fa6d0994964d423ebad020d0f5c36f98b6532117"
      ],
      "author": {
        "name": "Ziyao",
        "email": "ziyao@disroot.org",
        "time": "Mon Aug 19 03:00:13 2024"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 19 03:00:13 2024"
      },
      "message": "build: fix build with meson on riscv64 (#3773)\n\nRISC-V is a rising open-standarded RISC ISA. This commit makes mesonbuild\r\nfallbacks to C implementation correctly on riscv64 platform instead of\r\nthrowing a \"FIXME: unhandled CPU family\" error.\r\n\r\nSigned-off-by: Yao Zi \u003cziyao@disroot.org\u003e"
    },
    {
      "commit": "fa6d0994964d423ebad020d0f5c36f98b6532117",
      "tree": "b1082a0e65b68618fe135793012046e7b443d25d",
      "parents": [
        "e0bbb7f1e43e4bb6075efe15a6d3bd7da5ee11f1"
      ],
      "author": {
        "name": "tyan0",
        "email": "32232575+tyan0@users.noreply.github.com",
        "time": "Mon Aug 05 07:06:39 2024"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 05 07:06:39 2024"
      },
      "message": "Fix frame-decode errors. (#3723)\n\n* Enable ReorderRefList2() which was added by the commit 1b8caef6ccc7.\r\n\r\n... and fix trivial issue of that function. This solves the some\r\nframe decode error.\r\n\r\n* Add workaround for frame decode error due to emulation byte.\r\n\r\n* Fix a bug which seems due to a typo in WelsReorderRefList2()\r\n\r\nThis fixes the fuzzing test failure.\r\n\r\nAddresses: https://github.com/cisco/openh264/pull/3772"
    },
    {
      "commit": "e0bbb7f1e43e4bb6075efe15a6d3bd7da5ee11f1",
      "tree": "84267d6b12e43e04d73fff88567fc6bf6707fe82",
      "parents": [
        "4ab86b8d50e2c5852f6e2a702a3af98ad01b521a"
      ],
      "author": {
        "name": "tyan0",
        "email": "32232575+tyan0@users.noreply.github.com",
        "time": "Thu Jul 18 06:32:58 2024"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 18 06:32:58 2024"
      },
      "message": "Fix deadlock at the end of decoding. (#3767)\n\nFor some h264 files, h264dec hangs at the end of decoding. This is\r\nregression caused by the commit 1c2388750acf. This patch fixes the\r\nissue by adding SET_EVENT(\u0026m_sReleaseBufferEvent) to SetOption(\r\nDECODER_OPTION_END_OF_STREAM) and CloseDecoderThreads()."
    },
    {
      "commit": "4ab86b8d50e2c5852f6e2a702a3af98ad01b521a",
      "tree": "4ea35363b9a1103be7383082810038a7d26b633c",
      "parents": [
        "478e5ab3eca30e600006d5a0a08b176fd34d3bd1"
      ],
      "author": {
        "name": "zhuzeitou",
        "email": "zhuzeitou@gmail.com",
        "time": "Thu Jul 11 02:31:21 2024"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 11 02:31:21 2024"
      },
      "message": "fix cross compile from darwin arm64 to x86_64 (#3716)\n\n"
    },
    {
      "commit": "478e5ab3eca30e600006d5a0a08b176fd34d3bd1",
      "tree": "312fc57db01237de81ba3a06f1d194103719e930",
      "parents": [
        "de02617643a198aeba4fe8dc517824cd9d1f7d7c"
      ],
      "author": {
        "name": "Philipp Hancke",
        "email": "phancke@meta.com",
        "time": "Wed Jul 03 02:45:04 2024"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 03 02:45:04 2024"
      },
      "message": "Change picOrderCnt to 2 (#3752)\n\n* Change picOrderCnt to 2\r\n\r\nchanges the picOrderCnt field to 2 (which means the output order\r\nis the same as the decode order) which is more suited to realtime\r\nusage and allows the decoder to immediately decode a frame without\r\nwaiting for out-of-order frames. This reduces the decoding latency\r\non Qualcomm hardware decoders which do not honor the VUI parameter\r\n  max_num_reorder_frames\r\n\r\n* bump hashes\r\n\r\n* bump asan hashes\r\n\r\n* Revert \"bump asan hashes\"\r\n\r\nThis reverts commit 7aa8b3d747b498a395d78bb9763d9b770fd5910b.\r\n\r\n* fix last hashes\r\n\r\n* update second hash for ASAN\r\n\r\n* fix more hashes"
    },
    {
      "commit": "de02617643a198aeba4fe8dc517824cd9d1f7d7c",
      "tree": "f9869cb0b8840341a33647900074574cd58c4cd0",
      "parents": [
        "1c2388750acf8646ca75a6038a544d5f8f47dca8"
      ],
      "author": {
        "name": "Philipp Hancke",
        "email": "philipp.hancke@googlemail.com",
        "time": "Mon Jul 01 09:31:19 2024"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 01 09:31:19 2024"
      },
      "message": "Remove unused pSpatialLayer variable in DetermineTemporalSettings (#3761)\n\n* Remove unused pSpatialLayer and iSliceIndex variables\r\n\r\nwhich break on Mac CI settings due to the variables being unused\r\n\r\n* one more\r\n\r\n* moar"
    },
    {
      "commit": "1c2388750acf8646ca75a6038a544d5f8f47dca8",
      "tree": "90eca8288db8c46a6e51a37cee5fb24576cc2768",
      "parents": [
        "1debdaecd651007771fc347a11076c9e3115395a"
      ],
      "author": {
        "name": "tyan0",
        "email": "32232575+tyan0@users.noreply.github.com",
        "time": "Thu Apr 18 02:17:42 2024"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 18 02:17:42 2024"
      },
      "message": "Fix race issue among decoding threads which causes broken frame. (#3735)\n\nTrim event timings for multi-thread cooperation."
    },
    {
      "commit": "1debdaecd651007771fc347a11076c9e3115395a",
      "tree": "bdc4dde8596367bcf0886accae3530b2da8f621d",
      "parents": [
        "f86f0e47ef28fdf33b15a64eac8359cc1a88dfe6"
      ],
      "author": {
        "name": "tyan0",
        "email": "32232575+tyan0@users.noreply.github.com",
        "time": "Wed Apr 10 06:26:37 2024"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 10 06:26:37 2024"
      },
      "message": "Fix crash on multi-thread decoding. (#3736)\n\nWhen decoding:\r\nhttps://download.blender.org/peach/bigbuckbunny_movies/big_buck_bunny_1080p_h264.mov\r\nin multi-threads, openh264 crashes with segfault. This patch fixes\r\nthe issue."
    },
    {
      "commit": "f86f0e47ef28fdf33b15a64eac8359cc1a88dfe6",
      "tree": "4dce6d6c97011340342ae22c97ea956b5b581078",
      "parents": [
        "28b533af6c79e545b17533a4f04f6a5cda65e81c"
      ],
      "author": {
        "name": "BenzhengZhang",
        "email": "140143892+BenzhengZhang@users.noreply.github.com",
        "time": "Mon Apr 01 09:24:21 2024"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 01 09:24:21 2024"
      },
      "message": "Revert \"Fix WelsTraceCallback conversion. (#3722)\" (#3739)\n\nThis reverts commit 28b533af6c79e545b17533a4f04f6a5cda65e81c."
    },
    {
      "commit": "28b533af6c79e545b17533a4f04f6a5cda65e81c",
      "tree": "50d345b611ceda93b6383abdaeecd3a9b02cc6e6",
      "parents": [
        "c0e5ea286c318c2018c7e80918c27eb31cb8050c"
      ],
      "author": {
        "name": "Mohu",
        "email": "miracle_l@bupt.edu.cn",
        "time": "Mon Apr 01 07:45:51 2024"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 01 07:45:51 2024"
      },
      "message": "Fix WelsTraceCallback conversion. (#3722)\n\nSigned-off-by: ayamir \u003clgt986452565@gmail.com\u003e"
    },
    {
      "commit": "c0e5ea286c318c2018c7e80918c27eb31cb8050c",
      "tree": "4dce6d6c97011340342ae22c97ea956b5b581078",
      "parents": [
        "c59550a2147c255cc8e09451f6deb96de2526b6d"
      ],
      "author": {
        "name": "tyan0",
        "email": "32232575+tyan0@users.noreply.github.com",
        "time": "Mon Apr 01 07:43:22 2024"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 01 07:43:22 2024"
      },
      "message": "Fix regression in PR#3707 for multi-thread decoding (#3734)\n\n* Fix regression in PR#3707 for multi-thread decoding\r\n\r\nThe variable iSeqNum introduced in PR#3707 should be common within\r\nthe decoder, however each decoding thread in the same decoder had\r\nits own one. Due to this issue, multi-thread decoding failed.\r\nThis patch fixes that.\r\n\r\n* Fix segfault caused in WelsDecodeInitAccessUnitStart()\r\n\r\n... if CWelsDecoder::InitDecoderCtx() is not called."
    },
    {
      "commit": "c59550a2147c255cc8e09451f6deb96de2526b6d",
      "tree": "cc1ce4b6c3d725ce6a53e82b2c948a2d66b949c0",
      "parents": [
        "b29fd81e72b9c668d2c86a8e088e669ac956baf9"
      ],
      "author": {
        "name": "BenzhengZhang",
        "email": "140143892+BenzhengZhang@users.noreply.github.com",
        "time": "Tue Jan 30 05:56:32 2024"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jan 30 05:56:32 2024"
      },
      "message": "update release note (#3726)\n\n"
    },
    {
      "commit": "b29fd81e72b9c668d2c86a8e088e669ac956baf9",
      "tree": "c1133fa8ac77899d93d42f2d862318d5c5e06e33",
      "parents": [
        "4f01c15b2199daf16924caa53f77a52e8b559260"
      ],
      "author": {
        "name": "BenzhengZhang",
        "email": "140143892+BenzhengZhang@users.noreply.github.com",
        "time": "Mon Jan 29 09:31:34 2024"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jan 29 09:31:34 2024"
      },
      "message": "update openh264 version to v2.4.1 (#3724)\n\n"
    },
    {
      "commit": "4f01c15b2199daf16924caa53f77a52e8b559260",
      "tree": "9d301a2a11d7f144cc4c7ad259ddb7139512818e",
      "parents": [
        "cfbd5896606b91638c8871ee91776dee31625bd5"
      ],
      "author": {
        "name": "tyan0",
        "email": "32232575+tyan0@users.noreply.github.com",
        "time": "Fri Jan 19 09:44:56 2024"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jan 19 09:44:56 2024"
      },
      "message": "Fix glitches that sometimes happen near the scene changes. (#3707)\n\n* Add missing iLastWrittenPOC setting in unbuffered reordering.\r\n\r\nIn CWelsDecoder::ReorderPicturesInDisplay(), iLastWrittenPOC was\r\nnot set in unbuffered-reordering case. Due to this problem, it\r\nsometimes reordered the frames incorrectly. This patch fixes the\r\nissue.\r\n\r\n* Prevent frame buffer from overwrite at GOP change.\r\n\r\nWhen bNewSeqBegin got true, iRefCount was forcibly reset even if the\r\nbuffer was still used for reordering. Due to this problem, the buffer\r\nin use was sometimes overwritten with newly decoded frame. This commit\r\nis for fixing that problem.\r\n\r\n* Fix test failure due to the issue of the previous commit.\r\n\r\n* Fix glitch occurs when multiple scene changes happen in a short time.\r\n\r\nPreviously, when more than 2 frame sequences exist in the reordering\r\nbuffer, the reordering does not work correctly. This is because the\r\nmanagement based on bLastGOP flag does not work in this case.\r\nInstead, this patch introduces frame sequence number (iSeqNum) to\r\ndistingish frames belonging to each sequence and drops bLastGOP flag."
    },
    {
      "commit": "cfbd5896606b91638c8871ee91776dee31625bd5",
      "tree": "7a60a22b0075dfda746e5e4a233ba639bb22e8c7",
      "parents": [
        "fd66e67ac6136aff80b1567488568ba1ed7e8fb8"
      ],
      "author": {
        "name": "Pedro Kaj Kjellerup Nacht",
        "email": "pedro.k.night@gmail.com",
        "time": "Thu Dec 14 07:13:05 2023"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Dec 14 07:13:05 2023"
      },
      "message": " Add security policy (#3708)\n\n* Add security policy\r\n\r\nSigned-off-by: Pedro Kaj Kjellerup Nacht \u003cpnacht@google.com\u003e\r\n\r\n* Not all maintainers are volunteers\r\n\r\n* Use BenzhengZhang\u0027s email\r\n\r\nSigned-off-by: Pedro Kaj Kjellerup Nacht \u003cpnacht@google.com\u003e\r\n\r\n* Only use email\r\n\r\nSigned-off-by: Pedro Kaj Kjellerup Nacht \u003cpnacht@google.com\u003e\r\n\r\n---------\r\n\r\nSigned-off-by: Pedro Kaj Kjellerup Nacht \u003cpnacht@google.com\u003e"
    },
    {
      "commit": "fd66e67ac6136aff80b1567488568ba1ed7e8fb8",
      "tree": "b0ae44d9eb94f34c6a5ade32444147210df23a3e",
      "parents": [
        "34a0d2d3e233e1764cc243c7c68ca46bb2479972"
      ],
      "author": {
        "name": "Kalev Lember",
        "email": "klember@redhat.com",
        "time": "Mon Dec 04 06:54:04 2023"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Dec 04 06:54:04 2023"
      },
      "message": "Fix off by one regression in decoder (#3704)\n\nFix iPicBuffIdx bounds check introduced in commit\r\n986bd65b711191d4883c54ace32a9879e17729c2 and allow 0 as an index value.\r\n\r\nThis fixes Big_Buck_Bunny_720_10s_30MB.mp4 playback with gst-play-1.0."
    },
    {
      "commit": "34a0d2d3e233e1764cc243c7c68ca46bb2479972",
      "tree": "99f3b5e8302af5f5c41971076432b06729bc31e6",
      "parents": [
        "34e14eab6863154f75a94e5dca97cb4324f98bac"
      ],
      "author": {
        "name": "BenzhengZhang",
        "email": "140143892+BenzhengZhang@users.noreply.github.com",
        "time": "Fri Nov 24 08:11:10 2023"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Nov 24 08:11:10 2023"
      },
      "message": "update release note (#3703)\n\n"
    },
    {
      "commit": "34e14eab6863154f75a94e5dca97cb4324f98bac",
      "tree": "671e594d0248e81727dd468b11973666d7e88562",
      "parents": [
        "15d02fc4dd89bde3fd50d0986c3c2e79ea2f3fac"
      ],
      "author": {
        "name": "BenzhengZhang",
        "email": "140143892+BenzhengZhang@users.noreply.github.com",
        "time": "Fri Oct 27 07:35:18 2023"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 27 07:35:18 2023"
      },
      "message": "update openh264 version to v2.4.0 (#3691)\n\n"
    },
    {
      "commit": "15d02fc4dd89bde3fd50d0986c3c2e79ea2f3fac",
      "tree": "5082e50c9b22368f8200995128d4f17c85b781c4",
      "parents": [
        "b3feec250c33c1cfbf58d3560ad07cf4d395d44d"
      ],
      "author": {
        "name": "BenzhengZhang",
        "email": "140143892+BenzhengZhang@users.noreply.github.com",
        "time": "Mon Oct 23 08:52:20 2023"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 23 08:52:20 2023"
      },
      "message": "Use Ant compile demo and UT projects when NDK version lower than r18 (#3690)\n\n* android-ndk-r18b and below use Ant to compile demo and unit_test projects\r\n\r\n* give the ndk-version-check.sh executable permissions"
    },
    {
      "commit": "b3feec250c33c1cfbf58d3560ad07cf4d395d44d",
      "tree": "a9ec46afee575e3e0f7ebc540760a39bf39fb929",
      "parents": [
        "859a08c3ae0f84fe61a2d776c452465d06fda906"
      ],
      "author": {
        "name": "Jozef Chutka",
        "email": "jozefchutka@gmail.com",
        "time": "Mon Oct 23 08:37:01 2023"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 23 08:37:01 2023"
      },
      "message": "emscripten processor count (#3667)\n\n"
    },
    {
      "commit": "859a08c3ae0f84fe61a2d776c452465d06fda906",
      "tree": "c4d5bbbabaf1beffab427804923469604d9e228f",
      "parents": [
        "986bd65b711191d4883c54ace32a9879e17729c2"
      ],
      "author": {
        "name": "calvano-fb",
        "email": "86724142+calvano-fb@users.noreply.github.com",
        "time": "Mon Oct 23 07:21:02 2023"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 23 07:21:02 2023"
      },
      "message": "A fuzzer found a null pointer dereference in welsDecoderExt.c (#3686)\n\nThis commit adds a NULL check before the pCtx-\u003epLastDecPicInfo-\u003epPreviousDecodedPictureInDpb object is dereferenced in CWelsDecoder::BufferingReadyPicture"
    },
    {
      "commit": "986bd65b711191d4883c54ace32a9879e17729c2",
      "tree": "11911b55032680423d675aa7fa95238a8e5eba0a",
      "parents": [
        "008465e956f36e3049cc652c6a64b40b85ad2219"
      ],
      "author": {
        "name": "calvano-fb",
        "email": "86724142+calvano-fb@users.noreply.github.com",
        "time": "Mon Oct 23 07:20:35 2023"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 23 07:20:35 2023"
      },
      "message": "Fix for out of bounds read issue by introducing bounds check on iPicBuffIdx in CWelsDecoder::ReleaseBufferedReadyPictureReorder (#3685)\n\n"
    },
    {
      "commit": "008465e956f36e3049cc652c6a64b40b85ad2219",
      "tree": "c2ff71fe724b79478580dad393cab1a016b9c263",
      "parents": [
        "986606644aca8f795fc04f76dcc758d88378e4a0",
        "8f7fc380c49d49ca6017cb067be270ab2aaddcf0"
      ],
      "author": {
        "name": "BenzhengZhang",
        "email": "140143892+BenzhengZhang@users.noreply.github.com",
        "time": "Sun Oct 08 10:44:50 2023"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Oct 08 10:44:50 2023"
      },
      "message": "compatible build with andrandroid-ndk-r18 (#3672)\n\ncompatible build with android-ndk-r18"
    },
    {
      "commit": "8f7fc380c49d49ca6017cb067be270ab2aaddcf0",
      "tree": "c2ff71fe724b79478580dad393cab1a016b9c263",
      "parents": [
        "986606644aca8f795fc04f76dcc758d88378e4a0"
      ],
      "author": {
        "name": "BenzhengZhang",
        "email": "csuzbz@foxmail.com",
        "time": "Mon Aug 14 05:38:56 2023"
      },
      "committer": {
        "name": "BenzhengZhang",
        "email": "csuzbz@foxmail.com",
        "time": "Mon Aug 14 05:40:54 2023"
      },
      "message": "compatible build with android-ndk-r18\n"
    },
    {
      "commit": "986606644aca8f795fc04f76dcc758d88378e4a0",
      "tree": "754fd692f37142bd696f2f0f41d3fd5bbaced605",
      "parents": [
        "6967c09a662723817e9b180e638c6cb1b61aa0e3"
      ],
      "author": {
        "name": "jinboson",
        "email": "57989823+jinboson@users.noreply.github.com",
        "time": "Thu Apr 20 01:23:13 2023"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 20 01:23:13 2023"
      },
      "message": "add simd optimizations and fix for loongarch (#3649)\n\n* Add SIMD for loongarch\r\n\r\n1. Add VAACalcSadBgd_lasx.\r\n2. Refine WelsSampleSad8x8x2_lasx \u0026 WelsIDctT4Rec_lasx \u0026 WelsIDctFourT4Rec_lasx.\r\n\r\n* Fix ninja build warning and remove unneeded head files\r\n\r\n\u003d\u003d\u003d\u003e\r\n../codec/encoder/core/loongarch/sample_lasx.c: In function ‘WelsIntra8x8Combined3Sad_lasx’:\r\n../codec/encoder/core/loongarch/sample_lasx.c:62:14: warning: implicit declaration of function\r\n‘WelsSampleSad8x8_lasx’; did you mean ‘WelsSampleSad8x8_c’? [-Wimplicit-function-declaration]\r\n   iCurCost \u003d WelsSampleSad8x8_lasx(pDstChroma, 8, pEncCb, iEncStride);\r\n              ^~~~~~~~~~~~~~~~~~~~~\r\n              WelsSampleSad8x8_c\r\n\u003c\u003d\u003d\u003d\r\n\r\n(1) WelsSampleSad8x8_lasx called in .c file but wrapped by #if defined(HAVE_LASX) in sad_common.h,\r\n    so need to add HAVE_LASX define for .c files.\r\n(2) lsx/lasx simd codes are in .c files, so there is no need to add -mlsx/-mlasx for .cpp files."
    },
    {
      "commit": "6967c09a662723817e9b180e638c6cb1b61aa0e3",
      "tree": "fc1b658937f1f2ec76582803e8798e937e3cbbd2",
      "parents": [
        "17721565fd8115b4bb13ea044fcb3e509bbc7b91"
      ],
      "author": {
        "name": "Mark Harfouche",
        "email": "mark.harfouche@gmail.com",
        "time": "Thu Apr 20 01:21:54 2023"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 20 01:21:54 2023"
      },
      "message": "Avoid providing a warning if the requested number of threads is the (#3618)\n\ncurrent number of threads\r\n\r\nIt seems that this thread number parameter is always defined.\r\n\r\nWhen starting multiple contexts, it is seem hard to not specify this.\r\n\r\nTherefore, you end up with many warnings.\r\n\r\nThank you for considering"
    },
    {
      "commit": "17721565fd8115b4bb13ea044fcb3e509bbc7b91",
      "tree": "576b6a359b0f183072cbf78fd9d668d7f0e8bc36",
      "parents": [
        "09a4f3ec842a8932341b195c5b01e141c8a16eb7"
      ],
      "author": {
        "name": "aosmond",
        "email": "aosmond@mozilla.com",
        "time": "Thu Apr 20 01:20:15 2023"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 20 01:20:15 2023"
      },
      "message": "Bump the API version to add support for new requirements from Firefox. (#3648)\n\nExport the updated presentation timestamp from the decoder. This\r\nresolves frame jank in Firefox with B frames by displaying frames in\r\norder, without being dropped due to being too old for display.\r\n\r\nImplement Reset to flush pending frames from the decoder. This resolves\r\nseeking in Firefox with the updated presentation timestamps, where old\r\nframes would get processed and interfere with the seek.\r\n\r\nExpose more options for encoding so that we can potentially implement a\r\ngeneric GMP video encoder wrapper."
    },
    {
      "commit": "09a4f3ec842a8932341b195c5b01e141c8a16eb7",
      "tree": "72a5ee074e30e25b93126d32e7e4161f2deaeeed",
      "parents": [
        "290eea3716444d725268ff92c80d3a282d029f70"
      ],
      "author": {
        "name": "Yu-Chen (Eric) Sun",
        "email": "104293445+YCSun-Meta@users.noreply.github.com",
        "time": "Wed Mar 29 00:06:49 2023"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Mar 29 00:06:49 2023"
      },
      "message": "Fix NOMINMAX macro redefined issue (#3641)\n\n* Fix PSkip fast algorithm from screen-sharing\r\n\r\n* Fix NOMINMAX macro redefined issue\r\n\r\n---------\r\n\r\nCo-authored-by: Yu-Chen (Eric) Sun \u003cycsun@meta.com\u003e"
    },
    {
      "commit": "290eea3716444d725268ff92c80d3a282d029f70",
      "tree": "e4da273df9585a7374481720ed144ca3bd032f28",
      "parents": [
        "f8aeaae8e40ea7bbf665c3c4010c78413421ccb4"
      ],
      "author": {
        "name": "Yu-Chen (Eric) Sun",
        "email": "104293445+YCSun-Meta@users.noreply.github.com",
        "time": "Fri Mar 24 01:56:16 2023"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Mar 24 01:56:16 2023"
      },
      "message": "Fix PSkip fast algorithm from screen-sharing (#3638)\n\nCo-authored-by: Yu-Chen (Eric) Sun \u003cycsun@meta.com\u003e"
    },
    {
      "commit": "f8aeaae8e40ea7bbf665c3c4010c78413421ccb4",
      "tree": "3aac93428c513cd62dbd84ee8f1e6d34cf69d4c5",
      "parents": [
        "045aeac1dd01df12dec7b1ef8191b3193cf4273c"
      ],
      "author": {
        "name": "jinboson",
        "email": "57989823+jinboson@users.noreply.github.com",
        "time": "Tue Feb 28 07:20:40 2023"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Feb 28 07:20:40 2023"
      },
      "message": "Use getauxval to detect cpu capabilities (#3628)\n\nWill crash if cpucfg instruction is not supported."
    },
    {
      "commit": "045aeac1dd01df12dec7b1ef8191b3193cf4273c",
      "tree": "f38faec40371d308b8dbf01258fb1655480417da",
      "parents": [
        "b16f0c23213237c7957f47d605df4e2f4c4357a1"
      ],
      "author": {
        "name": "Martin Storsjö",
        "email": "martin@martin.st",
        "time": "Wed Jan 04 08:01:08 2023"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jan 04 08:01:08 2023"
      },
      "message": "Switch building of the unittest from Ant to Gradle (#3612)\n\nThis was missed in b16f0c23213237c7957f47d605df4e2f4c4357a1\r\nwhere the other targets were switched from Ant to Gradle.\r\n\r\nThis fixes building after switching to a newer version of the\r\nAndroid SDK (suppporting Gradle) where Ant no longer is supported."
    },
    {
      "commit": "b16f0c23213237c7957f47d605df4e2f4c4357a1",
      "tree": "61f13b67eb0ce1f06692f6bf83d62de5ba271e2a",
      "parents": [
        "c4156d5b76a9a8be6cbbeb36e62f35d5e5bd745e"
      ],
      "author": {
        "name": "guangwei",
        "email": "GuangweiWang@users.noreply.github.com",
        "time": "Tue Dec 27 01:19:27 2022"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Dec 27 01:19:27 2022"
      },
      "message": "pick up PR#3261 (#3599)\n\n1. switch from ant to gradle\r\n2. use clang as the default toolchain\r\nCo-authored-by: alexcohn \u003csasha.cohn@gmail.com\u003e"
    },
    {
      "commit": "c4156d5b76a9a8be6cbbeb36e62f35d5e5bd745e",
      "tree": "1a7643f9c88b3ab9059943dacbab457f9d936a3c",
      "parents": [
        "be615a497231ed9c616aae3e204b9762b238efb7"
      ],
      "author": {
        "name": "jinboson",
        "email": "57989823+jinboson@users.noreply.github.com",
        "time": "Fri Dec 23 00:37:02 2022"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Dec 23 00:37:02 2022"
      },
      "message": "Add unit test for IdctResAddPred8x8_c/lsx (#3591)\n\nThe meson test -C builddir -v outputs on LoongArch:\r\n\r\n[----------] 5 tests from DecoderDecodeMbAux\r\n[ RUN      ] DecoderDecodeMbAux.IdctResAddPred_c\r\n[       OK ] DecoderDecodeMbAux.IdctResAddPred_c (1 ms)\r\n[ RUN      ] DecoderDecodeMbAux.IdctResAddPred_lsx\r\n[       OK ] DecoderDecodeMbAux.IdctResAddPred_lsx (1 ms)\r\n[ RUN      ] DecoderDecodeMbAux.WelsNonZeroCount_c\r\n[       OK ] DecoderDecodeMbAux.WelsNonZeroCount_c (0 ms)\r\n[ RUN      ] DecoderDecodeMbAux.IdctResAddPred8x8_c\r\n[       OK ] DecoderDecodeMbAux.IdctResAddPred8x8_c (8 ms)\r\n[ RUN      ] DecoderDecodeMbAux.IdctResAddPred8x8_lsx\r\n[       OK ] DecoderDecodeMbAux.IdctResAddPred8x8_lsx (6 ms)\r\n[----------] 5 tests from DecoderDecodeMbAux (16 ms total)\r\n\r\nCo-authored-by: Jin Bo \u003cjinbo@loongson.cn\u003e"
    },
    {
      "commit": "be615a497231ed9c616aae3e204b9762b238efb7",
      "tree": "45088e44f0500095013b4051131b88803bb2bedd",
      "parents": [
        "4d8729ce4fcb8f4a0e4288b053b2d4827dd41a24"
      ],
      "author": {
        "name": "Lu Wang",
        "email": "98207586+wangluls@users.noreply.github.com",
        "time": "Fri Dec 23 00:35:41 2022"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Dec 23 00:35:41 2022"
      },
      "message": "Add LoongArch SIMD. (#3587)\n\n"
    },
    {
      "commit": "4d8729ce4fcb8f4a0e4288b053b2d4827dd41a24",
      "tree": "3ed8e60062c98a73f3a30fe7ee5a94b98ab363b1",
      "parents": [
        "e6a1e91fb8e5d816ee8047bb32136ec2087e457e"
      ],
      "author": {
        "name": "guangwei",
        "email": "GuangweiWang@users.noreply.github.com",
        "time": "Thu Dec 22 14:35:33 2022"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Dec 22 14:35:33 2022"
      },
      "message": "revert pull request #3609 (#3610)\n\n"
    },
    {
      "commit": "e6a1e91fb8e5d816ee8047bb32136ec2087e457e",
      "tree": "1009769e2e7bcb279d05dba11009354620fb1d63",
      "parents": [
        "0b2ef5e52425b9a3f3eacd02a6d8548aa2e82d72"
      ],
      "author": {
        "name": "guangwei",
        "email": "GuangweiWang@users.noreply.github.com",
        "time": "Thu Dec 22 13:52:02 2022"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Dec 22 13:52:02 2022"
      },
      "message": "just run git actions for pull request (#3609)\n\n"
    },
    {
      "commit": "0b2ef5e52425b9a3f3eacd02a6d8548aa2e82d72",
      "tree": "3ed8e60062c98a73f3a30fe7ee5a94b98ab363b1",
      "parents": [
        "a52d3b18112ba6616d4c1b5c3533c60edcc6c8df"
      ],
      "author": {
        "name": "Martin Storsjö",
        "email": "martin@martin.st",
        "time": "Thu Dec 22 12:11:00 2022"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Dec 22 12:11:00 2022"
      },
      "message": "Use WelsSnprintf instead of direct snprintf in tests (#3608)\n\nVersions of MSVC before 2015 lack snprintf; within the codec codebase\r\nitself, this is wrapped into WelsSnprintf. Within the testcases, there\r\nwere no uses of snprintf previously, only sprintf.\r\n\r\nWe could of course decide to stop caring about older versions of\r\nMSVC, but so far, those versions have still worked just fine.\r\nHowever, that requires changes to the build files for Windows Phone\r\n(\"make OS\u003dmsvc-wp\"), which currently expect to be built with MSVC 2013.\r\n\r\nDefine NOMINMAX before including windows.h, to avoid windows.h\r\nbreaking std::min in test code."
    },
    {
      "commit": "a52d3b18112ba6616d4c1b5c3533c60edcc6c8df",
      "tree": "843cdb142a5636c70c2e0c1547f2ac7700e44c06",
      "parents": [
        "886b9a5ea447a86df5923effde3ee104dfb840d6"
      ],
      "author": {
        "name": "huili2",
        "email": "huili2@cisco.com",
        "time": "Thu Dec 22 10:29:12 2022"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Dec 22 10:29:12 2022"
      },
      "message": "update enc metrics QP (#3603)\n\n"
    },
    {
      "commit": "886b9a5ea447a86df5923effde3ee104dfb840d6",
      "tree": "49738c4eca95685d5d932a647d2efc6e175acc92",
      "parents": [
        "b04458961a48ad2e5e6cf353611c964766cdbae6"
      ],
      "author": {
        "name": "guangwei",
        "email": "GuangweiWang@users.noreply.github.com",
        "time": "Thu Dec 22 10:04:52 2022"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Dec 22 10:04:52 2022"
      },
      "message": "update github workflow checkout version (#3606)\n\n"
    }
  ],
  "next": "b04458961a48ad2e5e6cf353611c964766cdbae6"
}
