[PATCH v5 3/7] mfplat/buffer: Fix the image copy function for IMC2/IMC4 buffers with odd height.
Giovanni Mascellani
gmascellani at codeweavers.com
Fri Jun 24 02:48:05 CDT 2022
Signed-off-by: Giovanni Mascellani <gmascellani at codeweavers.com>
---
v4:
* Rebased on "Use a more unique pattern when testing image formats."
---
dlls/mfplat/buffer.c | 3 +--
dlls/mfplat/tests/mfplat.c | 1 -
2 files changed, 1 insertion(+), 3 deletions(-)
diff --git a/dlls/mfplat/buffer.c b/dlls/mfplat/buffer.c
index 39407ccc9e2..a7ba306223d 100644
--- a/dlls/mfplat/buffer.c
+++ b/dlls/mfplat/buffer.c
@@ -100,8 +100,7 @@ static void copy_image_imc1(BYTE *dest, LONG dest_stride, const BYTE *src, LONG
static void copy_image_imc2(BYTE *dest, LONG dest_stride, const BYTE *src, LONG src_stride, DWORD width, DWORD lines)
{
- MFCopyImage(dest, dest_stride, src, src_stride, width / 2, lines / 2);
- MFCopyImage(dest + dest_stride / 2, dest_stride, src + src_stride / 2, src_stride, width / 2, lines / 2);
+ MFCopyImage(dest, dest_stride / 2, src, src_stride / 2, width / 2, lines);
}
static inline struct buffer *impl_from_IMFMediaBuffer(IMFMediaBuffer *iface)
diff --git a/dlls/mfplat/tests/mfplat.c b/dlls/mfplat/tests/mfplat.c
index f09ae368ccc..48f7a444add 100644
--- a/dlls/mfplat/tests/mfplat.c
+++ b/dlls/mfplat/tests/mfplat.c
@@ -6073,7 +6073,6 @@ static void test_MFCreate2DMediaBuffer(void)
case MAKEFOURCC('I','M','C','4'):
for (j = 0; j < ptr->height; j++)
for (k = 0; k < stride / 2; k++)
- todo_wine_if(ptr->height % 2 == 1 && j >= 2)
ok(data[j * (pitch / 2) + k] == (((j + ptr->height) % 16) << 4) + (k % 16),
"Unexpected byte %02x instead of %02x at test %d row %d column %d.\n",
data[j * (pitch / 2) + k], (((j + ptr->height) % 16) << 4) + (k % 16), i, j + ptr->height, k);
--
2.36.1
More information about the wine-devel
mailing list