| 572 | } |
| 573 | |
| 574 | static int parse_dB(AVExpr **e, Parser *p, int *sign) |
| 575 | { |
| 576 | /* do not filter out the negative sign when parsing a dB value. |
| 577 | for example, -3dB is not the same as -(3dB) */ |
| 578 | if (*p->s == '-') { |
| 579 | char *next; |
| 580 | av_unused double ignored = strtod(p->s, &next); |
| 581 | if (next != p->s && next[0] == 'd' && next[1] == 'B') { |
| 582 | *sign = 0; |
| 583 | return parse_primary(e, p); |
| 584 | } |
| 585 | } |
| 586 | return parse_pow(e, p, sign); |
| 587 | } |
| 588 | |
| 589 | static int parse_factor(AVExpr **e, Parser *p) |
| 590 | { |
no test coverage detected