annotate mplayer_wine.spec.c @ 13395:07708ec98d87

New MD5 sum video output driver. For every frame, it calculates the MD5 sum and writes a list of those sums to an, optionally specified, output file. It does not rely on external programs to be installed. The MD5 sum code is borrowed from the uCIFS library, written by Christopher R. Hertel in 2004 and released under the LGPL license. Note: This driver is not yet activated and will not be compiled and linked to libvo. A separate patch will take care of that. This is just for adding the files to the repository.
author ivo
date Mon, 20 Sep 2004 01:01:08 +0000
parents a53966ed8afb
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
8012
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
1 /* File generated automatically from mplayer_wine.spec; do not edit! */
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
2 /* This file can be copied, modified and distributed without restriction. */
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
3
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
4 extern char pe_header[];
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
5 asm(".section .text\n\t"
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
6 ".align 4096\n"
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
7 "pe_header:\t.fill 4096,1,0\n\t");
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
8 static const char dllname[] = "mplayer_wine";
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
9
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
10 extern int __wine_spec_exports[];
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
11
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
12 #define __stdcall __attribute__((__stdcall__))
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
13
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
14
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
15 static struct {
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
16 struct {
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
17 void *OriginalFirstThunk;
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
18 unsigned int TimeDateStamp;
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
19 unsigned int ForwarderChain;
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
20 const char *Name;
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
21 void *FirstThunk;
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
22 } imp[3];
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
23 const char *data[8];
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
24 } imports = {
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
25 {
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
26 { 0, 0, 0, "kernel32.dll", &imports.data[0] },
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
27 { 0, 0, 0, "ntdll.dll", &imports.data[5] },
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
28 { 0, 0, 0, 0, 0 },
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
29 },
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
30 {
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
31 /* kernel32.dll */
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
32 "\0\0ExitProcess",
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
33 "\0\0FreeLibrary",
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
34 "\0\0GetProcAddress",
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
35 "\0\0LoadLibraryA",
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
36 0,
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
37 /* ntdll.dll */
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
38 "\0\0RtlRaiseException",
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
39 "\0\0__wine_get_main_args",
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
40 0,
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
41 }
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
42 };
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
43
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
44 #ifndef __GNUC__
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
45 static void __asm__dummy_import(void) {
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
46 #endif
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
47
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
48 asm(".data\n\t.align 8\n"
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
49 "\t.type ExitProcess,@function\n"
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
50 "\t.globl ExitProcess\n"
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
51 "ExitProcess:\n\tjmp *(imports+60)\n\tmovl %esi,%esi\n"
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
52 "\t.type FreeLibrary,@function\n"
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
53 "\t.globl FreeLibrary\n"
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
54 "FreeLibrary:\n\tjmp *(imports+64)\n\tmovl %esi,%esi\n"
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
55 "\t.type GetProcAddress,@function\n"
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
56 "\t.globl GetProcAddress\n"
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
57 "GetProcAddress:\n\tjmp *(imports+68)\n\tmovl %esi,%esi\n"
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
58 "\t.type LoadLibraryA,@function\n"
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
59 "\t.globl LoadLibraryA\n"
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
60 "LoadLibraryA:\n\tjmp *(imports+72)\n\tmovl %esi,%esi\n"
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
61 "\t.type RtlRaiseException,@function\n"
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
62 "\t.globl RtlRaiseException\n"
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
63 "RtlRaiseException:\n\tjmp *(imports+80)\n\tmovl %esi,%esi\n"
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
64 "\t.type __wine_get_main_args,@function\n"
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
65 "\t.globl __wine_get_main_args\n"
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
66 "__wine_get_main_args:\n\tjmp *(imports+84)\n\tmovl %esi,%esi\n"
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
67 ".previous");
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
68 #ifndef __GNUC__
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
69 }
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
70 #endif
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
71
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
72
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
73 int _ARGC;
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
74 char **_ARGV;
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
75 extern void __stdcall ExitProcess(int);
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
76 static void __wine_exe_main(void)
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
77 {
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
78 extern int main( int argc, char *argv[] );
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
79 extern int __wine_get_main_args( char ***argv );
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
80 _ARGC = __wine_get_main_args( &_ARGV );
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
81 ExitProcess( main( _ARGC, _ARGV ) );
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
82 }
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
83
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
84 static const struct image_nt_headers
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
85 {
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
86 int Signature;
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
87 struct file_header {
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
88 short Machine;
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
89 short NumberOfSections;
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
90 int TimeDateStamp;
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
91 void *PointerToSymbolTable;
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
92 int NumberOfSymbols;
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
93 short SizeOfOptionalHeader;
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
94 short Characteristics;
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
95 } FileHeader;
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
96 struct opt_header {
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
97 short Magic;
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
98 char MajorLinkerVersion, MinorLinkerVersion;
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
99 int SizeOfCode;
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
100 int SizeOfInitializedData;
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
101 int SizeOfUninitializedData;
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
102 void *AddressOfEntryPoint;
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
103 void *BaseOfCode;
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
104 void *BaseOfData;
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
105 void *ImageBase;
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
106 int SectionAlignment;
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
107 int FileAlignment;
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
108 short MajorOperatingSystemVersion;
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
109 short MinorOperatingSystemVersion;
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
110 short MajorImageVersion;
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
111 short MinorImageVersion;
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
112 short MajorSubsystemVersion;
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
113 short MinorSubsystemVersion;
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
114 int Win32VersionValue;
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
115 int SizeOfImage;
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
116 int SizeOfHeaders;
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
117 int CheckSum;
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
118 short Subsystem;
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
119 short DllCharacteristics;
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
120 int SizeOfStackReserve;
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
121 int SizeOfStackCommit;
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
122 int SizeOfHeapReserve;
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
123 int SizeOfHeapCommit;
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
124 int LoaderFlags;
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
125 int NumberOfRvaAndSizes;
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
126 struct { const void *VirtualAddress; int Size; } DataDirectory[16];
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
127 } OptionalHeader;
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
128 } nt_header = {
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
129 0x4550,
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
130 { 0x014c,
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
131 0, 0, 0, 0,
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
132 sizeof(nt_header.OptionalHeader),
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
133 0x0000 },
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
134 { 0x010b,
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
135 0, 0,
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
136 0, 0, 0,
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
137 __wine_exe_main,
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
138 0, 0,
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
139 pe_header,
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
140 4096,
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
141 4096,
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
142 1, 0,
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
143 0, 0,
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
144 4, 0,
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
145 0,
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
146 4096,
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
147 4096,
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
148 0,
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
149 0x0003,
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
150 0,
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
151 0, 0,
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
152 0, 0,
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
153 0,
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
154 16,
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
155 {
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
156 { 0, 0 },
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
157 { &imports, sizeof(imports) },
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
158 { 0, 0 },
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
159 }
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
160 }
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
161 };
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
162
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
163 #ifndef __GNUC__
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
164 static void __asm__dummy_dll_init(void) {
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
165 #endif /* defined(__GNUC__) */
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
166 asm("\t.section .init ,\"ax\"\n"
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
167 "\tcall __wine_spec_mplayer_wine_init\n"
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
168 "\t.previous\n");
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
169 #ifndef __GNUC__
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
170 }
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
171 #endif /* defined(__GNUC__) */
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
172
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
173 void __wine_spec_mplayer_wine_init(void)
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
174 {
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
175 extern void __wine_dll_register( const struct image_nt_headers *, const char * );
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
176 extern void *__wine_dbg_register( char * const *, int );
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
177 __wine_dll_register( &nt_header, "mplayer_wine.exe" );
a53966ed8afb including source and precompiled .spec for libwine support
arpi
parents:
diff changeset
178 }