From: Rémi Bernon <rbernon(a)codeweavers.com>
---
dlls/mf/tests/transform.c | 120 +++++++++++++++++++-------------------
1 file changed, 60 insertions(+), 60 deletions(-)
diff --git a/dlls/mf/tests/transform.c b/dlls/mf/tests/transform.c
index a24176b5ff8..247ee1d7faf 100644
--- a/dlls/mf/tests/transform.c
+++ b/dlls/mf/tests/transform.c
@@ -7441,84 +7441,89 @@ static void test_video_processor(void)
const struct transform_desc
{
const struct attribute_desc *input_type_desc;
+ const WCHAR *input_bitmap;
const struct attribute_desc *output_type_desc;
const struct sample_desc *output_sample_desc;
- const WCHAR *result_bitmap;
+ const WCHAR *output_bitmap;
ULONG delta;
BOOL broken;
}
video_processor_tests[] =
{
{
- .input_type_desc = nv12_default_stride, .output_type_desc =
rgb32_default_stride,
- .output_sample_desc = &rgb32_sample_desc, .result_bitmap =
L"rgb32frame-flip.bmp",
- .delta = 2, /* Windows returns 0, Wine needs 2 */
+ .input_type_desc = nv12_default_stride, .input_bitmap =
L"nv12frame.bmp",
+ .output_type_desc = rgb32_default_stride, .output_bitmap =
L"rgb32frame-flip.bmp",
+ .output_sample_desc = &rgb32_sample_desc, .delta = 2, /* Windows returns
0, Wine needs 2 */
},
{
- .input_type_desc = nv12_default_stride, .output_type_desc =
rgb32_negative_stride,
- .output_sample_desc = &rgb32_sample_desc, .result_bitmap =
L"rgb32frame-flip.bmp",
- .delta = 2, /* Windows returns 0, Wine needs 2 */
+ .input_type_desc = nv12_default_stride, .input_bitmap =
L"nv12frame.bmp",
+ .output_type_desc = rgb32_negative_stride, .output_bitmap =
L"rgb32frame-flip.bmp",
+ .output_sample_desc = &rgb32_sample_desc, .delta = 2, /* Windows returns
0, Wine needs 2 */
},
{
- .input_type_desc = nv12_default_stride, .output_type_desc =
rgb32_positive_stride,
- .output_sample_desc = &rgb32_sample_desc, .result_bitmap =
L"rgb32frame.bmp",
- .delta = 6,
+ .input_type_desc = nv12_default_stride, .input_bitmap =
L"nv12frame.bmp",
+ .output_type_desc = rgb32_positive_stride, .output_bitmap =
L"rgb32frame.bmp",
+ .output_sample_desc = &rgb32_sample_desc, .delta = 6,
},
{
- .input_type_desc = rgb32_default_stride, .output_type_desc =
nv12_default_stride,
- .output_sample_desc = &nv12_sample_desc, .result_bitmap =
L"nv12frame-flip.bmp",
- .delta = 2, /* Windows returns 0, Wine needs 2 */
+ .input_type_desc = rgb32_default_stride, .input_bitmap =
L"rgb32frame.bmp",
+ .output_type_desc = nv12_default_stride, .output_bitmap =
L"nv12frame-flip.bmp",
+ .output_sample_desc = &nv12_sample_desc, .delta = 2, /* Windows returns
0, Wine needs 2 */
},
{
- .input_type_desc = rgb32_negative_stride, .output_type_desc =
nv12_default_stride,
- .output_sample_desc = &nv12_sample_desc, .result_bitmap =
L"nv12frame-flip.bmp",
- .delta = 2, /* Windows returns 0, Wine needs 2 */
+ .input_type_desc = rgb32_negative_stride, .input_bitmap =
L"rgb32frame.bmp",
+ .output_type_desc = nv12_default_stride, .output_bitmap =
L"nv12frame-flip.bmp",
+ .output_sample_desc = &nv12_sample_desc, .delta = 2, /* Windows returns
0, Wine needs 2 */
},
{
- .input_type_desc = rgb32_positive_stride, .output_type_desc =
nv12_default_stride,
- .output_sample_desc = &nv12_sample_desc, .result_bitmap =
L"nv12frame.bmp",
- .delta = 2, /* Windows returns 1, Wine needs 2 */
+ .input_type_desc = rgb32_positive_stride, .input_bitmap =
L"rgb32frame.bmp",
+ .output_type_desc = nv12_default_stride, .output_bitmap =
L"nv12frame.bmp",
+ .output_sample_desc = &nv12_sample_desc, .delta = 2, /* Windows returns
1, Wine needs 2 */
},
{
- .input_type_desc = rgb32_negative_stride, .output_type_desc =
rgb32_negative_stride,
- .output_sample_desc = &rgb32_sample_desc, .result_bitmap =
L"rgb32frame.bmp",
+ .input_type_desc = rgb32_negative_stride, .input_bitmap =
L"rgb32frame.bmp",
+ .output_type_desc = rgb32_negative_stride, .output_bitmap =
L"rgb32frame.bmp",
+ .output_sample_desc = &rgb32_sample_desc,
},
{
- .input_type_desc = rgb32_negative_stride, .output_type_desc =
rgb32_positive_stride,
- .output_sample_desc = &rgb32_sample_desc, .result_bitmap =
L"rgb32frame-flip.bmp",
- .delta = 3, /* Windows returns 3 */
+ .input_type_desc = rgb32_negative_stride, .input_bitmap =
L"rgb32frame.bmp",
+ .output_type_desc = rgb32_positive_stride, .output_bitmap =
L"rgb32frame-flip.bmp",
+ .output_sample_desc = &rgb32_sample_desc, .delta = 3, /* Windows returns
3 */
},
{
- .input_type_desc = rgb32_positive_stride, .output_type_desc =
rgb32_negative_stride,
- .output_sample_desc = &rgb32_sample_desc, .result_bitmap =
L"rgb32frame-flip.bmp",
- .delta = 3, /* Windows returns 3 */
+ .input_type_desc = rgb32_positive_stride, .input_bitmap =
L"rgb32frame.bmp",
+ .output_type_desc = rgb32_negative_stride, .output_bitmap =
L"rgb32frame-flip.bmp",
+ .output_sample_desc = &rgb32_sample_desc, .delta = 3, /* Windows returns
3 */
},
{
- .input_type_desc = rgb32_positive_stride, .output_type_desc =
rgb32_positive_stride,
- .output_sample_desc = &rgb32_sample_desc, .result_bitmap =
L"rgb32frame.bmp",
+ .input_type_desc = rgb32_positive_stride, .input_bitmap =
L"rgb32frame.bmp",
+ .output_type_desc = rgb32_positive_stride, .output_bitmap =
L"rgb32frame.bmp",
+ .output_sample_desc = &rgb32_sample_desc,
},
{
- .input_type_desc = rgb32_with_aperture, .output_type_desc =
rgb32_with_aperture,
- .output_sample_desc = &rgb32_sample_desc, .result_bitmap =
L"rgb32frame.bmp",
- .broken = TRUE /* old Windows version incorrectly rescale */
+ .input_type_desc = rgb32_with_aperture, .input_bitmap =
L"rgb32frame.bmp",
+ .output_type_desc = rgb32_with_aperture, .output_bitmap =
L"rgb32frame.bmp",
+ .output_sample_desc = &rgb32_sample_desc, .broken = TRUE /* old Windows
version incorrectly rescale */
},
{
- .input_type_desc = rgb32_default_stride, .output_type_desc =
rgb555_default_stride,
- .output_sample_desc = &rgb555_sample_desc, .result_bitmap =
L"rgb555frame.bmp",
+ .input_type_desc = rgb32_default_stride, .input_bitmap =
L"rgb32frame.bmp",
+ .output_type_desc = rgb555_default_stride, .output_bitmap =
L"rgb555frame.bmp",
+ .output_sample_desc = &rgb555_sample_desc,
},
{
- .input_type_desc = rgb32_default_stride, .output_type_desc =
rgb555_negative_stride,
- .output_sample_desc = &rgb555_sample_desc, .result_bitmap =
L"rgb555frame.bmp",
+ .input_type_desc = rgb32_default_stride, .input_bitmap =
L"rgb32frame.bmp",
+ .output_type_desc = rgb555_negative_stride, .output_bitmap =
L"rgb555frame.bmp",
+ .output_sample_desc = &rgb555_sample_desc,
},
{
- .input_type_desc = rgb32_default_stride, .output_type_desc =
rgb555_positive_stride,
- .output_sample_desc = &rgb555_sample_desc, .result_bitmap =
L"rgb555frame-flip.bmp",
- .delta = 3, /* Windows returns 0, Wine needs 3 */
+ .input_type_desc = rgb32_default_stride, .input_bitmap =
L"rgb32frame.bmp",
+ .output_type_desc = rgb555_positive_stride, .output_bitmap =
L"rgb555frame-flip.bmp",
+ .output_sample_desc = &rgb555_sample_desc, .delta = 3, /* Windows returns
0, Wine needs 3 */
},
{
- .input_type_desc = rgb555_default_stride, .output_type_desc =
rgb555_positive_stride,
- .output_sample_desc = &rgb555_sample_desc, .result_bitmap =
L"rgb555frame-flip.bmp",
- .delta = 4, /* Windows returns 0, Wine needs 4 */
+ .input_type_desc = rgb555_default_stride, .input_bitmap =
L"rgb555frame.bmp",
+ .output_type_desc = rgb555_positive_stride, .output_bitmap =
L"rgb555frame-flip.bmp",
+ .output_sample_desc = &rgb555_sample_desc, .delta = 4, /* Windows returns
0, Wine needs 4 */
},
};
@@ -7866,38 +7871,33 @@ static void test_video_processor(void)
{
input_info.cbSize = actual_width * actual_height * 3 / 2;
check_mft_get_input_stream_info(transform, S_OK, &input_info);
-
- load_resource(L"nv12frame.bmp", &input_data,
&input_data_len);
- /* skip BMP header and RGB data from the dump */
- length = *(DWORD *)(input_data + 2);
- input_data_len = input_data_len - length;
- ok(input_data_len == 13824, "got length %lu\n", input_data_len);
- input_data = input_data + length;
}
else if (test->input_type_desc == rgb555_default_stride)
{
input_info.cbSize = actual_width * actual_height * 2;
check_mft_get_input_stream_info(transform, S_OK, &input_info);
-
- load_resource(L"rgb555frame.bmp", &input_data,
&input_data_len);
- /* skip BMP header and RGB data from the dump */
- length = *(DWORD *)(input_data + 2 + 2 * sizeof(DWORD));
- input_data_len -= length;
- ok(input_data_len == 18432, "got length %lu\n", input_data_len);
- input_data += length;
}
else
{
input_info.cbSize = actual_width * actual_height * 4;
check_mft_get_input_stream_info(transform, S_OK, &input_info);
+ }
- load_resource(L"rgb32frame.bmp", &input_data,
&input_data_len);
+ load_resource(test->input_bitmap, &input_data, &input_data_len);
+ if (test->input_type_desc == nv12_default_stride)
+ {
/* skip BMP header and RGB data from the dump */
+ length = *(DWORD *)(input_data + 2);
+ input_data_len = input_data_len - length;
+ }
+ else
+ {
+ /* skip BMP header */
length = *(DWORD *)(input_data + 2 + 2 * sizeof(DWORD));
input_data_len -= length;
- ok(input_data_len == 36864, "got length %lu\n", input_data_len);
- input_data += length;
}
+ ok(input_data_len == input_info.cbSize, "got length %lu\n",
input_data_len);
+ input_data += length;
input_sample = create_sample(input_data, input_data_len);
hr = IMFSample_SetSampleTime(input_sample, 0);
@@ -7933,7 +7933,7 @@ static void test_video_processor(void)
ref = IMFSample_Release(output_sample);
ok(ref == 1, "Release returned %ld\n", ref);
- ret = check_mf_sample_collection(output_samples, test->output_sample_desc,
test->result_bitmap);
+ ret = check_mf_sample_collection(output_samples, test->output_sample_desc,
test->output_bitmap);
ok(ret <= test->delta || broken(test->broken), "got %lu%%
diff\n", ret);
IMFCollection_Release(output_samples);
--
GitLab
https://gitlab.winehq.org/wine/wine/-/merge_requests/5536