-
Notifications
You must be signed in to change notification settings - Fork 10k
replay: convert UBWC VisionBuf to nv12 with sde rotator #35575
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
base: master
Are you sure you want to change the base?
Conversation
9cfb40e
to
2e07b4b
Compare
5998b7e
to
f926e86
Compare
f926e86
to
5dcc5cc
Compare
This PR has had no activity for 9 days. It will be automatically closed in 2 days if there is no activity. |
This PR has been automatically closed due to inactivity. Feel free to re-open once activity resumes. |
This PR has had no activity for 9 days. It will be automatically closed in 2 days if there is no activity. |
This PR has had no activity for 9 days. It will be automatically closed in 2 days if there is no activity. |
This PR has been automatically closed due to inactivity. Feel free to re-open once activity resumes. |
Does this work? If so, we can just merge after a little cleanup. |
https://github.dev/commaai/agnos-kernel-sdm845/blob/0ba5f48f36d4e43c3b095a410279ed08050209fb/drivers/gpu/drm/msm/sde/sde_hw_rot.c#L583
decompress NV12 UBWC VisionBuf to NV12 with sde rotator hardware. This uses v4l2 to set the input frame buffer format (in this case, V4L2_PIX_FMT_NV12_UBWC) to the desired format (decompressed V4L2_PIX_FMT_NV12). A program will provide put_frame(vision_buf), with a pointer to an allocated visionbuf which needs to be decompressed which will then send the command to the hardware. Then call get_frame which will poll the rotator fd and return a pointer to the decompressed vision buffer.
Note that OUTPUT buffers are the inputs (nv12_ubwc) and CAPTURE buffers are the output (nv12).