Part Number: AM5728
Tool/software: Linux
Hi,
I am using VPE to do resize and chroma conversion (from 422ILE to 420SP) using PSDK_2_00_00_00 on AM57x. For one use case, I need to dynamically change the VPE output resolution from W1xH to W2xH (W1 > W2) seamlessly. I followed below steps in order to enable this
1. Put both CAPTURE and OUTPUT planes in STREAM_OFF state
2. Do VIDIOC_G_FMT on CAPTURE plane (VPE output)
3. Change only the following parameters with respect to change in width (from W1 to W2)
fmt.pix_mp.width = W2
fmt.pix_mp.plane_fmt[0].bytesperline = W2
fmt.pix_mp.plane_fmt[1].bytesperline = W2
4. Do “VIDIOC_S_FMT” on CAPTURE Plane
5. Put both CAPTURE and OUTPUT planes in STREAM_ON state
Note: As W2 < W1, I am using the same buffers as allocated w.r.t. W1
When I run my application following the above steps, I see "Device or resource busy" error at Step 4.
Please let me know if such a use case can be realized using VPE (changing the resolution dynamically seamlessly using the same buffers). If yes, let me know if I am missing something with respect to the steps mentioned.
Regards,
Mahender