G608 output includes extra NULL character between 32 character text block and the 32 character text color block #854

Closed
opened 2026-01-29 16:55:24 +00:00 by claunia · 1 comment
Owner

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

G608 output produced by CCExtractor appears to differ from the spec laid out in the official documentation. Specifically, there is an additional NULL character (0x00) in between the 32 character block for text and the following 32 character block for text color. Example below, with NULL substituted by a Fullblock character:

1168
00:50:32,096 --> 00:50:33,496
                                █99999999999999999999999999999999RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
                                █99999999999999999999999999999999RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
                                █99999999999999999999999999999999RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
                                █99999999999999999999999999999999RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
                                █99999999999999999999999999999999RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
                                █99999999999999999999999999999999RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
                                █99999999999999999999999999999999RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
                                █99999999999999999999999999999999RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
                                █99999999999999999999999999999999RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
                                █99999999999999999999999999999999RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
                                █99999999999999999999999999999999RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
                                █99999999999999999999999999999999RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
                                █99999999999999999999999999999999RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
           I don't want it,     █99999999999000000000000000099999RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
           and I don't need it. █99999999999000000000000000000009RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
Originally created by @yukichigai on GitHub (Dec 6, 2025). G608 output produced by CCExtractor appears to differ from the spec laid out in the official documentation. Specifically, there is an additional NULL character (0x00) in between the 32 character block for text and the following 32 character block for text color. Example below, with NULL substituted by a Fullblock character: ``` 1168 00:50:32,096 --> 00:50:33,496 █99999999999999999999999999999999RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR █99999999999999999999999999999999RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR █99999999999999999999999999999999RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR █99999999999999999999999999999999RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR █99999999999999999999999999999999RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR █99999999999999999999999999999999RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR █99999999999999999999999999999999RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR █99999999999999999999999999999999RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR █99999999999999999999999999999999RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR █99999999999999999999999999999999RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR █99999999999999999999999999999999RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR █99999999999999999999999999999999RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR █99999999999999999999999999999999RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR I don't want it, █99999999999000000000000000099999RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR and I don't need it. █99999999999000000000000000000009RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR ```
Author
Owner

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

Hi! I looked into this issue and can confirm that the G608 output is inserting an extra 0x00 byte between the 32-character text block and the 32-character color block. This doesn’t match the documented G608 format, where the text and color arrays should be directly adjacent (64 bytes total with no padding).

Before opening a PR, I want to double-check whether this NULL byte was intended as padding or if it’s simply a leftover from older code. If it's unintended, I can provide a fix by adjusting the G608 serialization logic so the two blocks are written back-to-back without the NULL insertion.

Please let me know if removing this padding byte is the correct approach. I’m happy to prepare a PR once confirmed.

@Rahul-2k4 commented on GitHub (Dec 8, 2025): Hi! I looked into this issue and can confirm that the G608 output is inserting an extra 0x00 byte between the 32-character text block and the 32-character color block. This doesn’t match the documented G608 format, where the text and color arrays should be directly adjacent (64 bytes total with no padding). Before opening a PR, I want to double-check whether this NULL byte was intended as padding or if it’s simply a leftover from older code. If it's unintended, I can provide a fix by adjusting the G608 serialization logic so the two blocks are written back-to-back without the NULL insertion. Please let me know if removing this padding byte is the correct approach. I’m happy to prepare a PR once confirmed.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/ccextractor#854