-
Notifications
You must be signed in to change notification settings - Fork 6k
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
base: dev-v2
Are you sure you want to change the base?
Conversation
… 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.
@ojw28 The next change in this series |
@ojw28 Any update on this? |
@ojw28 Did you get a chance to look into this? Thanks! |
@ojw28 Ping. |
@ojw28 did you get hold of content to test this? awaiting feedback. |
@peddisri anyway you can pull in the latest from |
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. |
… pass.
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.
As per the spec, a CCP packet can contain more than one Service Blocks with same service number. Current implementation does not handle this.
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.
Clear Window tests failed. Clearing window removes the window from display, it should just clear the text..
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.