annotate TOOLS/realcodecs/14_4.c @ 33263:5f527a9a9521

Add an exit function. This function will allow performing clean-up operations. (MPlayer calls guiDone() before exiting, but only if the GUI has been initialized, i.e. if guiInit() has been called successfully. Any exit_player()/exit_player_with_rc() after GUI's cfg_read() until guiInit(), or any exit_player() during guiInit() itself will end the GUI without calling guiDone(). This exit function will at least handle abortions during guiInit() itself. It will be called twice in case of an guiExit() after GUI initialization - first directly, next by guiDone() via MPlayer's exit_player_with_rc().)
author ib
date Tue, 03 May 2011 12:19:22 +0000
parents 0f1b5b68af32
children cef5275fc11f
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
10123
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
1 /*
28195
3f3f00ce912e Relicense to GPLv2 or later with the author's permission.
diego
parents: 28193
diff changeset
2 * This is a small DLL that works as a wrapper for the actual real14_4.so.6.0
3f3f00ce912e Relicense to GPLv2 or later with the author's permission.
diego
parents: 28193
diff changeset
3 * DLL from RealPlayer 8.0.
3f3f00ce912e Relicense to GPLv2 or later with the author's permission.
diego
parents: 28193
diff changeset
4 *
3f3f00ce912e Relicense to GPLv2 or later with the author's permission.
diego
parents: 28193
diff changeset
5 * This file is part of MPlayer.
3f3f00ce912e Relicense to GPLv2 or later with the author's permission.
diego
parents: 28193
diff changeset
6 *
3f3f00ce912e Relicense to GPLv2 or later with the author's permission.
diego
parents: 28193
diff changeset
7 * MPlayer is free software; you can redistribute it and/or modify
3f3f00ce912e Relicense to GPLv2 or later with the author's permission.
diego
parents: 28193
diff changeset
8 * it under the terms of the GNU General Public License as published by
3f3f00ce912e Relicense to GPLv2 or later with the author's permission.
diego
parents: 28193
diff changeset
9 * the Free Software Foundation; either version 2 of the License, or
3f3f00ce912e Relicense to GPLv2 or later with the author's permission.
diego
parents: 28193
diff changeset
10 * (at your option) any later version.
3f3f00ce912e Relicense to GPLv2 or later with the author's permission.
diego
parents: 28193
diff changeset
11 *
3f3f00ce912e Relicense to GPLv2 or later with the author's permission.
diego
parents: 28193
diff changeset
12 * MPlayer is distributed in the hope that it will be useful,
3f3f00ce912e Relicense to GPLv2 or later with the author's permission.
diego
parents: 28193
diff changeset
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
3f3f00ce912e Relicense to GPLv2 or later with the author's permission.
diego
parents: 28193
diff changeset
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3f3f00ce912e Relicense to GPLv2 or later with the author's permission.
diego
parents: 28193
diff changeset
15 * GNU General Public License for more details.
3f3f00ce912e Relicense to GPLv2 or later with the author's permission.
diego
parents: 28193
diff changeset
16 *
3f3f00ce912e Relicense to GPLv2 or later with the author's permission.
diego
parents: 28193
diff changeset
17 * You should have received a copy of the GNU General Public License along
3f3f00ce912e Relicense to GPLv2 or later with the author's permission.
diego
parents: 28193
diff changeset
18 * with MPlayer; if not, write to the Free Software Foundation, Inc.,
3f3f00ce912e Relicense to GPLv2 or later with the author's permission.
diego
parents: 28193
diff changeset
19 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
3f3f00ce912e Relicense to GPLv2 or later with the author's permission.
diego
parents: 28193
diff changeset
20 */
10123
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
21
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
22 /*
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
23 Assuming that RACloseCodec is the last call.
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
24 */
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
25
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
26 #include <stddef.h>
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
27 #include <stdio.h>
24208
3b80b74b6813 Fix "incompatible implicit declaration of built-in function 'exit'" warnings.
diego
parents: 10123
diff changeset
28 #include <stdlib.h>
10123
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
29 #include <dlfcn.h>
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
30 #include <sys/time.h>
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
31
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
32 typedef unsigned long ulong;
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
33
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
34 ulong (*raCloseCodec)(ulong);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
35 ulong (*raDecode)(ulong,ulong,ulong,ulong,ulong,ulong);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
36 ulong (*raFreeDecoder)(ulong);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
37 ulong (*raGetFlavorProperty)(ulong,ulong,ulong,ulong);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
38 ulong (*raGetNumberOfFlavors)(void);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
39 ulong (*raInitDecoder)(ulong,ulong);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
40 ulong (*raOpenCodec2)(ulong);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
41 ulong (*raSetFlavor)(ulong);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
42
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
43 int b_dlOpened=0;
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
44 void *handle=NULL;
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
45
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
46 /* exits program when failure */
28232
8df85ad26746 Add missing 'void' keyword to parameterless function declarations.
diego
parents: 28195
diff changeset
47 void loadSyms(void) {
10123
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
48 fputs("loadSyms()\n", stderr);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
49 if (!b_dlOpened) {
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
50 char *error;
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
51
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
52 // fputs("opening dll...\n");
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
53 handle = dlopen ("/home/r/RealPlayer8/Codecs/real14_4.so.6.0", RTLD_LAZY);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
54 if (!handle) {
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
55 fputs (dlerror(), stderr);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
56 exit(1);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
57 }
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
58
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
59 raCloseCodec = dlsym(handle, "RACloseCodec");
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
60 if ((error = dlerror()) != NULL) {
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
61 fprintf (stderr, "dlsym(RACloseCodec): %s\n", error);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
62 exit(1);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
63 }
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
64 raDecode = dlsym(handle, "RADecode");
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
65 if ((error = dlerror()) != NULL) {
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
66 fprintf (stderr, "dlsym(RADecode): %s\n", error);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
67 exit(1);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
68 }
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
69 raFreeDecoder = dlsym(handle, "RAFreeDecoder");
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
70 if ((error = dlerror()) != NULL) {
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
71 fprintf (stderr, "dlsym(RAFreeDecoder): %s\n", error);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
72 exit(1);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
73 }
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
74 raGetFlavorProperty = dlsym(handle, "RAGetFlavorProperty");
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
75 if ((error = dlerror()) != NULL) {
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
76 fprintf (stderr, "dlsym(RAGetFlavorProperty): %s\n", error);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
77 exit(1);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
78 }
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
79 raGetNumberOfFlavors = dlsym(handle, "RAGetNumberOfFlavors");
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
80 if ((error = dlerror()) != NULL) {
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
81 fprintf (stderr, "dlsym(RAGetNumberOfFlavors): %s\n", error);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
82 exit(1);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
83 }
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
84 raInitDecoder = dlsym(handle, "RAInitDecoder");
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
85 if ((error = dlerror()) != NULL) {
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
86 fprintf (stderr, "dlsym(RAInitDecoder): %s\n", error);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
87 exit(1);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
88 }
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
89 raOpenCodec2 = dlsym(handle, "RAOpenCodec2");
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
90 if ((error = dlerror()) != NULL) {
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
91 fprintf (stderr, "dlsym(RAOpenCodec2): %s\n", error);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
92 exit(1);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
93 }
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
94 raSetFlavor = dlsym(handle, "RASetFlavor");
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
95 if ((error = dlerror()) != NULL) {
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
96 fprintf (stderr, "dlsym(RASetFlavor): %s\n", error);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
97 exit(1);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
98 }
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
99 b_dlOpened=1;
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
100 }
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
101 }
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
102
28232
8df85ad26746 Add missing 'void' keyword to parameterless function declarations.
diego
parents: 28195
diff changeset
103 void closeDll(void) {
10123
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
104 if (handle) {
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
105 b_dlOpened=0;
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
106 dlclose(handle);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
107 handle=NULL;
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
108 }
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
109 }
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
110
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
111 void _init(void) {
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
112 loadSyms();
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
113 }
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
114
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
115 struct timezone tz;
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
116 struct timeval tv1, tv2;
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
117
28232
8df85ad26746 Add missing 'void' keyword to parameterless function declarations.
diego
parents: 28195
diff changeset
118 void tic(void) {
10123
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
119 gettimeofday(&tv1, &tz);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
120 }
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
121
28232
8df85ad26746 Add missing 'void' keyword to parameterless function declarations.
diego
parents: 28195
diff changeset
122 void toc(void) {
10123
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
123 long secs, usecs;
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
124 gettimeofday(&tv2, &tz);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
125 secs=tv2.tv_sec-tv1.tv_sec;
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
126 usecs=tv2.tv_usec-tv1.tv_usec;
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
127 if (usecs<0) {
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
128 usecs+=1000000;
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
129 --secs;
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
130 }
26449
105de0884218 Remove pointless '0' flag from fprintf call, fixes the warning:
diego
parents: 25313
diff changeset
131 fprintf(stderr, "Duration: %ld.%.6lds\n", secs, usecs);
10123
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
132 }
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
133
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
134
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
135 void hexdump(void *pos, int len) {
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
136 unsigned char *cpos=pos, *cpos1;
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
137 int lines=(len+15)>>4;
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
138 while(lines--) {
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
139 int len1=len, i;
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 28232
diff changeset
140 fprintf(stderr, "%0x ", cpos);
10123
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
141 cpos1=cpos;
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
142 for (i=0;i<16;i++) {
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
143 if (len1>0) {
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
144 fprintf(stderr, "%02x ", *(cpos++));
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
145 } else {
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
146 fprintf(stderr, " ");
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
147 }
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
148 len1--;
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
149 }
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
150 fputs(" ", stderr);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
151 cpos=cpos1;
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
152 for (i=0;i<16;i++) {
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
153 if (len>0) {
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
154 unsigned char ch=(*(cpos++));
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
155 if ((ch<32)||(ch>127)) ch='.';
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
156 fputc(ch, stderr);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
157 }
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
158 len--;
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
159 }
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 28232
diff changeset
160 fputs("\n", stderr);
10123
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
161 }
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
162 fputc('\n', stderr);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
163 }
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
164
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
165
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
166 ulong RACloseCodec(ulong p1) {
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
167 ulong result;
25313
9e13376e0daa Fix printf format string length modifiers, removes about a trillion warnings.
diego
parents: 24213
diff changeset
168 fprintf(stderr, "RACloseCodec(ulong p1=0x%0lx(%ld))\n", p1, p1);
10123
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
169 result=(*raCloseCodec)(p1);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
170 // closeDll();
25313
9e13376e0daa Fix printf format string length modifiers, removes about a trillion warnings.
diego
parents: 24213
diff changeset
171 fprintf(stderr, "--> 0x%0lx(%ld)\n\n\n", result, result);
10123
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
172 return result;
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
173 }
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
174
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
175 static int pkno=0;
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
176
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
177 ulong RADecode(ulong p1,ulong p2,ulong p3,ulong p4,ulong* p5,ulong p6) {
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
178 ulong result;
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
179 int x,y;
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 28232
diff changeset
180
25313
9e13376e0daa Fix printf format string length modifiers, removes about a trillion warnings.
diego
parents: 24213
diff changeset
181 fprintf(stderr, "RADecode(ulong ctx=0x%0lx, ", p1);
9e13376e0daa Fix printf format string length modifiers, removes about a trillion warnings.
diego
parents: 24213
diff changeset
182 fprintf(stderr, "ulong src=0x%0lx,\n", p2);
9e13376e0daa Fix printf format string length modifiers, removes about a trillion warnings.
diego
parents: 24213
diff changeset
183 fprintf(stderr, "ulong len=0x%0lx,", p3);
9e13376e0daa Fix printf format string length modifiers, removes about a trillion warnings.
diego
parents: 24213
diff changeset
184 fprintf(stderr, "ulong dst=0x%0lx,\n", p4);
10123
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
185 fprintf(stderr, "ulong dstcnt=0x%0x, ",p5);
25313
9e13376e0daa Fix printf format string length modifiers, removes about a trillion warnings.
diego
parents: 24213
diff changeset
186 fprintf(stderr, "ulong p6=%ld)\n", p6);
10123
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
187 // hexdump((void*)p1, 44);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
188 hexdump((void*)p2, p3);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
189 // hexdump((void*)p4, 80);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
190 // hexdump((void*)p5, 16);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
191 // tic();
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
192
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
193 fprintf(stderr,"\n#CRC[%3d]",pkno++);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
194 for(y=0;y<10;y++){
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
195 unsigned short crc=0;
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
196 unsigned char* p=p2;
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
197 p+=60*y;
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
198 for(x=0;x<60;x++){
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
199 crc+=p[x]<<(x&7);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
200 }
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
201 fprintf(stderr," %04X",crc);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
202 }
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
203 fprintf(stderr,"\n");
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
204
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
205 result=(*raDecode)(p1,p2,p3,p4,p5,p6);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
206 // toc();
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
207 // hexdump((void*)p1, 44);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
208 // hexdump((void*)p4, 80);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
209 // hexdump((void*)p5, 16);
25313
9e13376e0daa Fix printf format string length modifiers, removes about a trillion warnings.
diego
parents: 24213
diff changeset
210 fprintf(stderr, "--> 0x%0lx(%ld) decoded: %ld \n\n\n", result, result, p5[0]);
10123
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
211 return result;
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
212 }
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
213
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
214 ulong RAFreeDecoder(ulong p1) {
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
215 ulong result;
25313
9e13376e0daa Fix printf format string length modifiers, removes about a trillion warnings.
diego
parents: 24213
diff changeset
216 fprintf(stderr, "RAFreeDecoder(ulong p1=0x%0lx(%ld))\n", p1, p1);
10123
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
217 hexdump((void*)p1, 44);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
218 result=(*raFreeDecoder)(p1);
25313
9e13376e0daa Fix printf format string length modifiers, removes about a trillion warnings.
diego
parents: 24213
diff changeset
219 fprintf(stderr, "--> 0x%0lx(%ld)\n\n\n", result, result);
10123
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
220 return result;
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
221 }
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
222
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
223 ulong RAGetFlavorProperty(ulong p1,ulong p2,ulong p3, ulong p4) {
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
224 ulong result;
25313
9e13376e0daa Fix printf format string length modifiers, removes about a trillion warnings.
diego
parents: 24213
diff changeset
225 fprintf(stderr, "RAGetFlavorProperty(ulong p1=0x%0lx(%ld), ", p1, p1);
9e13376e0daa Fix printf format string length modifiers, removes about a trillion warnings.
diego
parents: 24213
diff changeset
226 fprintf(stderr, "ulong p2=0x%0lx(%ld),\n", p2, p2);
9e13376e0daa Fix printf format string length modifiers, removes about a trillion warnings.
diego
parents: 24213
diff changeset
227 fprintf(stderr, "ulong p3=0x%0lx(%ld), ", p3, p3);
9e13376e0daa Fix printf format string length modifiers, removes about a trillion warnings.
diego
parents: 24213
diff changeset
228 fprintf(stderr, "ulong p4=0x%0lx(%ld))\n", p4, p4);
10123
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
229 hexdump((void*)p4/*(void*)(*((void**)p4))*/,p2);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
230 hexdump((void*)p1, 44);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
231 tic();
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
232 result=(*raGetFlavorProperty)(p1,p2,p3,p4);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
233 toc();
25313
9e13376e0daa Fix printf format string length modifiers, removes about a trillion warnings.
diego
parents: 24213
diff changeset
234 fprintf(stderr, "*p4=0x%0lx\n", *((ulong*)p4));
10123
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
235 hexdump((void*)p4/*(void*)(*((void**)p4))*/,p2);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
236 hexdump((void*)p1, 44);
25313
9e13376e0daa Fix printf format string length modifiers, removes about a trillion warnings.
diego
parents: 24213
diff changeset
237 fprintf(stderr, "--> 0x%0lx(%ld)\n\n\n", result, result);
10123
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
238 return result;
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
239 }
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
240
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
241 ulong RAGetNumberOfFlavors(void) {
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
242 ulong result;
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
243 fprintf(stderr, "RAGetNumberOfFlavors(void)\n");
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
244 result=(*raGetNumberOfFlavors)();
25313
9e13376e0daa Fix printf format string length modifiers, removes about a trillion warnings.
diego
parents: 24213
diff changeset
245 fprintf(stderr, "--> 0x%0lx(%ld)\n\n\n", result, result);
10123
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
246 return result;
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
247 }
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
248
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
249 ulong RAInitDecoder(ulong p1,ulong p2) {
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
250 ulong result;
24213
29fe677d8a19 warning fixes:
diego
parents: 24208
diff changeset
251 // int temp[256];
29fe677d8a19 warning fixes:
diego
parents: 24208
diff changeset
252 // unsigned char temp2[256];
25313
9e13376e0daa Fix printf format string length modifiers, removes about a trillion warnings.
diego
parents: 24213
diff changeset
253 fprintf(stderr, "RAInitDecoder(ulong p1=0x%0lx(%ld), ", p1, p1);
9e13376e0daa Fix printf format string length modifiers, removes about a trillion warnings.
diego
parents: 24213
diff changeset
254 fprintf(stderr, "ulong p2=0x%0lx(%ld))\n", p2, p2);
10123
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
255 hexdump((void*)p2, 4*7);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
256 // hexdump((void*)p1, 44);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
257 // memset(temp,0x77,256*4);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
258 // memcpy(temp,p2,4*7);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
259 // hexdump((void*)temp[6], 32);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
260
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
261 // memset(temp2,0x77,256);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
262 // memcpy(temp2,temp[6],16);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
263 // temp[6]=temp2;
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 28232
diff changeset
264
10123
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
265 result=(*raInitDecoder)(p1,/*temp*/p2);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
266 // hexdump((void*)temp[6], 32);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
267 // memcpy(p2,temp,4*11);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
268 // hexdump((void*)p1, 44);
25313
9e13376e0daa Fix printf format string length modifiers, removes about a trillion warnings.
diego
parents: 24213
diff changeset
269 fprintf(stderr, "--> 0x%0lx(%ld)\n\n\n", result, result);
10123
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
270 return result;
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
271 }
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
272
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
273 ulong RAOpenCodec2(ulong p1) {
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
274 ulong result;
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
275 // loadSyms();
25313
9e13376e0daa Fix printf format string length modifiers, removes about a trillion warnings.
diego
parents: 24213
diff changeset
276 fprintf(stderr, "RAOpenCodec2(ulong p1=0x%0lx(%ld)\n", p1, p1);
10123
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
277 hexdump((void*)p1, 44);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
278 result=(*raOpenCodec2)(p1);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
279 hexdump((void*)p1, 44);
25313
9e13376e0daa Fix printf format string length modifiers, removes about a trillion warnings.
diego
parents: 24213
diff changeset
280 fprintf(stderr, "--> 0x%0lx(%ld)\n\n\n", result, result);
10123
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
281 return result;
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
282 }
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
283
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
284 ulong RASetFlavor(ulong p1) {
24213
29fe677d8a19 warning fixes:
diego
parents: 24208
diff changeset
285 ulong result;
29fe677d8a19 warning fixes:
diego
parents: 24208
diff changeset
286 // ulong numflavors, flavor, numprop=0, result1=0;
29fe677d8a19 warning fixes:
diego
parents: 24208
diff changeset
287 // unsigned short property;
25313
9e13376e0daa Fix printf format string length modifiers, removes about a trillion warnings.
diego
parents: 24213
diff changeset
288 fprintf(stderr, "RASetFlavor(ulong p1=0x%0lx(%ld))\n", p1, p1);
10123
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
289 hexdump((void*)p1, 44);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
290 // hexdump((void*)p1, 44);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
291 result=(*raSetFlavor)(p1);
25313
9e13376e0daa Fix printf format string length modifiers, removes about a trillion warnings.
diego
parents: 24213
diff changeset
292 fprintf(stderr, "--> 0x%0lx(%ld)\n\n\n", result, result);
10123
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
293
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
294 #if 0
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
295 fputs("######################## FLAVOR PROPERTIES ###################\n\n", stderr);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
296 numflavors=raGetNumberOfFlavors2();
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
297 flavor=0;
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
298 while (flavor<numflavors) {
25313
9e13376e0daa Fix printf format string length modifiers, removes about a trillion warnings.
diego
parents: 24213
diff changeset
299 fprintf(stderr, "************ Flavor %ld *************\n\n", flavor);
10123
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
300 numprop=0;
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
301 while (numprop<32) {
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
302 result1=raGetFlavorProperty(p1, flavor, numprop, (ulong)&property);
25313
9e13376e0daa Fix printf format string length modifiers, removes about a trillion warnings.
diego
parents: 24213
diff changeset
303 fprintf(stderr, "property %ld=%d, result=0x%0lx\n\n",
10123
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
304 numprop, property, result1);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
305 hexdump((void*)result1, property);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
306 numprop++;
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
307 }
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
308 flavor++;
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
309 }
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
310
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
311 fputs("######################## FLAVOR PROPERTIES ###################\n\n", stderr);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
312 #endif
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 28232
diff changeset
313
10123
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
314 return result;
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
315 }