| Line | |
|---|
| 1 | #include "config.h"
|
|---|
| 2 |
|
|---|
| 3 | #include <math.h>
|
|---|
| 4 | #include "windef.h"
|
|---|
| 5 |
|
|---|
| 6 | #include "debugtools.h"
|
|---|
| 7 | DEFAULT_DEBUG_CHANNEL(quartz);
|
|---|
| 8 |
|
|---|
| 9 | /***********************************************************************
|
|---|
| 10 | * AmpFactorToDB (QUARTZ.@)
|
|---|
| 11 | *
|
|---|
| 12 | * undocumented.
|
|---|
| 13 | * converting from Amp to dB?
|
|---|
| 14 | *
|
|---|
| 15 | */
|
|---|
| 16 | LONG WINAPI QUARTZ_AmpFactorToDB( LONG amp )
|
|---|
| 17 | {
|
|---|
| 18 | LONG dB;
|
|---|
| 19 |
|
|---|
| 20 | FIXME( "(%08ld): undocumented API.\n", amp );
|
|---|
| 21 |
|
|---|
| 22 | if ( amp <= 0 || amp > 65536 )
|
|---|
| 23 | return 0;
|
|---|
| 24 |
|
|---|
| 25 | dB = (LONG)(2000.0 * log10((double)amp / 65536.0) + 0.5);
|
|---|
| 26 | if ( dB >= 0 ) dB = 0;
|
|---|
| 27 | if ( dB < -10000 ) dB = -10000;
|
|---|
| 28 |
|
|---|
| 29 | return dB;
|
|---|
| 30 | }
|
|---|
| 31 |
|
|---|
| 32 | /***********************************************************************
|
|---|
| 33 | * DBToAmpFactor (QUARTZ.@)
|
|---|
| 34 | *
|
|---|
| 35 | * undocumented.
|
|---|
| 36 | * converting from dB to Amp?
|
|---|
| 37 | */
|
|---|
| 38 | LONG WINAPI QUARTZ_DBToAmpFactor( LONG dB )
|
|---|
| 39 | {
|
|---|
| 40 | LONG amp;
|
|---|
| 41 |
|
|---|
| 42 | FIXME( "(%08ld): undocumented API.\n", dB );
|
|---|
| 43 |
|
|---|
| 44 | if ( dB >= 0 )
|
|---|
| 45 | return 65535;
|
|---|
| 46 | if ( dB < -10000 )
|
|---|
| 47 | return 0;
|
|---|
| 48 |
|
|---|
| 49 | amp = (LONG)(pow(10.0,dB / 2000.0) * 65536.0 + 0.5);
|
|---|
| 50 | if ( amp <= 0 ) amp = 1;
|
|---|
| 51 | if ( amp >= 65536 ) amp = 65535;
|
|---|
| 52 |
|
|---|
| 53 | return amp;
|
|---|
| 54 | }
|
|---|
| 55 |
|
|---|
Note:
See
TracBrowser
for help on using the repository browser.