summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--etc/codecs.conf9
-rw-r--r--loader/registry.c29
-rw-r--r--loader/win32.c2
3 files changed, 36 insertions, 4 deletions
diff --git a/etc/codecs.conf b/etc/codecs.conf
index aefb741985..21a9cc4855 100644
--- a/etc/codecs.conf
+++ b/etc/codecs.conf
@@ -1960,6 +1960,15 @@ videocodec LEADMW20
guid 0xe2b7dc56, 0x38c5, 0x11d5, 0x91, 0xf6, 0x00, 0x10, 0x4b, 0xdb, 0x8f, 0xf9
out BGR24,BGR8 flip
+videocodec cineformhd
+ info "CineForm HD"
+ status working
+ fourcc CFHD
+ driver dshow
+ dll "CFDecode2.ax"
+ guid 0xAD83011E, 0x01d1, 0x4623, 0x91, 0xfd, 0x6b, 0x75, 0xf1, 0x83, 0xc5, 0xa9
+ out UYVY
+
videocodec lagarith
info "Lagarith Lossless Video Codec"
comment "http://lags.leetcode.net/codec.html, requires an MMX2 CPU."
diff --git a/loader/registry.c b/loader/registry.c
index cab63ceb72..4a41911cdf 100644
--- a/loader/registry.c
+++ b/loader/registry.c
@@ -400,9 +400,32 @@ long __stdcall RegQueryValueExA(long key, const char* value, int* reserved, int*
if (!c)
return 1;
t=find_value_by_name(c);
+ if (t==0) {
+ // Hacks for CineForm.
+ if (strcmp(c, "HKCU\\SOFTWARE\\CineForm\\DecoderProperties\\Resolution") == 0) {
+ if (data)
+ *data = 1000;
+ if (type)
+ *type = REG_DWORD;
+ if (count)
+ *count = sizeof(DWORD);
+ free(c);
+ return ERROR_SUCCESS;
+ }
+ if (strcmp(c, "HKCU\\SOFTWARE\\CineForm\\DecoderProperties\\PixelFormats") == 0) {
+ if (data)
+ *data = 0xffff;
+ if (type)
+ *type = REG_DWORD;
+ if (count)
+ *count = sizeof(DWORD);
+ free(c);
+ return ERROR_SUCCESS;
+ }
+ free(c);
+ return ERROR_FILE_NOT_FOUND;
+ }
free(c);
- if (t==0)
- return 2;
if (type)
*type=t->type;
if (data)
@@ -419,7 +442,7 @@ long __stdcall RegQueryValueExA(long key, const char* value, int* reserved, int*
{
*count=t->len;
}
- return 0;
+ return ERROR_SUCCESS;
}
long __stdcall RegCreateKeyExA(long key, const char* name, long reserved,
void* classs, long options, long security,
diff --git a/loader/win32.c b/loader/win32.c
index 0b1999a043..ab07574803 100644
--- a/loader/win32.c
+++ b/loader/win32.c
@@ -3764,7 +3764,7 @@ static HANDLE WINAPI expCreateFileA(LPCSTR cs1,DWORD i1,DWORD i2,
free(tmp);
return result;
}
- if (strstr(cs1, "vp3") || strstr(cs1, ".fpf"))
+ if (strstr(cs1, "vp3") || strstr(cs1, ".fpf") || strstr(cs1, ".col"))
{
int r;
int flg = 0;