I’m using NvBufferTransform to transform decoded jpeg images from YUV to ABGR. Here are the high level steps I’m taking (pseudocode):
jpegdec->decodeToFd(fd1)
NvBufferCreateEx(&fd2) → allocate hardware buffer if needed (image size changes)
NvBufferTransform(f1, fd2)
As long as consecutive images are of the same resolution or the next image has higher resolution everything works fine. But once NvBufferCreateEx allocates buffer with smaller resolution, NvBufferTransform throws the following error:
@DaneLLL so as far as I understand once a process allocates hardware buffer with size (x, y), the minimum size of the hardware buffer that can be allocated by the same process is (x/16, y/16). Is this correct?