annotate TOOLS/realcodecs/14_4.c @ 36357:7dca7d4d4e54

Add support for -rtsp-stream-over-tcp and -rtsp-stream-over-http for FFmpeg.
author reimar
date Sat, 21 Sep 2013 15:55:28 +0000
parents cef5275fc11f
children
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 timeval tv1, tv2;
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
116
28232
8df85ad26746 Add missing 'void' keyword to parameterless function declarations.
diego
parents: 28195
diff changeset
117 void tic(void) {
35904
cef5275fc11f Avoid usage of obsolete and BSD-specific "struct timezone".
diego
parents: 29263
diff changeset
118 gettimeofday(&tv1, NULL);
10123
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
119 }
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
120
28232
8df85ad26746 Add missing 'void' keyword to parameterless function declarations.
diego
parents: 28195
diff changeset
121 void toc(void) {
10123
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
122 long secs, usecs;
35904
cef5275fc11f Avoid usage of obsolete and BSD-specific "struct timezone".
diego
parents: 29263
diff changeset
123 gettimeofday(&tv2, NULL);
10123
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
124 secs=tv2.tv_sec-tv1.tv_sec;
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
125 usecs=tv2.tv_usec-tv1.tv_usec;
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
126 if (usecs<0) {
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
127 usecs+=1000000;
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
128 --secs;
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
129 }
26449
105de0884218 Remove pointless '0' flag from fprintf call, fixes the warning:
diego
parents: 25313
diff changeset
130 fprintf(stderr, "Duration: %ld.%.6lds\n", secs, usecs);
10123
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
131 }
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 void hexdump(void *pos, int len) {
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
135 unsigned char *cpos=pos, *cpos1;
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
136 int lines=(len+15)>>4;
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
137 while(lines--) {
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
138 int len1=len, i;
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 28232
diff changeset
139 fprintf(stderr, "%0x ", cpos);
10123
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
140 cpos1=cpos;
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
141 for (i=0;i<16;i++) {
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
142 if (len1>0) {
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
143 fprintf(stderr, "%02x ", *(cpos++));
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
144 } else {
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
145 fprintf(stderr, " ");
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
146 }
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
147 len1--;
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
148 }
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
149 fputs(" ", stderr);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
150 cpos=cpos1;
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
151 for (i=0;i<16;i++) {
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
152 if (len>0) {
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
153 unsigned char ch=(*(cpos++));
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
154 if ((ch<32)||(ch>127)) ch='.';
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
155 fputc(ch, stderr);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
156 }
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
157 len--;
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
158 }
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 28232
diff changeset
159 fputs("\n", stderr);
10123
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
160 }
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
161 fputc('\n', stderr);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
162 }
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 ulong RACloseCodec(ulong p1) {
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
166 ulong result;
25313
9e13376e0daa Fix printf format string length modifiers, removes about a trillion warnings.
diego
parents: 24213
diff changeset
167 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
168 result=(*raCloseCodec)(p1);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
169 // closeDll();
25313
9e13376e0daa Fix printf format string length modifiers, removes about a trillion warnings.
diego
parents: 24213
diff changeset
170 fprintf(stderr, "--> 0x%0lx(%ld)\n\n\n", result, result);
10123
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
171 return result;
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
172 }
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 static int pkno=0;
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
175
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
176 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
177 ulong result;
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
178 int x,y;
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 28232
diff changeset
179
25313
9e13376e0daa Fix printf format string length modifiers, removes about a trillion warnings.
diego
parents: 24213
diff changeset
180 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
181 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
182 fprintf(stderr, "ulong len=0x%0lx,", p3);
9e13376e0daa Fix printf format string length modifiers, removes about a trillion warnings.
diego
parents: 24213
diff changeset
183 fprintf(stderr, "ulong dst=0x%0lx,\n", p4);
10123
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
184 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
185 fprintf(stderr, "ulong p6=%ld)\n", p6);
10123
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
186 // hexdump((void*)p1, 44);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
187 hexdump((void*)p2, p3);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
188 // hexdump((void*)p4, 80);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
189 // hexdump((void*)p5, 16);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
190 // tic();
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
191
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
192 fprintf(stderr,"\n#CRC[%3d]",pkno++);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
193 for(y=0;y<10;y++){
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
194 unsigned short crc=0;
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
195 unsigned char* p=p2;
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
196 p+=60*y;
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
197 for(x=0;x<60;x++){
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
198 crc+=p[x]<<(x&7);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
199 }
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
200 fprintf(stderr," %04X",crc);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
201 }
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
202 fprintf(stderr,"\n");
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
203
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
204 result=(*raDecode)(p1,p2,p3,p4,p5,p6);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
205 // toc();
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
206 // hexdump((void*)p1, 44);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
207 // hexdump((void*)p4, 80);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
208 // hexdump((void*)p5, 16);
25313
9e13376e0daa Fix printf format string length modifiers, removes about a trillion warnings.
diego
parents: 24213
diff changeset
209 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
210 return result;
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
211 }
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 ulong RAFreeDecoder(ulong p1) {
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
214 ulong result;
25313
9e13376e0daa Fix printf format string length modifiers, removes about a trillion warnings.
diego
parents: 24213
diff changeset
215 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
216 hexdump((void*)p1, 44);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
217 result=(*raFreeDecoder)(p1);
25313
9e13376e0daa Fix printf format string length modifiers, removes about a trillion warnings.
diego
parents: 24213
diff changeset
218 fprintf(stderr, "--> 0x%0lx(%ld)\n\n\n", result, result);
10123
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
219 return result;
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
220 }
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 ulong RAGetFlavorProperty(ulong p1,ulong p2,ulong p3, ulong p4) {
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
223 ulong result;
25313
9e13376e0daa Fix printf format string length modifiers, removes about a trillion warnings.
diego
parents: 24213
diff changeset
224 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
225 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
226 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
227 fprintf(stderr, "ulong p4=0x%0lx(%ld))\n", p4, p4);
10123
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
228 hexdump((void*)p4/*(void*)(*((void**)p4))*/,p2);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
229 hexdump((void*)p1, 44);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
230 tic();
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
231 result=(*raGetFlavorProperty)(p1,p2,p3,p4);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
232 toc();
25313
9e13376e0daa Fix printf format string length modifiers, removes about a trillion warnings.
diego
parents: 24213
diff changeset
233 fprintf(stderr, "*p4=0x%0lx\n", *((ulong*)p4));
10123
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
234 hexdump((void*)p4/*(void*)(*((void**)p4))*/,p2);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
235 hexdump((void*)p1, 44);
25313
9e13376e0daa Fix printf format string length modifiers, removes about a trillion warnings.
diego
parents: 24213
diff changeset
236 fprintf(stderr, "--> 0x%0lx(%ld)\n\n\n", result, result);
10123
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
237 return result;
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
238 }
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 ulong RAGetNumberOfFlavors(void) {
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
241 ulong result;
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
242 fprintf(stderr, "RAGetNumberOfFlavors(void)\n");
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
243 result=(*raGetNumberOfFlavors)();
25313
9e13376e0daa Fix printf format string length modifiers, removes about a trillion warnings.
diego
parents: 24213
diff changeset
244 fprintf(stderr, "--> 0x%0lx(%ld)\n\n\n", result, result);
10123
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
245 return result;
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
246 }
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 ulong RAInitDecoder(ulong p1,ulong p2) {
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
249 ulong result;
24213
29fe677d8a19 warning fixes:
diego
parents: 24208
diff changeset
250 // int temp[256];
29fe677d8a19 warning fixes:
diego
parents: 24208
diff changeset
251 // unsigned char temp2[256];
25313
9e13376e0daa Fix printf format string length modifiers, removes about a trillion warnings.
diego
parents: 24213
diff changeset
252 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
253 fprintf(stderr, "ulong p2=0x%0lx(%ld))\n", p2, p2);
10123
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
254 hexdump((void*)p2, 4*7);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
255 // hexdump((void*)p1, 44);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
256 // memset(temp,0x77,256*4);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
257 // memcpy(temp,p2,4*7);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
258 // hexdump((void*)temp[6], 32);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
259
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
260 // memset(temp2,0x77,256);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
261 // memcpy(temp2,temp[6],16);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
262 // temp[6]=temp2;
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 28232
diff changeset
263
10123
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
264 result=(*raInitDecoder)(p1,/*temp*/p2);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
265 // hexdump((void*)temp[6], 32);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
266 // memcpy(p2,temp,4*11);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
267 // hexdump((void*)p1, 44);
25313
9e13376e0daa Fix printf format string length modifiers, removes about a trillion warnings.
diego
parents: 24213
diff changeset
268 fprintf(stderr, "--> 0x%0lx(%ld)\n\n\n", result, result);
10123
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
269 return result;
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
270 }
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 ulong RAOpenCodec2(ulong p1) {
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
273 ulong result;
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
274 // loadSyms();
25313
9e13376e0daa Fix printf format string length modifiers, removes about a trillion warnings.
diego
parents: 24213
diff changeset
275 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
276 hexdump((void*)p1, 44);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
277 result=(*raOpenCodec2)(p1);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
278 hexdump((void*)p1, 44);
25313
9e13376e0daa Fix printf format string length modifiers, removes about a trillion warnings.
diego
parents: 24213
diff changeset
279 fprintf(stderr, "--> 0x%0lx(%ld)\n\n\n", result, result);
10123
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
280 return result;
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
281 }
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 ulong RASetFlavor(ulong p1) {
24213
29fe677d8a19 warning fixes:
diego
parents: 24208
diff changeset
284 ulong result;
29fe677d8a19 warning fixes:
diego
parents: 24208
diff changeset
285 // ulong numflavors, flavor, numprop=0, result1=0;
29fe677d8a19 warning fixes:
diego
parents: 24208
diff changeset
286 // unsigned short property;
25313
9e13376e0daa Fix printf format string length modifiers, removes about a trillion warnings.
diego
parents: 24213
diff changeset
287 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
288 hexdump((void*)p1, 44);
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 result=(*raSetFlavor)(p1);
25313
9e13376e0daa Fix printf format string length modifiers, removes about a trillion warnings.
diego
parents: 24213
diff changeset
291 fprintf(stderr, "--> 0x%0lx(%ld)\n\n\n", result, result);
10123
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
292
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
293 #if 0
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
294 fputs("######################## FLAVOR PROPERTIES ###################\n\n", stderr);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
295 numflavors=raGetNumberOfFlavors2();
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
296 flavor=0;
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
297 while (flavor<numflavors) {
25313
9e13376e0daa Fix printf format string length modifiers, removes about a trillion warnings.
diego
parents: 24213
diff changeset
298 fprintf(stderr, "************ Flavor %ld *************\n\n", flavor);
10123
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
299 numprop=0;
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
300 while (numprop<32) {
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
301 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
302 fprintf(stderr, "property %ld=%d, result=0x%0lx\n\n",
10123
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
303 numprop, property, result1);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
304 hexdump((void*)result1, property);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
305 numprop++;
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
306 }
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
307 flavor++;
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
308 }
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 fputs("######################## FLAVOR PROPERTIES ###################\n\n", stderr);
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
311 #endif
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 28232
diff changeset
312
10123
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
313 return result;
8bf6c57c5bbd wrappers for 14.4 and 28.8 codecs
rtognimp
parents:
diff changeset
314 }