how/where to implement case-insensitive fourcc check?
Joerg-Cyril.Hoehle at t-systems.com
Joerg-Cyril.Hoehle at t-systems.com
Thu Mar 26 07:00:19 CDT 2009
Hi,
I'm looking for advice about how to properly implement the
case-insensitive fourcc check of video formats required by the
conformance test msvfw32, i.e. how to eliminate the 2 todo_wine
in http://test.winehq.org/data/tests/msvfw32:msvfw.html
This would allow the AppDB rating of the application "The Alien
Nations / Die Völker" to jump from garbage to silver.
Cf. http://bugs.winehq.org/show_bug.cgi?id=15915
http://source.winehq.org/git/wine.git/?a=blob;f=dlls/msvfw32/tests/msvfw.c;hb=HEAD
The quick and dirty hack (to make the game run) is to change
- if (icinfo && icinfo->fccType != ICTYPE_VIDEO)
into
+ if (icinfo && icinfo->fccType != ICTYPE_VIDEO && icinfo->fccType != mmioFOURCC('V', 'I', 'D', 'C'))
in files dlls/iccvid/iccvid.c, likewise
in msvidc32/msvideo1.c and msrle32/msrle32.c
But I wouldn't even think of submiting that to wine-patches.
Somehow a case-insensitive check is required. For instance,
msvfw32/msvideo_main.c:ICOpen() uses the case-insensitive helper
function compare_fourcc(). But the above may not be the correct place
for this check. Any suggestions?
Thanks for your help,
Jörg Höhle
More information about the wine-devel
mailing list