timer.h
上传用户:tuheem
上传日期:2007-05-01
资源大小:21889k
文件大小:2k
源码类别:

多媒体编程

开发平台:

Visual C++

  1. # ifndef LIBMAD_TIMER_H
  2. # define LIBMAD_TIMER_H
  3. typedef struct {
  4.   signed long seconds;
  5.   unsigned long fraction;
  6. } mad_timer_t;
  7. extern mad_timer_t const mad_timer_zero;
  8. # define MAD_TIMER_RESOLUTION 352800000UL
  9. enum mad_units {
  10.   MAD_UNITS_HOURS  =    -2,
  11.   MAD_UNITS_MINUTES  =    -1,
  12.   MAD_UNITS_SECONDS  =     0,
  13.   MAD_UNITS_DECISECONDS  =    10,
  14.   MAD_UNITS_CENTISECONDS =   100,
  15.   MAD_UNITS_MILLISECONDS =  1000,
  16.   MAD_UNITS_8000_HZ  =  8000,
  17.   MAD_UNITS_11025_HZ  = 11025,
  18.   MAD_UNITS_12000_HZ  = 12000,
  19.   MAD_UNITS_16000_HZ  = 16000,
  20.   MAD_UNITS_22050_HZ  = 22050,
  21.   MAD_UNITS_24000_HZ  = 24000,
  22.   MAD_UNITS_32000_HZ  = 32000,
  23.   MAD_UNITS_44100_HZ  = 44100,
  24.   MAD_UNITS_48000_HZ  = 48000,
  25.   MAD_UNITS_24_FPS  =    24,
  26.   MAD_UNITS_25_FPS  =    25,
  27.   MAD_UNITS_30_FPS  =    30,
  28.   MAD_UNITS_48_FPS  =    48,
  29.   MAD_UNITS_50_FPS  =    50,
  30.   MAD_UNITS_60_FPS  =    60,
  31.   MAD_UNITS_75_FPS  =    75,
  32.   MAD_UNITS_23_976_FPS  =   -24,
  33.   MAD_UNITS_24_975_FPS  =   -25,
  34.   MAD_UNITS_29_97_FPS  =   -30,
  35.   MAD_UNITS_47_952_FPS  =   -48,
  36.   MAD_UNITS_49_95_FPS  =   -50,
  37.   MAD_UNITS_59_94_FPS  =   -60
  38. };
  39. # define mad_timer_reset(timer) ((void) (*(timer) = mad_timer_zero))
  40. int mad_timer_compare(mad_timer_t, mad_timer_t);
  41. # define mad_timer_sign(timer) mad_timer_compare((timer), mad_timer_zero)
  42. void mad_timer_negate(mad_timer_t *);
  43. mad_timer_t mad_timer_abs(mad_timer_t);
  44. void mad_timer_set(mad_timer_t *, unsigned long, unsigned long, unsigned long);
  45. void mad_timer_add(mad_timer_t *, mad_timer_t);
  46. void mad_timer_multiply(mad_timer_t *, signed long);
  47. signed long mad_timer_count(mad_timer_t, enum mad_units);
  48. unsigned long mad_timer_fraction(mad_timer_t, unsigned long);
  49. void mad_timer_string(mad_timer_t, char *, char const *,
  50.       enum mad_units, enum mad_units, unsigned long);
  51. # endif