mirror of
https://github.com/CCExtractor/ccextractor.git
synced 2026-02-03 21:23:48 +00:00
[PR #1913] [MERGED] feat(input): Add native SCC (Scenarist Closed Caption) input support #2702
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/CCExtractor/ccextractor/pull/1913
Author: @cfsmp3
Created: 12/27/2025
Status: ✅ Merged
Merged: 12/27/2025
Merged by: @cfsmp3
Base:
master← Head:feat/scc-input-support📝 Commits (5)
d4d2281feat(input): Add native SCC (Scenarist Closed Caption) input support2820042style: Fix formatting and clippy warnings7829c14fix: Initialize scc_framerate in init_options()fd4db0echore: Trigger CI re-run2b0d9edchore: trigger CI rebuild📊 Changes
17 files changed (+671 additions, -7 deletions)
View changed files
📝
src/ccextractor.c(+6 -0)📝
src/lib_ccx/ccx_common_constants.h(+1 -0)📝
src/lib_ccx/ccx_common_option.c(+2 -0)📝
src/lib_ccx/ccx_common_option.h(+1 -0)📝
src/lib_ccx/general_loop.c(+15 -2)📝
src/lib_ccx/lib_ccx.h(+9 -5)📝
src/lib_ccx/stream_functions.c(+24 -0)📝
src/rust/lib_ccxr/src/common/constants.rs(+1 -0)📝
src/rust/lib_ccxr/src/common/options.rs(+3 -0)📝
src/rust/src/args.rs(+5 -0)📝
src/rust/src/common.rs(+3 -0)📝
src/rust/src/ctorust.rs(+1 -0)📝
src/rust/src/demuxer/mod.rs(+1 -0)➕
src/rust/src/demuxer/scc.rs(+452 -0)📝
src/rust/src/demuxer/stream_functions.rs(+25 -0)📝
src/rust/src/libccxr_exports/demuxer.rs(+104 -0)📝
src/rust/src/parser.rs(+18 -0)📄 Description
Summary
Add native support for reading SCC (Scenarist Closed Caption) files directly, eliminating the need for external conversion tools like SCC2RAW.exe or Perl scripts.
--scc-framerateoption supporting 29.97 (default), 24, 25, 30 fpsCloses #1293
Implementation Details
Files Added
src/rust/src/demuxer/scc.rs- Core SCC parser with 12 unit testsFiles Modified
ccxr_is_scc_file,ccxr_process_scc)raw_loop()Testing
Round-Trip Test
Verified caption preservation through the SCC format:
Result: 118/118 captions matched (100% accuracy)
Additional Tests
--scc-framerate 24)Usage
Test Plan
--scc-framerateoption🤖 Generated with Claude Code
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.