[core,primitive] fix rgb primitive copy without conversion.

This commit is contained in:
Vic Lee 2024-11-04 17:51:57 +08:00
parent 7d5193d3d5
commit ce604a5a81
3 changed files with 43 additions and 0 deletions

View File

@ -309,6 +309,23 @@ static INLINE pstatus_t generic_image_copy_no_overlap_dst_alpha(
break;
}
break;
case PIXEL_FORMAT_RGBX32:
case PIXEL_FORMAT_RGBA32:
switch (DstFormat)
{
case PIXEL_FORMAT_RGBX32:
case PIXEL_FORMAT_RGBA32:
return generic_image_copy_bgrx32_bgrx32(
pDstData, nDstStep, nXDst, nYDst, nWidth, nHeight, pSrcData, nSrcStep,
nXSrc, nYSrc, srcVMultiplier, srcVOffset, dstVMultiplier, dstVOffset);
case PIXEL_FORMAT_RGB24:
return generic_image_copy_bgr24_bgrx32(
pDstData, nDstStep, nXDst, nYDst, nWidth, nHeight, pSrcData, nSrcStep,
nXSrc, nYSrc, srcVMultiplier, srcVOffset, dstVMultiplier, dstVOffset);
default:
break;
}
break;
default:
break;
}

View File

@ -196,6 +196,19 @@ static pstatus_t avx2_image_copy_no_overlap_dst_alpha(
break;
}
break;
case PIXEL_FORMAT_RGBX32:
case PIXEL_FORMAT_RGBA32:
switch (DstFormat)
{
case PIXEL_FORMAT_RGBX32:
case PIXEL_FORMAT_RGBA32:
return avx2_image_copy_bgrx32_bgrx32(
pDstData, nDstStep, nXDst, nYDst, nWidth, nHeight, pSrcData, nSrcStep,
nXSrc, nYSrc, srcVMultiplier, srcVOffset, dstVMultiplier, dstVOffset);
default:
break;
}
break;
default:
break;
}

View File

@ -180,6 +180,19 @@ static pstatus_t sse_image_copy_no_overlap_dst_alpha(
break;
}
break;
case PIXEL_FORMAT_RGBX32:
case PIXEL_FORMAT_RGBA32:
switch (DstFormat)
{
case PIXEL_FORMAT_RGBX32:
case PIXEL_FORMAT_RGBA32:
return sse_image_copy_bgrx32_bgrx32(
pDstData, nDstStep, nXDst, nYDst, nWidth, nHeight, pSrcData, nSrcStep,
nXSrc, nYSrc, srcVMultiplier, srcVOffset, dstVMultiplier, dstVOffset);
default:
break;
}
break;
default:
break;
}