Does imsdk require mfxFrameSurface1::mfxFrameData::Pitch to be a multiple of 16/32? Or it can be any value >= Width * bytes_per_pixel?
The pitch must be the number of bytes between the start of two consecutive rows in a frame, and the memory allocation of frames must use multiple of 16 for width (generally a hardware requirement for memory allocation of surfaces in video memory).
So, it is allowed case: Width = 544, Pitch = 546, Y and U pointers are both 16-byte-aligned. Am I right?
No, for video memory the pitch must also be multiple of 16.
Is Width = 544, Pitch = 560 allowed?
For more complete information about compiler optimizations, see our Optimization Notice.