Skip to content

Conversation

@papr
Copy link
Contributor

@papr papr commented Sep 5, 2019

Previously, the uvc backend did not check the provided YUV subsampling if a YUV buffer was available. pyglui only supports YUV 422 subsampling. If update_from_yuv_buffer was called with a different subsampling than YUV 422 it resulted in instabilities and incorrect rendering.

The internal conversion from YUV to BGR takes the subsampling into account correctly. Therefore, update_from_ndarray(frame.bgr) works correctly.

This change was not implemented in Base_Source since not all backends provide the yuv_subsampling attribute.

@papr papr added the type: bug label Sep 5, 2019
@papr papr requested a review from pfaion September 5, 2019 15:01
@papr papr self-assigned this Sep 5, 2019
@pfaion
Copy link
Contributor

pfaion commented Sep 5, 2019

@papr is there any way of reproducing the issues, such that I can do a before/after validation?

@papr
Copy link
Contributor Author

papr commented Sep 5, 2019

@pfaion yes, use a PI headset and connect to Capture.

@pfaion
Copy link
Contributor

pfaion commented Sep 10, 2019

@papr I guess the new expected behavior of PI on Capture is still ghost mode, but without errors?

Turns out this only goes into ghost mode because I'm missing the drivers on Windows. Otherwise this is fine now!

Copy link
Contributor

@pfaion pfaion left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:shipit:

@papr papr merged commit ded1ed9 into pupil-labs:master Sep 10, 2019
@papr papr deleted the yuv22_check branch March 12, 2020 14:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants