annotate libaf/format.c @ 23974:30677153df21

Set lavc_context->channels before opening the codec, it is sufficient to select the desired number of codecs for ffdca and does not break other codecs like ffvorbis that do not (re)set the channel number during decode.
author reimar
date Wed, 01 Aug 2007 23:36:40 +0000
parents 904e3f3f8bee
children 85f669a84e7a
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
16115
69eadbd92faa added missing license header
alex
parents: 14748
diff changeset
1 /*=============================================================================
69eadbd92faa added missing license header
alex
parents: 14748
diff changeset
2 //
69eadbd92faa added missing license header
alex
parents: 14748
diff changeset
3 // This software has been released under the terms of the GNU General Public
69eadbd92faa added missing license header
alex
parents: 14748
diff changeset
4 // license. See http://www.gnu.org/copyleft/gpl.html for details.
69eadbd92faa added missing license header
alex
parents: 14748
diff changeset
5 //
69eadbd92faa added missing license header
alex
parents: 14748
diff changeset
6 // Copyright 2005 Alex Beregszaszi
69eadbd92faa added missing license header
alex
parents: 14748
diff changeset
7 //
69eadbd92faa added missing license header
alex
parents: 14748
diff changeset
8 //=============================================================================
69eadbd92faa added missing license header
alex
parents: 14748
diff changeset
9 */
69eadbd92faa added missing license header
alex
parents: 14748
diff changeset
10
14748
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
11 #include <stdio.h>
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
12 #include <stdlib.h>
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
13 #include <string.h>
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
14 #include <inttypes.h>
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
15 #include <limits.h>
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
16
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
17 #include "af.h"
17863
8ec63246c118 last print on libaf to af_msg
reynaldo
parents: 16259
diff changeset
18 #include "help_mp.h"
14748
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
19
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
20 // Convert from string to format
19108
5e767cabf4cd marks several read-only string parameters and function return-values which can only be used read-only as const. Patch by Stefan Huehner, stefan _AT huener-org
reynaldo
parents: 17876
diff changeset
21 int af_str2fmt(const char* str)
14748
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
22 {
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
23 int format=0;
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
24 // Scan for endianess
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
25 if(strstr(str,"be") || strstr(str,"BE"))
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
26 format |= AF_FORMAT_BE;
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
27 else if(strstr(str,"le") || strstr(str,"LE"))
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
28 format |= AF_FORMAT_LE;
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
29 else
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
30 format |= AF_FORMAT_NE;
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
31
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
32 // Scan for special formats
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
33 if(strstr(str,"mulaw") || strstr(str,"MULAW")){
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
34 format |= AF_FORMAT_MU_LAW; return format;
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
35 }
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
36 if(strstr(str,"alaw") || strstr(str,"ALAW")){
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
37 format |= AF_FORMAT_A_LAW; return format;
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
38 }
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
39 if(strstr(str,"ac3") || strstr(str,"AC3")){
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
40 format |= AF_FORMAT_AC3; return format;
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
41 }
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
42 if(strstr(str,"mpeg2") || strstr(str,"MPEG2")){
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
43 format |= AF_FORMAT_MPEG2; return format;
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
44 }
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
45 if(strstr(str,"imaadpcm") || strstr(str,"IMAADPCM")){
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
46 format |= AF_FORMAT_IMA_ADPCM; return format;
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
47 }
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
48
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
49 // Scan for int/float
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
50 if(strstr(str,"float") || strstr(str,"FLOAT")){
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
51 format |= AF_FORMAT_F; return format;
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
52 }
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
53 else
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
54 format |= AF_FORMAT_I;
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
55
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
56 // Scan for signed/unsigned
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
57 if(strstr(str,"unsigned") || strstr(str,"UNSIGNED"))
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
58 format |= AF_FORMAT_US;
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
59 else
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
60 format |= AF_FORMAT_SI;
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
61
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
62 return format;
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
63 }
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
64
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
65 inline int af_fmt2bits(int format)
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
66 {
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
67 return (format & AF_FORMAT_BITS_MASK)+8;
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
68 // return (((format & AF_FORMAT_BITS_MASK)>>3)+1) * 8;
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
69 #if 0
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
70 switch(format & AF_FORMAT_BITS_MASK)
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
71 {
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
72 case AF_FORMAT_8BIT: return 8;
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
73 case AF_FORMAT_16BIT: return 16;
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
74 case AF_FORMAT_24BIT: return 24;
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
75 case AF_FORMAT_32BIT: return 32;
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
76 case AF_FORMAT_48BIT: return 48;
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
77 }
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
78 #endif
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
79 return -1;
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
80 }
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
81
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
82 inline int af_bits2fmt(int bits)
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
83 {
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
84 return (bits/8 - 1) << 3;
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
85 }
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
86
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
87 /* Convert format to str input str is a buffer for the
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
88 converted string, size is the size of the buffer */
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
89 char* af_fmt2str(int format, char* str, int size)
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
90 {
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
91 int i=0;
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
92
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
93 if (size < 1)
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
94 return NULL;
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
95 size--; // reserve one for terminating 0
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
96
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
97 // Endianess
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
98 if(AF_FORMAT_LE == (format & AF_FORMAT_END_MASK))
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
99 i+=snprintf(str,size-i,"little-endian ");
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
100 else
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
101 i+=snprintf(str,size-i,"big-endian ");
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
102
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
103 if(format & AF_FORMAT_SPECIAL_MASK){
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
104 switch(format & AF_FORMAT_SPECIAL_MASK){
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
105 case(AF_FORMAT_MU_LAW):
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
106 i+=snprintf(&str[i],size-i,"mu-law "); break;
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
107 case(AF_FORMAT_A_LAW):
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
108 i+=snprintf(&str[i],size-i,"A-law "); break;
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
109 case(AF_FORMAT_MPEG2):
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
110 i+=snprintf(&str[i],size-i,"MPEG-2 "); break;
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
111 case(AF_FORMAT_AC3):
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
112 i+=snprintf(&str[i],size-i,"AC3 "); break;
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
113 case(AF_FORMAT_IMA_ADPCM):
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
114 i+=snprintf(&str[i],size-i,"IMA-ADPCM "); break;
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
115 default:
17876
4645b9f89237 Fix up libaf unknown-format printing
corey
parents: 17863
diff changeset
116 i+=snprintf(&str[i],size-i,MSGTR_AF_FORMAT_UnknownFormat);
14748
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
117 }
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
118 }
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
119 else{
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
120 // Bits
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
121 i+=snprintf(&str[i],size-i,"%d-bit ", af_fmt2bits(format));
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
122
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
123 // Point
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
124 if(AF_FORMAT_F == (format & AF_FORMAT_POINT_MASK))
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
125 i+=snprintf(&str[i],size-i,"float ");
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
126 else{
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
127 // Sign
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
128 if(AF_FORMAT_US == (format & AF_FORMAT_SIGN_MASK))
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
129 i+=snprintf(&str[i],size-i,"unsigned ");
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
130 else
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
131 i+=snprintf(&str[i],size-i,"signed ");
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
132
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
133 i+=snprintf(&str[i],size-i,"int ");
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
134 }
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
135 }
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
136 // remove trailing space
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
137 if (i > 0 && str[i - 1] == ' ')
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
138 i--;
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
139 str[i] = 0; // make sure it is 0 terminated.
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
140 return str;
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
141 }
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
142
16259
bf5ee9e17e00 code reduction and less error prone, use the same table
alex
parents: 16115
diff changeset
143 static struct {
bf5ee9e17e00 code reduction and less error prone, use the same table
alex
parents: 16115
diff changeset
144 const char *name;
bf5ee9e17e00 code reduction and less error prone, use the same table
alex
parents: 16115
diff changeset
145 const int format;
bf5ee9e17e00 code reduction and less error prone, use the same table
alex
parents: 16115
diff changeset
146 } af_fmtstr_table[] = {
bf5ee9e17e00 code reduction and less error prone, use the same table
alex
parents: 16115
diff changeset
147 { "mulaw", AF_FORMAT_MU_LAW },
bf5ee9e17e00 code reduction and less error prone, use the same table
alex
parents: 16115
diff changeset
148 { "alaw", AF_FORMAT_A_LAW },
bf5ee9e17e00 code reduction and less error prone, use the same table
alex
parents: 16115
diff changeset
149 { "mpeg2", AF_FORMAT_MPEG2 },
bf5ee9e17e00 code reduction and less error prone, use the same table
alex
parents: 16115
diff changeset
150 { "ac3", AF_FORMAT_AC3 },
bf5ee9e17e00 code reduction and less error prone, use the same table
alex
parents: 16115
diff changeset
151 { "imaadpcm", AF_FORMAT_IMA_ADPCM },
bf5ee9e17e00 code reduction and less error prone, use the same table
alex
parents: 16115
diff changeset
152
bf5ee9e17e00 code reduction and less error prone, use the same table
alex
parents: 16115
diff changeset
153 { "u8", AF_FORMAT_U8 },
bf5ee9e17e00 code reduction and less error prone, use the same table
alex
parents: 16115
diff changeset
154 { "s8", AF_FORMAT_S8 },
bf5ee9e17e00 code reduction and less error prone, use the same table
alex
parents: 16115
diff changeset
155 { "u16le", AF_FORMAT_U16_LE },
bf5ee9e17e00 code reduction and less error prone, use the same table
alex
parents: 16115
diff changeset
156 { "u16be", AF_FORMAT_U16_BE },
bf5ee9e17e00 code reduction and less error prone, use the same table
alex
parents: 16115
diff changeset
157 { "u16ne", AF_FORMAT_U16_NE },
bf5ee9e17e00 code reduction and less error prone, use the same table
alex
parents: 16115
diff changeset
158 { "s16le", AF_FORMAT_S16_LE },
bf5ee9e17e00 code reduction and less error prone, use the same table
alex
parents: 16115
diff changeset
159 { "s16be", AF_FORMAT_S16_BE },
bf5ee9e17e00 code reduction and less error prone, use the same table
alex
parents: 16115
diff changeset
160 { "s16ne", AF_FORMAT_S16_NE },
bf5ee9e17e00 code reduction and less error prone, use the same table
alex
parents: 16115
diff changeset
161 { "u24le", AF_FORMAT_U24_LE },
bf5ee9e17e00 code reduction and less error prone, use the same table
alex
parents: 16115
diff changeset
162 { "u24be", AF_FORMAT_U24_BE },
bf5ee9e17e00 code reduction and less error prone, use the same table
alex
parents: 16115
diff changeset
163 { "u24ne", AF_FORMAT_U24_NE },
bf5ee9e17e00 code reduction and less error prone, use the same table
alex
parents: 16115
diff changeset
164 { "s24le", AF_FORMAT_S24_LE },
bf5ee9e17e00 code reduction and less error prone, use the same table
alex
parents: 16115
diff changeset
165 { "s24be", AF_FORMAT_S24_BE },
bf5ee9e17e00 code reduction and less error prone, use the same table
alex
parents: 16115
diff changeset
166 { "s24ne", AF_FORMAT_S24_NE },
bf5ee9e17e00 code reduction and less error prone, use the same table
alex
parents: 16115
diff changeset
167 { "u32le", AF_FORMAT_U32_LE },
bf5ee9e17e00 code reduction and less error prone, use the same table
alex
parents: 16115
diff changeset
168 { "u32be", AF_FORMAT_U32_BE },
bf5ee9e17e00 code reduction and less error prone, use the same table
alex
parents: 16115
diff changeset
169 { "u32ne", AF_FORMAT_U32_NE },
bf5ee9e17e00 code reduction and less error prone, use the same table
alex
parents: 16115
diff changeset
170 { "s32le", AF_FORMAT_S32_LE },
bf5ee9e17e00 code reduction and less error prone, use the same table
alex
parents: 16115
diff changeset
171 { "s32be", AF_FORMAT_S32_BE },
bf5ee9e17e00 code reduction and less error prone, use the same table
alex
parents: 16115
diff changeset
172 { "s32ne", AF_FORMAT_S32_NE },
bf5ee9e17e00 code reduction and less error prone, use the same table
alex
parents: 16115
diff changeset
173 { "floatle", AF_FORMAT_FLOAT_LE },
bf5ee9e17e00 code reduction and less error prone, use the same table
alex
parents: 16115
diff changeset
174 { "floatbe", AF_FORMAT_FLOAT_BE },
bf5ee9e17e00 code reduction and less error prone, use the same table
alex
parents: 16115
diff changeset
175 { "floatne", AF_FORMAT_FLOAT_NE },
bf5ee9e17e00 code reduction and less error prone, use the same table
alex
parents: 16115
diff changeset
176
bf5ee9e17e00 code reduction and less error prone, use the same table
alex
parents: 16115
diff changeset
177 { NULL, 0 }
bf5ee9e17e00 code reduction and less error prone, use the same table
alex
parents: 16115
diff changeset
178 };
bf5ee9e17e00 code reduction and less error prone, use the same table
alex
parents: 16115
diff changeset
179
19108
5e767cabf4cd marks several read-only string parameters and function return-values which can only be used read-only as const. Patch by Stefan Huehner, stefan _AT huener-org
reynaldo
parents: 17876
diff changeset
180 const char *af_fmt2str_short(int format)
14748
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
181 {
16259
bf5ee9e17e00 code reduction and less error prone, use the same table
alex
parents: 16115
diff changeset
182 int i;
bf5ee9e17e00 code reduction and less error prone, use the same table
alex
parents: 16115
diff changeset
183
bf5ee9e17e00 code reduction and less error prone, use the same table
alex
parents: 16115
diff changeset
184 for (i = 0; af_fmtstr_table[i].name; i++)
bf5ee9e17e00 code reduction and less error prone, use the same table
alex
parents: 16115
diff changeset
185 if (af_fmtstr_table[i].format == format)
19109
6e840952870d Removes an unneeded cast. Patch by Stefan Huehner, stefan AT.. huehner.org
reynaldo
parents: 19108
diff changeset
186 return af_fmtstr_table[i].name;
16259
bf5ee9e17e00 code reduction and less error prone, use the same table
alex
parents: 16115
diff changeset
187
14748
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
188 return "??";
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
189 }
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
190
19108
5e767cabf4cd marks several read-only string parameters and function return-values which can only be used read-only as const. Patch by Stefan Huehner, stefan _AT huener-org
reynaldo
parents: 17876
diff changeset
191 int af_str2fmt_short(const char* str)
14748
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
192 {
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
193 int i;
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
194
16259
bf5ee9e17e00 code reduction and less error prone, use the same table
alex
parents: 16115
diff changeset
195 for (i = 0; af_fmtstr_table[i].name; i++)
bf5ee9e17e00 code reduction and less error prone, use the same table
alex
parents: 16115
diff changeset
196 if (!strcasecmp(str, af_fmtstr_table[i].name))
bf5ee9e17e00 code reduction and less error prone, use the same table
alex
parents: 16115
diff changeset
197 return af_fmtstr_table[i].format;
14748
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
198
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
199 return -1;
85dc314b3d80 move the format related stuff to format.c
alex
parents:
diff changeset
200 }