[MPlayer-dev-eng] real demux problem/solution and a [PATCH]

Arpi arpi at thot.banki.hu
Sat Apr 12 11:13:11 CEST 2003


Hi,

> the fps is 12.5, but mplayer reports only 12.
> 
> Maybe it is because there are 2 field containing FPS.
> 
> First says: 0x000C
> 
> Second one is said to be valid only if not negative.
> 
>       int tmp=stream_read_word(demuxer->stream);
>        if(tmp>0){
>        sh->fps=tmp; sh->frametime = 1.0f/sh->fps;
> 
> I have in stream 0x800C. What if second byte 0x80 is as fixed point ?
> That it is simply 12 and half ?

hmm. i've checked all of the samples at mphq (samples/real/*) and none
of the fps words are >30, but the next word after the second fps field
(currently ignored) is really the non-integer part of it:

###FPS### 0x19 25
###FPS2### 0x0 0
###FPS### 0x1E 30
###FPS2### 0x0 0
..
###FPS### 0xE 14
###FPS2### 0xFC20 64544
###FPS### 0x1D 29
###FPS2### 0xF852 63570
###FPS### 0x17 23
###FPS2### 0xF9C4 63940

14+(64544/65536) = 14.984863 (~=14.985)
23+(63940/65536) = 23.975647 (~=23.976)
29+(63570/65536) = 29.970001 (~=29.97)


A'rpi / Astral & ESP-team

--
Developer of MPlayer, the Movie Player for Linux - http://www.MPlayerHQ.hu



More information about the MPlayer-dev-eng mailing list