You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[BUG] avc_ctx->cc_count is uint8_t/u8, wrapping around when H.264 access units accumulate multiple SEIs beyond 255 triplets #2379
Is this a regression (i.e. did it work before)? NO
What platform did you use? All (Linux / macOS / Windows)
What were the used arguments? Standard H.264 / MPEG-TS extraction (ccextractor input.ts)
Summary
In commit c1043ca7 (#2359), MAX_CC_COUNT and HDCC_MAX_TRIPLETS_PER_SLOT were raised from 31 to 310 so that H.264 access units carrying multiple SEI messages can buffer all their caption triplets without discarding the frame.
However, avc_ctx->cc_count is typed as unsigned char in C (src/lib_ccx/avc_functions.h:6) and u8 in Rust (src/rust/src/avc/common_types.rs:7). Because an 8-bit unsigned integer caps out at 255, the buffer accumulator wraps around whenever an access unit carries dense or multiple SEI packets totaling between 256 and 310 triplets.
The fix widens cc_count to uint16_t in C (avc_functions.h/c) and u16 with saturating addition in Rust (common_types.rs/core.rs), along with unit tests. All Rust tests, formatting checks, and Linux builds are passing cleanly with zero regressions on master.
Activity
[FIX] Widen avc cc_count to uint16_t/u16 to prevent overflow on multi…
[FIX] Widen avc cc_count to uint16_t/u16 to prevent overflow on multi…
muntasir-396 commentedon Oct 17, 2026
I have submitted a fix for this in PR #2380.
The fix widens
cc_counttouint16_tin C (avc_functions.h/c) andu16with saturating addition in Rust (common_types.rs/core.rs), along with unit tests. All Rust tests, formatting checks, and Linux builds are passing cleanly with zero regressions on master.[FIX] Widen avc cc_count to uint16_t/u16 to prevent overflow on multi…
[FIX] Widen avc cc_count to uint16_t/u16 and bound caption buffer (CC…
[FIX] Widen avc cc_count to uint16_t/u16 and bound caption buffer (CC…