Beruflich Dokumente
Kultur Dokumente
This report documents our findings regarding the video corruption on Mac issue
reported by Minrray.
Problem
When CPU is loaded, the video stream is corrupted (i.e lines are seen) in a Mac
Observations
These are the basic observations we made which were also reported by the
customer:
1. The amount of corruption seen is proportional to CPU load
2. Higher resolutions show more corruption easily than lower resolution ones
3. Older Mac hardware show this easily
4. The problem is shown only in Mac OS X and not in other OSes run in a
similar hardware setup
Although observations #1 and #2 point to Mac OS X as the possible cause of the
issue, we wanted to confirm if this is indeed the case.
So, we performed a simple experiment.
1. We used a simple image sensor and the FX3 DVK and sent out a fixed
image from the sensor to the Mac.
2. Then, load the Mac and make sure that we see the video corruption.
3. Take a USB bus trace with a hardware analyzer like LeCroy Voyager and extract
the video data from the trace
4. Analyse the trace and get back the video frame sent by FX3
5. Check if the frame is corrupted or not
If the resulting frame is corrupted, then the FX3 firmware has a bug. But if it shows a
proper frame, then the Mac OS has a problem displaying the video.
NOTE: The firmware we used is extremely similar to Minrrays firmware
Page 1 of 4
Then, we used QuickTime Player on the Mac to view the video. One frame from
this video is as shown you can easily notice the corruption:
Page 2 of 4
Simultaneously, we took a USB Bus Trace using LeCroy Voyager, extracted all
the data packets from the trace and ran a Python script to get back the video
frame with YUV2 data.
And when one YUV2 frame is viewed using a player (YUV Player Deluxe), we
get this:
This shows that the FX3 is sending out data properly and in the correct order. So,
the only conclusion is that Mac OS X is unable to display video data properly
under high load.
Page 3 of 4
Page 4 of 4