Mercurial > mplayer.hg
view stream/stream_dvd_common.c @ 28717:7bbe6626f0e0
Support fractional arguments for some override tags.
Done by parsing all integers as doubles first and then converting them to the
nearest integer. Patch by Grigori G (greg chown ath cx).
author | eugeni |
---|---|
date | Fri, 27 Feb 2009 23:06:47 +0000 |
parents | 83266d299072 |
children | 0f1b5b68af32 |
line wrap: on
line source
#include "config.h" #include <inttypes.h> #include <dvdread/ifo_types.h> #include "stream_dvd_common.h" /** \brief Converts DVD time structure to milliseconds. \param *dev the DVD time structure to convert \return returns the time in milliseconds */ int mp_dvdtimetomsec(dvd_time_t *dt) { static int framerates[4] = {0, 2500, 0, 2997}; int framerate = framerates[(dt->frame_u & 0xc0) >> 6]; int msec = (((dt->hour & 0xf0) >> 3) * 5 + (dt->hour & 0x0f)) * 3600000; msec += (((dt->minute & 0xf0) >> 3) * 5 + (dt->minute & 0x0f)) * 60000; msec += (((dt->second & 0xf0) >> 3) * 5 + (dt->second & 0x0f)) * 1000; if(framerate > 0) msec += (((dt->frame_u & 0x30) >> 3) * 5 + (dt->frame_u & 0x0f)) * 100000 / framerate; return msec; }