-
Notifications
You must be signed in to change notification settings - Fork 64
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Unable to render all 64 characters in a single frame. #44
Comments
This is very much a bug. Thanks! I'll update here when I have an opportunity to resolve |
I had some time this morning to look into this issue further, and was able to resolve one of my issues. Issue 1 (w/Solution): Lines 414 to 435 in e8b6261
Something like this should fix it: // Check if the caption is finished first
uint16_t is_finished = cc_data & eia608_control_end_of_caption;
// Prevent new 708 header when caption is finished
if (31 == cea708->user_data.cc_count && is_finished != eia608_control_end_of_caption) {
sei_append_708(sei, cea708);
} Please let me know if I can submit a pull request or if you would like to do it yourself. Issue 2: I have a workaround where cc_count will not get incremented on command words, which partially works. I have gotten all 64 visible characters to be displayed, but at the cost of breaking lots and lots of other things. I will update again when I make more progress. If you have any advice I'd be happy to hear it! Thanks, |
I'm hoping you can help me with a bug I am working through.
From my understanding, CEA-608 should be able to render 64 characters per frame, two rows of 32 columns each. However, with libcaption I am only able to render up to 51 characters at a time. The characters that were cut off are placed into the next
sei_message_t
. Is this intentional or a bug?I've been looking at
sei_from_caption_frame() and sei_encode_eia608()
for some insight into what might be going on.Every time an
eia608_control_command
is issued thecea708->user_data.cc_count
is incremented. Won't this throw off the countif (31 == cea708->user_data.cc_count)
when the number of characters is equal to 64?At my 51st character,
cc_data = eia608_from_utf8_1(data, DEFAULT_CHANNEL) = 0
. This forces theeia608_control_end_of_caption
message to be issued (although I never see that in a hexdump of the sei message) and a new header gets issued with the remaining data. I haven't been able to figure out where this cc_data=0 is coming from yet.I have noticed this behavior working out of both master and develop branches, though at present I am in the develop branch. I was hoping to have a patch for you instead of questions, but I am stumped at the moment.
Can you provide any information on this issue?
Thank you,
Josh
The text was updated successfully, but these errors were encountered: