Mercurial > mplayer.hg
comparison codec-cfg.c @ 2681:7f0862258f4b
fourcc mapping fixed - 10l to someone
author | arpi |
---|---|
date | Sun, 04 Nov 2001 14:00:53 +0000 |
parents | a06f9c1df28e |
children | b4d46817f050 |
comparison
equal
deleted
inserted
replaced
2680:e8a534509557 | 2681:7f0862258f4b |
---|---|
35 | 35 |
36 static int add_to_fourcc(char *s, char *alias, unsigned int *fourcc, | 36 static int add_to_fourcc(char *s, char *alias, unsigned int *fourcc, |
37 unsigned int *map) | 37 unsigned int *map) |
38 { | 38 { |
39 int i, j, freeslots; | 39 int i, j, freeslots; |
40 char *aliasp; | |
41 unsigned int tmp; | 40 unsigned int tmp; |
42 | 41 |
43 /* find first unused slot */ | 42 /* find first unused slot */ |
44 for (i = 0; i < CODECS_MAX_FOURCC && fourcc[i] != 0xffffffff; i++) | 43 for (i = 0; i < CODECS_MAX_FOURCC && fourcc[i] != 0xffffffff; i++) |
45 /* NOTHING */; | 44 /* NOTHING */; |
46 freeslots = CODECS_MAX_FOURCC - i; | 45 freeslots = CODECS_MAX_FOURCC - i; |
47 if (!freeslots) | 46 if (!freeslots) |
48 goto err_out_too_many; | 47 goto err_out_too_many; |
49 | 48 |
50 aliasp = (alias) ? alias : s; | |
51 do { | 49 do { |
52 tmp = mmioFOURCC(s[0], s[1], s[2], s[3]); | 50 tmp = mmioFOURCC(s[0], s[1], s[2], s[3]); |
53 for (j = 0; j < i; j++) | 51 for (j = 0; j < i; j++) |
54 if (tmp == fourcc[j]) | 52 if (tmp == fourcc[j]) |
55 goto err_out_duplicated; | 53 goto err_out_duplicated; |
56 fourcc[i] = tmp; | 54 fourcc[i] = tmp; |
57 map[i] = mmioFOURCC(aliasp[0], aliasp[1], aliasp[2], aliasp[3]); | 55 map[i] = alias ? mmioFOURCC(alias[0], alias[1], alias[2], alias[3]) : tmp; |
58 s += 4; | 56 s += 4; |
59 i++; | 57 i++; |
60 } while ((*(s++) == ',') && --freeslots); | 58 } while ((*(s++) == ',') && --freeslots); |
61 | 59 |
62 if (!freeslots) | 60 if (!freeslots) |