Le primidi 11 ventôse, an CCXXII, Nicolas George a écrit :
> To convert timestamps from libdvdread, lsdvd uses the following code, from
> function dvdtime2msec():
> 
> double fps = frames_per_s[(dt->frame_u & 0xc0) >> 6];
> ms  = (((dt->hour &   0xf0) >> 3) * 5 + (dt->hour   & 0x0f)) * 3600000;
> ms += (((dt->minute & 0xf0) >> 3) * 5 + (dt->minute & 0x0f)) * 60000;
> ms += (((dt->second & 0xf0) >> 3) * 5 + (dt->second & 0x0f)) * 1000;
> if(fps > 0)
> ms += ((dt->frame_u & 0x30) >> 3) * 5 + (dt->frame_u & 0x0f) * 1000.0 / fps;
> 
> Obviously, the hour, minute and second field are in BCD, and the frame_u
> field is too, except for the two most significant bits that code the frame
> rate.
> 
> Except... the parentheses are missing in the last formula, and therefore the
> *1000/fps is only applied to the low nibble, not the high one.
> 
> The attached patch fixes the problem.

I realize this is the same issue as bug #603826, which was fixed during the
time I had the source tree in my temp dir. Sorry for the noise.

Regards,

-- 
  Nicolas George


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to