- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi
Originally, these two fields are filled with 0, and it can work normally.
But now there is the issue of voice synchronization, It seems that these two fields must be filled.
I have read the explanation of UVC spec, but still don't understand
I want to understand how they calculate. Can you give me a tutorial or a simple example?
Do I need to update PTS field once per frame? And how is SCR calculated?
Thank you !
Solved! Go to Solution.
- Labels:
-
USB Superspeed Peripherals
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Edited:
Hello,
Is my understanding of the PTS field correct?
>> As per the UVC spec, PTS is the source clock time in native device clock units when the raw frame capture begins. The PTS is in the same units as specified in the dwClockFrequency field of the Video Probe Control response.
In the default UVC firmware (AN75779), the dwClockFrequency in probe control structure is set as 384 MHz which is the SYSTEM CLOCK of FX3.
0x00, 0x60, 0xE3, 0x16, /* Device Clock */
Please refer to this thread Solved: CX3 timestamp - Cypress Developer Community
Please refer to this KBA for getting 0.1us timestamp How to Get a 0.1-µs Unit Timestamp with FX3 – KBA2... - Cypress Developer Community
Q: Assuming that 0.033 (s) has passed, this value must be filled in 0.033 / (1/1000) = 33?
>> D42..D32 represents the frame number at the time the STC was sampled.
Rashi
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
Please refer to table 2-6 of UVC v 1.5 specification. It mentions that PTS may be repeated for
multiple payload transfers comprising a single video frame, with the restriction that the value shall remain the same throughout that video frame.
scrSourceClock has two components : STC and 1KHz SOF token counter. The STC clock resolution shall be according to the dwClockFrequency field of the Probe and Commit response of the device
You can refer to the details in table 2-6 of spec. The payload header sent for a video frame will be same.
Rashi
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
hi Rashi
thanks for reply.
The following is my understanding:
- dwPresentationTime
Assuming FPS = 30, dwClockFrequency = 15MHz
The first frame timestamp = 0 (s) --> PTS = 0
The second frame timestamp = 0.033 (s) --> PTS = 0.033 / (1/15000000) = 495000
Is my understanding of the PTS field correct?
- scrSourceClock
- (D31..D0) System Time Clock (STC)
- The clock resolution shall be according to the dwClockFrequency
- This value shall comply with the associated stream payload specification.
Q: How is the calculation method of this field different from dwPresentationTime?
- (D42..D32) 1 KHz SOF counter
- This field indicates how many SOFs have passed so far?
Q: Assuming that 0.033 (s) has passed, this value must be filled in 0.033 / (1/1000) = 33?
thanks !
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Edited:
Hello,
Is my understanding of the PTS field correct?
>> As per the UVC spec, PTS is the source clock time in native device clock units when the raw frame capture begins. The PTS is in the same units as specified in the dwClockFrequency field of the Video Probe Control response.
In the default UVC firmware (AN75779), the dwClockFrequency in probe control structure is set as 384 MHz which is the SYSTEM CLOCK of FX3.
0x00, 0x60, 0xE3, 0x16, /* Device Clock */
Please refer to this thread Solved: CX3 timestamp - Cypress Developer Community
Please refer to this KBA for getting 0.1us timestamp How to Get a 0.1-µs Unit Timestamp with FX3 – KBA2... - Cypress Developer Community
Q: Assuming that 0.033 (s) has passed, this value must be filled in 0.033 / (1/1000) = 33?
>> D42..D32 represents the frame number at the time the STC was sampled.
Rashi