mirror of
https://github.com/CCExtractor/ccextractor.git
synced 2026-02-03 21:23:48 +00:00
[PR #1916] [MERGED] feat(scc): Add configurable frame rate and styled PAC codes for SCC output #2709
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/1916
Author: @cfsmp3
Created: 12/27/2025
Status: ✅ Merged
Merged: 12/28/2025
Merged by: @cfsmp3
Base:
master← Head:fix/issue-1191-scc-framerate-and-preamble-codes📝 Commits (1)
021b788feat(scc): Add configurable frame rate and styled PAC codes for SCC output📊 Changes
6 files changed (+192 additions, -4 deletions)
View changed files
📝
src/lib_ccx/ccx_common_option.c(+1 -0)📝
src/lib_ccx/ccx_common_option.h(+3 -0)📝
src/lib_ccx/ccx_encoders_common.c(+1 -0)📝
src/lib_ccx/ccx_encoders_common.h(+3 -0)📝
src/lib_ccx/ccx_encoders_scc.c(+181 -4)📝
src/rust/src/common.rs(+3 -0)📄 Description
Summary
This PR addresses the remaining items from issue #1191 (SCC/CCD format improvements):
--scc-framerateoption now affects both input parsing AND output encoding (was hardcoded to 29.97fps)Changes
1. SCC Output Frame Rate
scc_frameratetoencoder_cfgandencoder_ctxstructsget_scc_fps()helper function in SCC encoderadd_timestamp()to use configurable frame rate2. Styled PAC (Preamble Address Code) Optimization
get_styled_pac_byte2()- computes byte2 for styled PACs (0x40-0x4F range)row_uses_high_range()- determines which PAC byte range to usewrite_styled_preamble()- writes styled PAC directlycan_use_styled_pac()- checks if optimization applieswrite_cc_buffer_as_scenarist()to use styled PAC when appropriateThis resolves the TODO comment at line 487: "Preamble code need to take into account font as well"
Test plan
Issue Reference
Fixes #1191
🤖 Generated with Claude Code
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.