if(info.stride % info.width)
{
for(size_t i=0; i< info.height; ++i)
{
memcpy(dst + i* info.width * channel , src + i*info.stride ,info.width * channel);
}
if(prism::qt::ui::ENUM_PixelType::yuv420p == frame.pixelType)
{
size_t y_size = info.stride * info.height;
uint8_t* dstU = dst + info.width * info.height;
uint8_t* srcU = src + y_size;
for (size_t i = 0; i < info.height / 2; ++i) {
memcpy(dstU + i * (info.width / 2), srcU + i * (info.stride / 2), info.width / 2);
}
size_t u_size = (info.stride / 2) * (info.height / 2);
uint8_t* dstV = dstU + (info.width * info.height) / 4;
uint8_t* srcV = srcU + u_size;
for (size_t i = 0; i < info.height / 2; ++i) {
memcpy(dstV + i * (info.width / 2), srcV + i * (info.stride / 2), info.width / 2);
}
}
}
else
{
memcpy(dst, src ,dataBuffSize);
}