Mercurial > mplayer.hg
comparison codec-cfg.c @ 299:3343fb3e4f49
outflags[] reading fixed
author | arpi_esp |
---|---|
date | Fri, 06 Apr 2001 23:56:42 +0000 |
parents | a11ea84cc1ad |
children | df3f7a25584c |
comparison
equal
deleted
inserted
replaced
298:a11ea84cc1ad | 299:3343fb3e4f49 |
---|---|
136 int add_to_format(char *s, unsigned int *format) | 136 int add_to_format(char *s, unsigned int *format) |
137 { | 137 { |
138 return 1; | 138 return 1; |
139 } | 139 } |
140 | 140 |
141 /* | |
141 short get_flags(char *s) | 142 short get_flags(char *s) |
142 { | 143 { |
144 static char *flagstr[] = { | |
145 "flip", | |
146 "noflip", | |
147 "yuvhack", | |
148 NULL | |
149 }; | |
150 int j; | |
151 | |
152 printf("flags='%s'\n",s); | |
153 | |
143 if (!s) | 154 if (!s) |
144 return 0; | 155 return 0; |
145 return 1; | 156 return 1; |
146 } | 157 } |
158 */ | |
147 | 159 |
148 int add_to_out(char *sfmt, char *sflags, unsigned int *outfmt, | 160 int add_to_out(char *sfmt, char *sflags, unsigned int *outfmt, |
149 unsigned char *outflags) | 161 unsigned char *outflags) |
150 { | 162 { |
151 static char *fmtstr[] = { | 163 static char *fmtstr[] = { |
175 IMGFMT_BGR|15, | 187 IMGFMT_BGR|15, |
176 IMGFMT_BGR|16, | 188 IMGFMT_BGR|16, |
177 IMGFMT_BGR|24, | 189 IMGFMT_BGR|24, |
178 IMGFMT_BGR|32 | 190 IMGFMT_BGR|32 |
179 }; | 191 }; |
192 static char *flagstr[] = { | |
193 "flip", | |
194 "noflip", | |
195 "yuvhack", | |
196 NULL | |
197 }; | |
198 | |
180 int i, j; | 199 int i, j; |
181 unsigned char flags; | 200 unsigned char flags; |
182 | 201 |
183 for (i = 0; i < CODECS_MAX_OUTFMT && outfmt[i] != 0xffffffff; i++) | 202 for (i = 0; i < CODECS_MAX_OUTFMT && outfmt[i] != 0xffffffff; i++) |
184 /* NOTHING */; | 203 /* NOTHING */; |
185 if (i == CODECS_MAX_FOURCC) { | 204 if (i == CODECS_MAX_FOURCC) { |
186 printf("too many out...\n"); | 205 printf("too many out...\n"); |
187 return 0; | 206 return 0; |
188 } | 207 } |
189 | 208 |
190 flags = get_flags(sflags); | 209 flags = 0; //get_flags(sflags); |
210 if(sflags) do { | |
211 for (j = 0; flagstr[j] != NULL; j++) | |
212 if (!strncmp(sflags, flagstr[j], strlen(flagstr[j]))) | |
213 break; | |
214 if (flagstr[j] == NULL) return 0; // error! | |
215 flags|=(1<<j); | |
216 sflags+=strlen(flagstr[j]); | |
217 } while (*(sflags++) == ','); | |
218 | |
191 | 219 |
192 do { | 220 do { |
193 for (j = 0; fmtstr[i] != NULL; j++) | 221 for (j = 0; fmtstr[j] != NULL; j++) |
194 if (!strncmp(sfmt, fmtstr[j], strlen(fmtstr[j]))) | 222 if (!strncmp(sfmt, fmtstr[j], strlen(fmtstr[j]))) |
195 break; | 223 break; |
196 if (fmtstr[j] == NULL) | 224 if (fmtstr[j] == NULL) |
197 return 0; | 225 return 0; |
198 outfmt[i] = fmtnum[j]; | 226 outfmt[i] = fmtnum[j]; |
199 outflags[i] = flags; | 227 outflags[i] = flags; |
228 ++i; | |
200 sfmt+=strlen(fmtstr[j]); | 229 sfmt+=strlen(fmtstr[j]); |
201 } while (*(sfmt++) == ','); | 230 } while (*(sfmt++) == ','); |
202 if (*(--sfmt) != '\0') | 231 if (*(--sfmt) != '\0') return 0; |
203 return 0; | 232 |
204 return 1; | 233 return 1; |
205 } | 234 } |
206 | 235 |
207 short get_driver(char *s) | 236 short get_driver(char *s) |
208 { | 237 { |
458 for(j=0;j<CODECS_MAX_FOURCC;j++){ | 487 for(j=0;j<CODECS_MAX_FOURCC;j++){ |
459 if(c->fourcc[j]!=0xFFFFFFFF){ | 488 if(c->fourcc[j]!=0xFFFFFFFF){ |
460 printf("fourcc %02d: %08X (%.4s) ===> %08X (%.4s)\n",j,c->fourcc[j],&c->fourcc[j],c->fourccmap[j],&c->fourccmap[j]); | 489 printf("fourcc %02d: %08X (%.4s) ===> %08X (%.4s)\n",j,c->fourcc[j],&c->fourcc[j],c->fourccmap[j],&c->fourccmap[j]); |
461 } | 490 } |
462 } | 491 } |
492 for(j=0;j<CODECS_MAX_OUTFMT;j++){ | |
493 if(c->outfmt[j]!=0xFFFFFFFF){ | |
494 printf("outfmt %02d: %08X (%.4s) flags: %d\n",j,c->outfmt[j],&c->outfmt[j],c->outflags[j]); | |
495 } | |
496 } | |
463 } | 497 } |
464 | 498 |
465 return 0; | 499 return 0; |
466 } | 500 } |
467 | 501 |