SCC output omits some line position instructions which are included in G608 output #849

Closed
opened 2026-01-29 16:55:02 +00:00 by claunia · 6 comments
Owner

Originally created by @yukichigai on GitHub (Dec 6, 2025).

I've run into an intermittent issue with DVD and TS sources where SCC output somehow skips the line position instructions for some captions. Converting these same streams to G608 output shows the correct positioning, so it is clearly there but somehow being omitted. Here's an example:

SCC

00:09:28:28	 9420 4ce5 f420 6de5 20ea 7573 f420 7361 7920 73ef 6de5 f468 e96e 672c 2073 e9f2 ae80 942f 94ae

00:09:30:19	 942c

Corresponding CCD Disassembly

00:09:28:28	{RCL}Let me just say something, sir._{EOC}{ENM}
00:09:30:19	{EDM}

G608

148
00:09:28,936 --> 00:09:30,635
                                99999999999999999999999999999999RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
                                99999999999999999999999999999999RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
                                99999999999999999999999999999999RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
                                99999999999999999999999999999999RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
                                99999999999999999999999999999999RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
                                99999999999999999999999999999999RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
                                99999999999999999999999999999999RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
                                99999999999999999999999999999999RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
                                99999999999999999999999999999999RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
                                99999999999999999999999999999999RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
                                99999999999999999999999999999999RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
                                99999999999999999999999999999999RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
                                99999999999999999999999999999999RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
                                99999999999999999999999999999999RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
Let me just say something, sir. 00000000000000000000000000000009RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR

There should be a 9470/{1500} instruction at the start of the text in the SCC/CCD version, but it is missing for some reason.

Originally created by @yukichigai on GitHub (Dec 6, 2025). I've run into an intermittent issue with DVD and TS sources where SCC output somehow skips the line position instructions for some captions. Converting these same streams to G608 output shows the correct positioning, so it is clearly there but somehow being omitted. Here's an example: SCC ``` 00:09:28:28 9420 4ce5 f420 6de5 20ea 7573 f420 7361 7920 73ef 6de5 f468 e96e 672c 2073 e9f2 ae80 942f 94ae 00:09:30:19 942c ``` Corresponding CCD Disassembly ``` 00:09:28:28 {RCL}Let me just say something, sir._{EOC}{ENM} 00:09:30:19 {EDM} ``` G608 ``` 148 00:09:28,936 --> 00:09:30,635 99999999999999999999999999999999RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR 99999999999999999999999999999999RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR 99999999999999999999999999999999RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR 99999999999999999999999999999999RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR 99999999999999999999999999999999RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR 99999999999999999999999999999999RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR 99999999999999999999999999999999RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR 99999999999999999999999999999999RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR 99999999999999999999999999999999RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR 99999999999999999999999999999999RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR 99999999999999999999999999999999RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR 99999999999999999999999999999999RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR 99999999999999999999999999999999RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR 99999999999999999999999999999999RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR Let me just say something, sir. 00000000000000000000000000000009RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR ``` There should be a 9470/{1500} instruction at the start of the text in the SCC/CCD version, but it is missing for some reason.
Author
Owner

@Rahul-2k4 commented on GitHub (Dec 8, 2025):

Hi! I can reproduce this the row positioning codes (like 9470/{1500}) appear in G608 but are missing in SCC, so the SCC encoder is skipping them. I’m planning to work on a PR for this. Before I start, can you confirm that SCC should always output these positioning commands whenever they appear in the input?

@Rahul-2k4 commented on GitHub (Dec 8, 2025): Hi! I can reproduce this the row positioning codes (like 9470/{1500}) appear in G608 but are missing in SCC, so the SCC encoder is skipping them. I’m planning to work on a PR for this. Before I start, can you confirm that SCC should always output these positioning commands whenever they appear in the input?
Author
Owner

@yukichigai commented on GitHub (Dec 8, 2025):

Hi! I can reproduce this the row positioning codes (like 9470/{1500}) appear in G608 but are missing in SCC, so the SCC encoder is skipping them. I’m planning to work on a PR for this. Before I start, can you confirm that SCC should always output these positioning commands whenever they appear in the input?

I can confirm that. While most 608 captions are encoded in presentation order (i.e. left to right, top to bottom) the spec does allow for arbitrary position changes at any point in the stream.

@yukichigai commented on GitHub (Dec 8, 2025): > Hi! I can reproduce this the row positioning codes (like 9470/{1500}) appear in G608 but are missing in SCC, so the SCC encoder is skipping them. I’m planning to work on a PR for this. Before I start, can you confirm that SCC should always output these positioning commands whenever they appear in the input? I can confirm that. While most 608 captions are encoded in presentation order (i.e. left to right, top to bottom) the spec does allow for arbitrary position changes at any point in the stream.
Author
Owner

@Rahul-2k4 commented on GitHub (Dec 9, 2025):

Okay, got it thanks for confirming! I’ll work on a PR to make sure the SCC encoder always outputs those positioning PACs.

@Rahul-2k4 commented on GitHub (Dec 9, 2025): Okay, got it thanks for confirming! I’ll work on a PR to make sure the SCC encoder always outputs those positioning PACs.
Author
Owner

@cfsmp3 commented on GitHub (Dec 12, 2025):

@yukichigai Can you share a sample that shows this problem?

@cfsmp3 commented on GitHub (Dec 12, 2025): @yukichigai Can you share a sample that shows this problem?
Author
Owner

@cfsmp3 commented on GitHub (Dec 12, 2025):

@yukichigai Actually I found one. Can you take https://github.com/CCExtractor/ccextractor/pull/1791
for a spin?

@cfsmp3 commented on GitHub (Dec 12, 2025): @yukichigai Actually I found one. Can you take https://github.com/CCExtractor/ccextractor/pull/1791 for a spin?
Author
Owner

@yukichigai commented on GitHub (Dec 13, 2025):

Just ran it on one of the sources that was giving me trouble (the one in the example actually) and the output now looks correct.

SCC

00:09:28:28	 9420 9470 4ce5 f420 6de5 20ea 7573 f420 7361 7920 73ef 6de5 f468 e96e 672c 2073 e9f2 ae80 942f 94ae

00:09:30:19	 942c

CCD

00:09:28:28	{RCL}{1500}Let me just say something, sir._{EOC}{ENM}
00:09:30:19	{EDM}
@yukichigai commented on GitHub (Dec 13, 2025): Just ran it on one of the sources that was giving me trouble (the one in the example actually) and the output now looks correct. SCC ``` 00:09:28:28 9420 9470 4ce5 f420 6de5 20ea 7573 f420 7361 7920 73ef 6de5 f468 e96e 672c 2073 e9f2 ae80 942f 94ae 00:09:30:19 942c ``` CCD ``` 00:09:28:28 {RCL}{1500}Let me just say something, sir._{EOC}{ENM} 00:09:30:19 {EDM} ```
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/ccextractor#849