[PR #1827] [CLOSED] Fix SCC timing by accounting for EIA-608 transmission bandwidth #2578

Open
opened 2026-01-29 17:22:54 +00:00 by claunia · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/CCExtractor/ccextractor/pull/1827
Author: @DhanushVarma-2
Created: 12/15/2025
Status: Closed

Base: masterHead: fix/scc-accurate-timing


📝 Commits (4)

  • 399b939 fix: scope SCC timing to encoder context (fixes test failures)
  • 6f013b7 fix: use original display time for transmission end tracking
  • 154a4f1 fix: apply SCC accurate timing to 608 encoder path
  • aad0d78 style: apply clang-format to modified files

📊 Changes

4 files changed (+73 additions, -1 deletions)

View changed files

📝 src/lib_ccx/ccx_decoders_708_output.c (+31 -0)
📝 src/lib_ccx/ccx_encoders_common.c (+1 -0)
📝 src/lib_ccx/ccx_encoders_common.h (+2 -0)
📝 src/lib_ccx/ccx_encoders_scc.c (+39 -1)

📄 Description

In raising this pull request, I confirm the following (please check boxes):

  • I have read and understood the contributors guide.
  • I have checked that another pull request for this purpose does not exist.
  • I have considered, and confirmed that this submission will be valuable to others.
  • I accept that this submission may not be used, and the pull request closed at the will of the maintainer.
  • I give this submission freely, and claim no ownership to its content.
  • I have mentioned this change in the changelog.

My familiarity with the project is as follows (check one):

  • I have never used CCExtractor.
  • I have used CCExtractor just a couple of times.
  • I absolutely love CCExtractor, but have not contributed previously.
  • I am an active contributor to CCExtractor.

This PR fixes inaccurate SCC timing by accounting for the 2-bytes-per-frame
EIA-608 transmission limit (29.97 fps).

Changes:

  • Compute SCC byte cost per caption
  • Pre-roll SCC transmission so EOC lands at display time
  • Prevent overlapping SCC transmissions between captions

This makes SCC output compliant with broadcast rules and fixes #1221.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/CCExtractor/ccextractor/pull/1827 **Author:** [@DhanushVarma-2](https://github.com/DhanushVarma-2) **Created:** 12/15/2025 **Status:** ❌ Closed **Base:** `master` ← **Head:** `fix/scc-accurate-timing` --- ### 📝 Commits (4) - [`399b939`](https://github.com/CCExtractor/ccextractor/commit/399b9397cb664046806c833a52d68884b6bcd3d3) fix: scope SCC timing to encoder context (fixes test failures) - [`6f013b7`](https://github.com/CCExtractor/ccextractor/commit/6f013b7efe0dcc7584b323fad4808e78d9dd3449) fix: use original display time for transmission end tracking - [`154a4f1`](https://github.com/CCExtractor/ccextractor/commit/154a4f1696c687d08853d6f4e565ccd4666b9f12) fix: apply SCC accurate timing to 608 encoder path - [`aad0d78`](https://github.com/CCExtractor/ccextractor/commit/aad0d78274cb8c244244f999d78730ff65ced34e) style: apply clang-format to modified files ### 📊 Changes **4 files changed** (+73 additions, -1 deletions) <details> <summary>View changed files</summary> 📝 `src/lib_ccx/ccx_decoders_708_output.c` (+31 -0) 📝 `src/lib_ccx/ccx_encoders_common.c` (+1 -0) 📝 `src/lib_ccx/ccx_encoders_common.h` (+2 -0) 📝 `src/lib_ccx/ccx_encoders_scc.c` (+39 -1) </details> ### 📄 Description <!-- Please prefix your pull request with one of the following: **[FEATURE]** **[FIX]** **[IMPROVEMENT]**. --> **In raising this pull request, I confirm the following (please check boxes):** - [ ] I have read and understood the [contributors guide](https://github.com/CCExtractor/ccextractor/blob/master/.github/CONTRIBUTING.md). - [ ] I have checked that another pull request for this purpose does not exist. - [ ] I have considered, and confirmed that this submission will be valuable to others. - [ ] I accept that this submission may not be used, and the pull request closed at the will of the maintainer. - [ ] I give this submission freely, and claim no ownership to its content. - [ ] **I have mentioned this change in the [changelog](https://github.com/CCExtractor/ccextractor/blob/master/docs/CHANGES.TXT).** **My familiarity with the project is as follows (check one):** - [ ] I have never used CCExtractor. - [ ] I have used CCExtractor just a couple of times. - [ ] I absolutely love CCExtractor, but have not contributed previously. - [x] I am an active contributor to CCExtractor. --- This PR fixes inaccurate SCC timing by accounting for the 2-bytes-per-frame EIA-608 transmission limit (29.97 fps). Changes: - Compute SCC byte cost per caption - Pre-roll SCC transmission so EOC lands at display time - Prevent overlapping SCC transmissions between captions This makes SCC output compliant with broadcast rules and fixes #1221. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
claunia added the pull-request label 2026-01-29 17:22:54 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/ccextractor#2578