Commit a41e9d68 authored by Panagiotis Issaris's avatar Panagiotis Issaris

Allow parameter values (AVOptions) to use the 'k', 'M', 'G'

and 'B' postfixes.

Originally committed as revision 6249 to svn://svn.ffmpeg.org/ffmpeg/trunk
parent 7f889a76
......@@ -27,11 +27,38 @@
#include "avcodec.h"
#include "opt.h"
static double av_parse_num(const char *name, char **tail){
/**
* strtod() function extended with 'k', 'M' and 'B' postfixes.
* This allows using kB, MB, k, M and B as a postfix. This function
* assumes that the unit of numbers is bits not bytes.
*/
static double av_strtod(const char *name, char **tail) {
double d;
d= strtod(name, tail);
if(*tail>name && (**tail=='k')) {
d*=1000;
(*tail)++;
}
else if(*tail && (**tail=='M')) {
d*=1000000;
(*tail)++;
}
else if(*tail && (**tail=='G')) {
d*=1000000000;
(*tail)++;
}
if(*tail && (**tail=='B')) {
d*=8;
(*tail)++;
}
return d;
}
static double av_parse_num(const char *name, char **tail){
double d;
d= av_strtod(name, tail);
if(*tail>name && (**tail=='/' || **tail==':'))
d/=strtod((*tail)+1, tail);
d/=av_strtod((*tail)+1, tail);
return d;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment