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

A/B frame sync issue for HDMI raw mode #196

Open
se6astian-pi opened this issue Jan 7, 2022 · 0 comments
Open

A/B frame sync issue for HDMI raw mode #196

se6astian-pi opened this issue Jan 7, 2022 · 0 comments

Comments

@se6astian-pi
Copy link
Member

se6astian-pi commented Jan 7, 2022

For some reason the exposure might gets synced to the B frame instead of the A frame.
The problem here is the sequencer, the sequencer doesn't care whether we have an A or B frame, it simply syncs to a frame change
If that happens to be a B->A transition, then everything is fine and you will get A and B frame from the same exposure.

Proposed fix:
read out the frame counter register (the frame counter is in the hdmi generator register block)
wait for the right moment and then enable the acquisition (fil_reg 15)
the right place for this is the startup script (axiom_start.sh or a called subscript).

Bertl:
https://wiki.apertus.org/index.php/CMV12000_Register_Blocks (scan generator, second read only register)
I've updated the raw hdmi gateware to allow for using both the scan fcnt as well as the cseq fcnt in the marker overlays
http://vserver.13thfloor.at/Stuff/AXIOM/BETA/HDMIRAW/cmv_hdmi3_raw.bit
this should simplify testing and allow for sanity checks

0x80000004 RO [27:16] Scan Frame Counter is the one we want
axiom_scn_regi is the function to access these:
https://github.com/apertus-open-source-cinema/axiom-firmware/blob/main/software/scripts/axiom_mp1_reg.func

Bertl:
in the raw_mark.sh script, the 0xF000 value needs to be replaced with 0xF800 for the pixels where you want to use the cseq_fcnt instead of the scan_fcnt
I would suggest to have the top-left and bottom-right with 0xF000 while the top-right and bottom-left use the 0xF800
this way you can compare the sequencer and scan generator counts
note that you need to make sure (for the alternating raw data output) that the hdmi output rate has a factor of two to the acquisition frame rate
so the exposure time has to be within the proper limits

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant