From: Brendan McGrath <bmcgrath@codeweavers.com> --- configure.ac | 1 + dlls/iyuv_32/tests/Makefile.in | 6 ++++ dlls/iyuv_32/tests/i420frame.bmp | Bin 0 -> 50742 bytes dlls/iyuv_32/tests/iyuv_32.c | 45 +++++++++++++++++++++++++ dlls/iyuv_32/tests/resource.rc | 30 +++++++++++++++++ dlls/iyuv_32/tests/rgb24frame_flip.bmp | Bin 0 -> 27702 bytes 6 files changed, 82 insertions(+) create mode 100644 dlls/iyuv_32/tests/Makefile.in create mode 100755 dlls/iyuv_32/tests/i420frame.bmp create mode 100644 dlls/iyuv_32/tests/iyuv_32.c create mode 100644 dlls/iyuv_32/tests/resource.rc create mode 100644 dlls/iyuv_32/tests/rgb24frame_flip.bmp diff --git a/configure.ac b/configure.ac index 953edcce7b9..bc898b9bbb5 100644 --- a/configure.ac +++ b/configure.ac @@ -2881,6 +2881,7 @@ WINE_CONFIG_MAKEFILE(dlls/itircl) WINE_CONFIG_MAKEFILE(dlls/itss) WINE_CONFIG_MAKEFILE(dlls/itss/tests) WINE_CONFIG_MAKEFILE(dlls/iyuv_32) +WINE_CONFIG_MAKEFILE(dlls/iyuv_32/tests) WINE_CONFIG_MAKEFILE(dlls/joy.cpl) WINE_CONFIG_MAKEFILE(dlls/jscript) WINE_CONFIG_MAKEFILE(dlls/jscript/tests) diff --git a/dlls/iyuv_32/tests/Makefile.in b/dlls/iyuv_32/tests/Makefile.in new file mode 100644 index 00000000000..7d47050a25b --- /dev/null +++ b/dlls/iyuv_32/tests/Makefile.in @@ -0,0 +1,6 @@ +TESTDLL = iyuv_32.dll +IMPORTS = msvfw32 + +SOURCES = \ + iyuv_32.c \ + resource.rc diff --git a/dlls/iyuv_32/tests/i420frame.bmp b/dlls/iyuv_32/tests/i420frame.bmp new file mode 100755 index 0000000000000000000000000000000000000000..acebee03e4d77aa6f5720df1c0b0bc04940c67fe GIT binary patch literal 50742 zcmZ?rHJiWy24)Nl3>pj!3<(Sj3=97M|If&v02XI}%0oC1^54II|3~p?7>uTY(KIlc z21e7sXc`zz1EXnRG!2ZVfzdQDng&MGz-Ss6O#`E8VECp1hQELRkK)lV7)=ACX<#%B zjHZFnG%%V5M$^D(8W>FjqiJ9?4UDFN(KIlc21e7s@J$2%|1<m_#iL;`ng&MGz-Ss6 zO#`E8U^ESkrh(BkFq#HN)4*sN7)=ACX<#%BjHZF%n+6#EGW;LKqhT<b21e7sXc`zz z1EXnRG!2ZVfzdQDng&MGz-Ss6O#`E8U^ESkrh(y`2L3So`#*|D!(cQGjHZFnG%%V5 zM$^D(8W>FjqiJ9?4UDFN(KIlc21e7sXc`zz1H(5BFfjc2KZ-}gU^ESkrh(BkFq#HN z)4*sN7)=ACX<#%BjHZFnG%%V5M$^D(8W>Fj!#555XJGh0ibum>G!2ZVfzdQDng&MG zz-Ss6O#`E8U^ESkrh(BkFq#HN)4*sN7)=AiHw`c_F#I3IqhT<b21e7sXc`zz1EXnR zG!2ZVfzdQDng&MGz-Ss6O#`E8U^ESkrh(y`240VX(GVC7fzc2cpb)q?3PwX<Gz3ON zV1Pnk)hHMZfzc2c4S@j)feE8vGz3ONU^D~<C<L-b!DtAKhQMeD3{VIJj)Kt;7!85Z z5E!5k&>RJ$Aut*OqaiRrAs{dcMnhmU1V%$(fI^^Q6yObk0g9F(W9_n0fHwrpMgiUs zI5`UNhCtLPz#9S|MgiUsz+1VEN{)sAfe@H93h;)&kZGt5kVBP60p1X}Hwy5E!23~v RHw5xV0p1WGP`!<KX#n}>2Mz!L literal 0 HcmV?d00001 diff --git a/dlls/iyuv_32/tests/iyuv_32.c b/dlls/iyuv_32/tests/iyuv_32.c new file mode 100644 index 00000000000..01b67cc110f --- /dev/null +++ b/dlls/iyuv_32/tests/iyuv_32.c @@ -0,0 +1,45 @@ +/* + * Copyright 2026 Brendan McGrath for CodeWeavers + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include <windef.h> +#include <wingdi.h> +#include <vfw.h> +#include "wine/test.h" + +#define FOURCC_I420 mmioFOURCC('I','4','2','0') + +START_TEST(iyuv_32) +{ + BITMAPINFOHEADER in = + { + .biSize = sizeof(BITMAPINFOHEADER), + .biCompression = FOURCC_I420, + .biPlanes = 1, + .biWidth = 96, + .biHeight = 96, + .biSizeImage = 96 * 96 * 3 / 2, + }; + HIC hic; + + hic = ICLocate(ICTYPE_VIDEO, FOURCC_I420, &in, NULL, ICMODE_DECOMPRESS); + todo_wine + ok(!!hic, "Failed to locate iyuv codec\n"); + if (!hic) + return; + ICClose(hic); +} diff --git a/dlls/iyuv_32/tests/resource.rc b/dlls/iyuv_32/tests/resource.rc new file mode 100644 index 00000000000..d963e812105 --- /dev/null +++ b/dlls/iyuv_32/tests/resource.rc @@ -0,0 +1,30 @@ +/* + * Copyright 2026 Brendan McGrath for CodeWeavers + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include "windef.h" + +/* Generated with: */ +/* ffmpeg -f lavfi -i pal100bars=size=96x96 \ + * -vf transpose -pix_fmt bgr24 -frames:v 1 \ + * rgb24frame_flip.bmp */ +/* @makedep: rgb24frame_flip.bmp */ +rgb24frame_flip.bmp RCDATA rgb24frame_flip.bmp + +/* Generated by running the compression test on Windows */ +/* @makedep: i420frame.bmp */ +i420frame.bmp RCDATA i420frame.bmp diff --git a/dlls/iyuv_32/tests/rgb24frame_flip.bmp b/dlls/iyuv_32/tests/rgb24frame_flip.bmp new file mode 100644 index 0000000000000000000000000000000000000000..7795fcf3989b8bf6594935c15eedf22829f14229 GIT binary patch literal 27702 zcmZ?rHOpZD12YB&1`P%Vh6E^PWRL)hGeG4boKbQ#1V%$(Gz3ONU^E0qLtr!nMnhmU z1V%$(Gz3ONfSw`nkAYznjfTKz2#kinXb6mkz-S1JhQMeDjE2By2#kinXb8|D1Q;0p zj-t^J7!85Z5Eu=C(GVC7fzc2c4S~@R7!85Z5Eu;sI)uPqhJT}IGz3ONU^E0qLtr!n zMnhmU1V%$(Gz3ONU^E0qLx2t;FuMA1Gz3ONU^E0qLtr!nMnhmU1V%$(Gz3ONU^E0q zLx4UZ@c%!<C>jlc(GVC7fzc2c4S~@R7!85Z5Eu=C(GVC7fzc44LkKYZ{X2?ALtr!n zMnhmU1V%$(Gz3ONU^E0qLtr!nMnhmU1n3X~|3|@S2#kinXb6mkz-S1JhQMeDjE2By Q2#kinXb6mk09`@=09!zwZ~y=R literal 0 HcmV?d00001 -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/10467