Merge pull request #10817 from llyzs/rgbcopy

[core,primitive] fix rgb primitive copy without conversion.
This commit is contained in:
Martin Fleisz 2024-11-04 15:10:00 +01:00 committed by GitHub
commit 7d8711cd72
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
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;
}