Skip to content
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

CEA 708 Decoder Improvements to meet Spec compliance and Sarnoff test… #4595

Open
wants to merge 1 commit into
base: dev-v2
Choose a base branch
from

Conversation

peddisri
Copy link
Contributor

@peddisri peddisri commented Jul 30, 2018

… pass.

  1. To support DLY and DLC commands, we need to have a service input buffer. Also the current design of CEA708 Decoder is not according to the spec. As per the spec CCP and service blocks are asynchronous. So we can't wait to start parsing service blocks until after generating a complete CCP. The parsing of various layers much be chained and be executed in parallel.

  2. As per the spec, a CCP packet can contain more than one Service Blocks with same service number. Current implementation does not handle this.

  3. Extended Service number should not be added to the service number read from the standard service block header.Instead, it should be read from the extended service block header.

  4. Clear Window tests failed. Clearing window removes the window from display, it should just clear the text..

  5. Sometimes the CC text is all jumbled up for H.264 content.There is a timing issue in rendering CC. Due to H264 B frames decoding and presentation order mismatch, sometimes, older timestamps CC frames are being decoded that resulted into jumbled CC text.We reject input frames that are older than the last decoded frames and delay processing input frames till we have received at least half of the input frames that can be held in the input queue.

… pass.

1. To support DLY and DLC commands, we need to have a service input buffer. Also the current design of CEA708 Decoder is not according to the spec. As per the spec CCP and service blocks are asynchronous. So we can't wait to start parsing service blocks until after generating a complete CCP. The parsing of various layers much be chained and be executed in parallel.

2. As per the spec, a CCP packet can contain more than one Service Blocks with same service number. Current implementation does not handle this.

3. Extended Service number should not be added to the service number read from the standard service block header.Instead, it should be read from the extended service block header.

4. Clear Window tests failed. Clearing window removes the window from display, it should just clear the text..

5. Sometimes the CC text is all jumbled up for H.264 content.There is a timing issue in rendering CC. Due to H264 B frames decoding and presentation order mismatch, sometimes, older timestamps CC frames are being decoded that resulted into jumbled CC text.We reject input frames that are older than the last decoded frames and ee delay processing input frames till we have received at least half of the input frames that can be held in the input queue.
@peddisri
Copy link
Contributor Author

@ojw28 The next change in this series

@peddisri
Copy link
Contributor Author

peddisri commented Aug 2, 2018

@ojw28 Any update on this?

@peddisri
Copy link
Contributor Author

peddisri commented Aug 7, 2018

@ojw28 Did you get a chance to look into this? Thanks!

@peddisri
Copy link
Contributor Author

@ojw28 Ping.

@zsmatyas zsmatyas mentioned this pull request Oct 9, 2018
@peddisri
Copy link
Contributor Author

@ojw28 did you get hold of content to test this? awaiting feedback.

@BetweenTwoBits
Copy link

@peddisri anyway you can pull in the latest from dev-v2? I'd like to review and test this branch with some Comcast assets.

@zsmatyas
Copy link
Contributor

Unfortunately, we are not going to keep this pull request up-to-date any more. I have created independent pull requests for almost all CEA608 features that are not dependent on other modifications, they should be already part of the latest release branches.

708 changes were rejected as there was no clear way to test the code an confirm behavior before. As I recall exo v2.5.4 is the latest code base we had a pull request ready for. It was rather large, so there was no chance of it being accepted as is.

@ojw28 ojw28 assigned icbaker and unassigned ojw28 Jul 6, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants