#include <wine/vfw.h>
#include <registry.h>
-#include <config.h>
-
#define STORE_ALL \
__asm__ ( \
"push %%ebx\n\t" \
"pop %%ebx\n\t"::)
+#define WIN32_PATH "/usr/lib/win32"
typedef struct {
UINT uDriverSignature;
int usage;
}codec_t;
-//#define Win32Path "/usr/lib/win32/"
-#define Win32Path GST_WIN32_LIBDIR
static codec_t avi_codecs[]={
- {0, Win32Path"/divxc32.dll", 0}, //0
- {0, Win32Path"/ir50_32.dll", 0},
- {0, Win32Path"/ir41_32.dll", 0},
- {0, Win32Path"/ir32_32.dll", 0},
- {0, Win32Path"/mpg4c32.dll", 0},
- {0, Win32Path"/iccvid.dll", 0}, //5
- {0, Win32Path"/libvideodll.so", 0},
- {0, Win32Path"/divxa32.acm", 0}, //7
- {0, Win32Path"/msadp32.acm", 0},
+ {0, WIN32_PATH"/divxc32.dll", 0}, //0
+ {0, WIN32_PATH"/ir50_32.dll", 0},
+ {0, WIN32_PATH"/ir41_32.dll", 0},
+ {0, WIN32_PATH"/ir32_32.dll", 0},
+ {0, WIN32_PATH"/mpg4c32.dll", 0},
+ {0, WIN32_PATH"/iccvid.dll", 0}, //5
+ {0, WIN32_PATH"/libvideodll.so", 0},
+ {0, WIN32_PATH"/divxa32.acm", 0},
+ {0, WIN32_PATH"/msadp32.acm", 0},
+ {0, WIN32_PATH"/ativcr1.dll", 0},
+ {0, WIN32_PATH"/ativcr2.dll", 0}, //10
+ {0, WIN32_PATH"/i263_32.drv", 0},
+ {0, WIN32_PATH"/l3codeca.acm", 0},
+// {0, WIN32_PATH"/atiyvu9.dll", 0},
};
case mmioFOURCC('D', 'I', 'V', '4'):
case mmioFOURCC('d', 'i', 'v', '3'):
case mmioFOURCC('d', 'i', 'v', '4'):
+ case mmioFOURCC('M', 'P', '4', '1'):
+ case mmioFOURCC('M', 'P', '4', '2'):
+ case mmioFOURCC('M', 'P', '4', '3'):
printf("Video in DivX ;-) format\n");
drv_id=0;
break;
case mmioFOURCC('m', 'p', '4', '2'):
case mmioFOURCC('m', 'p', '4', '3'):
case mmioFOURCC('M', 'P', 'G', '4'):
- case mmioFOURCC('M', 'P', '4', '1'):
- case mmioFOURCC('M', 'P', '4', '2'):
- case mmioFOURCC('M', 'P', '4', '3'):
printf("Video in Microsoft MPEG-4 format\n");
drv_id=4;
break;
printf("Video in Cinepak format\n");
drv_id=5;
break;
+ case mmioFOURCC('V', 'C', 'R', '1'):
+ drv_id=9;
+ break;
+ case mmioFOURCC('V', 'C', 'R', '2'):
+ drv_id=10;
+ break;
+ case mmioFOURCC('i', '2', '6', '3'):
+ case mmioFOURCC('I', '2', '6', '3'):
+ drv_id=11;
+ break;
+// case mmioFOURCC('Y', 'V', 'U', '9'):
+// drv_id=12;
+// break;
default:
printf("Unknown codec %X='%c%c%c%c'\n", fccHandler,
fccHandler&0xFF, (fccHandler&0xFF00)>>8,
case 0x2://MS ADPCM
drv_id=8;
break;
+ case 0x55://MPEG Layer 3
+ printf("MPEG Layer 3 ( 0x55 )\n");
+ drv_id=12;
+ break;
default:
printf("Unknown ACM codec 0x%X\n", fccHandler);
return (HDRVR)0;
#include <sys/mman.h>
#include <sys/types.h>
-
+/*
#ifdef __linux__
#include <asm/unistd.h>
#include <asm/ldt.h>
#define __NR_modify_ldt 123
#endif
-
+*/
#include <wine/windef.h>
#include <wine/winerror.h>
#include <wine/heap.h>
*
* Convert an ldt_entry structure to the raw bytes of the descriptor.
*/
-static void LDT_EntryToBytes( unsigned long *buffer, const struct modify_ldt_ldt_s *content )
+/*static void LDT_EntryToBytes( unsigned long *buffer, const struct modify_ldt_ldt_s *content )
{
*buffer++ = ((content->base_addr & 0x0000ffff) << 16) |
(content->limit & 0x0ffff);
((content->limit_in_pages != 0) << 23) |
0xf000;
}
-
+*/
//
// funcs:
// 1 write old mode
// 0x11 write
//
+/*
static int modify_ldt( int func, struct modify_ldt_ldt_s *ptr,
unsigned long count )
{
"b" (func),
"c" (ptr),
"d" (sizeof(struct modify_ldt_ldt_s)*count) );
-#endif /* __PIC__ */
+#endif
if (res >= 0) return res;
errno = -res;
return -1;
perror("install_fs");
MESSAGE("Couldn't install fs segment, expect segfault\n");
}
-#endif /*linux*/
+#endif
#if defined(__NetBSD__) || defined(__FreeBSD__) || defined(__OpenBSD__)
{
MESSAGE("Did you reconfigure the kernel with \"options USER_LDT\"?\n");
}
}
-#endif /* __NetBSD__ || __FreeBSD__ || __OpenBSD__ */
+#endif
__asm__
(
"movl $0xf,%eax\n\t"
- "pushw %ax\n\t"
+// "pushw %ax\n\t"
"movw %ax, %fs\n\t"
);
prev_struct=malloc(8);
};
static int uninstall_fs()
{
+ printf("Uninstalling FS segment\n");
if(fs_seg==0)
return -1;
munmap(fs_seg, 0x30000);
+ fs_installed=0;
return 0;
}
-
+*/
//WINE_MODREF *local_wm=NULL;
modref_list* local_wm=NULL;
{
free(list);
local_wm=NULL;
- uninstall_fs();
+// uninstall_fs();
return;
}
for(;list;list=list->prev)
SetLastError(ERROR_INVALID_PARAMETER);
return 0;
}
- if(fs_installed==0)
- install_fs();
+// if(fs_installed==0)
+// install_fs();
wm = MODULE_LoadLibraryExA( libname, hfile, flags );