mirror of
https://github.com/CCExtractor/ccextractor.git
synced 2026-02-03 21:23:48 +00:00
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/1971
Author: @ujjwalr27
Created: 1/2/2026
Status: ✅ Merged
Merged: 1/3/2026
Merged by: @cfsmp3
Base:
master← Head:scc-accurate-timing📝 Commits (6)
7166e48Add --scc-accurate-timing option for bandwidth-aware SCC output (fixes #1120)946c585Add --scc-accurate-timing option for bandwidth-aware SCC output (fixes #1120)317c66fFix clang-format style issuesaaf937aFix rustfmt style issues in lib_ccxr22d5d35Fix SCC accurate timing: separate load/display timestamps, skip clear commands, pass YouTube validationf40294cminor fix📊 Changes
10 files changed (+270 additions, -15 deletions)
View changed files
📝
src/lib_ccx/ccx_common_option.c(+3 -2)📝
src/lib_ccx/ccx_common_option.h(+2 -1)📝
src/lib_ccx/ccx_encoders_common.c(+3 -0)📝
src/lib_ccx/ccx_encoders_common.h(+8 -3)📝
src/lib_ccx/ccx_encoders_scc.c(+234 -7)📝
src/rust/lib_ccxr/src/common/options.rs(+4 -1)📝
src/rust/src/args.rs(+7 -0)📝
src/rust/src/common.rs(+3 -0)📝
src/rust/src/parser.rs(+5 -0)📝
windows/ccextractor.sln(+1 -1)📄 Description
In raising this pull request, I confirm the following (please check boxes):
My familiarity with the project is as follows (check one):
Summary
This PR implements bandwidth-aware timing for SCC (Scenarist Closed Caption) output to ensure YouTube and broadcast compliance, addressing issue #1221.
Problem
SCC files generated by CCExtractor were being rejected by YouTube due to timing violations. The EIA-608 standard specifies a transmission bandwidth of 2 bytes per frame, but CCExtractor was not accounting for the time required to transmit captions before their display time, causing overlapping transmissions and compliance issues.
Solution
Added a new
--scc-accurate-timingcommand-line option that implements:Changes Made
C Code
ccx_common_option.h/c: Addedscc_accurate_timingoption (default: off)ccx_encoders_common.h/c: Added timing state tracking (scc_last_transmission_end,scc_last_display_end)Rust Code
--scc-accurate-timingCLI argumentUsage