Mark Adams a écrit :
>> Result is :
>> -------------------------------
>>       1 current frame + 0 field 0 flipping on field 0
>>       1 current frame + 2 field 0 flipping on field 0
>>       1 current frame + 40 field 0 flipping on field 0
>>       1 current frame + 1 field 0 flipping on field 0
>>       2 current frame + 1 field 1 flipping on field 0
>>      12 current frame + 1 field 0 flipping on field 0
>>       2 current frame + 1 field 1 flipping on field 0
>>       1 current frame + 2 field 0 flipping on field 0
>>       2 current frame + 1 field 0 flipping on field 0
> 
> ... etc...
> 
> OK then, it appears that you're simply not able to generate frames fast
> enough, with the effect that frames will be repeated.  If that happens and
> the frames are interlaced, you will see nasty judder because you get to see
> something like field 1, field 2, field 3, field 4, field 3, field 4, field
> 7, field 8 etc.
> 
> Wherever you see '+2' in the output, that means that more than 1 frame
> period has elapsed since the last frame was flipped.

If I understand correctly, "+1" means that there was no dropped frames,
whether the flip occured during field 0 or 1. Field 1 meaning that
decoding was a bit late, but not enough to show stutter on screen...

> You can see that often the flips occur first during field 0 of a frame,
> then
> after a few frames, they've slipped into field 1, then you skip a frame and
> go back to field 0.

That's softdevice behaviour, which tries to keep up with frame rate. OK.

> I suspect that the DirectFB gfxdriver and the framebuffer are working
> perfectly but your hardware is just not able to keep up with generating
> frames.

This is a Via C3 Nehemiah 1GHz, with the following CPU usage on typical
live TV :

* software decoding:
  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
 2820 vdr       15   0  264m  54m 5696 S 58.0 24.7   0:42.09 vdr
* hardware decoding:
 3118 vdr       15   0  278m  50m 5580 S 37.7 23.2   0:17.70 vdr

General CPU usage (HW decoding):
Cpu(s): 20.0% us,  9.3% sy,  0.0% ni, 66.3% id,  0.0% wa,  4.3% hi,  0.0% si

Maybe the problem is the load average, which seems to reach 1.00 (after
a few minutes):
        load average: 1.07, 1.02, 0.50
(this may be biased by logging and "top", ssh, etc.)

That's on the softdevice side it seems.
Laz's 1.2GHz may be just the missing bit to get full synch...

>    307 current frame + 1 field 0 flipping on field 0
> 
>    792 current frame + 1 field 0 flipping on field 0
> 
> Those bits probably displayed properly, yes?

I guess... Since output is directed to a buffered file, I can't say for
sure.

> I presume that output you quoted was for the software decode case?  How
> does it look when you use the hardware decoder?

This was the hardware decoder. The following set is with software decoding :

      1 current frame + 0 field 0 flipping on field 0
      1 current frame + 2 field 0 flipping on field 0
      1 current frame + 26 field 1 flipping on field 0
      1 current frame + 1 field 0 flipping on field 0
      1 current frame + 4 field 0 flipping on field 0
     15 current frame + 1 field 0 flipping on field 0
      3 current frame + 1 field 1 flipping on field 0
      1 current frame + 2 field 0 flipping on field 0
      1 current frame + 1 field 0 flipping on field 0
      3 current frame + 1 field 1 flipping on field 0
      1 current frame + 2 field 0 flipping on field 0
      1 current frame + 1 field 0 flipping on field 0
      3 current frame + 1 field 1 flipping on field 0
      1 current frame + 2 field 0 flipping on field 0
      1 current frame + 1 field 0 flipping on field 0
      3 current frame + 1 field 1 flipping on field 0
      1 current frame + 2 field 0 flipping on field 0
      1 current frame + 1 field 0 flipping on field 0
      3 current frame + 1 field 1 flipping on field 0
      1 current frame + 2 field 0 flipping on field 0
      1 current frame + 1 field 0 flipping on field 0
      3 current frame + 1 field 1 flipping on field 0
      1 current frame + 2 field 0 flipping on field 0
      2 current frame + 1 field 0 flipping on field 0
      2 current frame + 1 field 1 flipping on field 0
      1 current frame + 2 field 0 flipping on field 0
      1 current frame + 1 field 0 flipping on field 0
      3 current frame + 1 field 1 flipping on field 0
      1 current frame + 2 field 0 flipping on field 0
      4 current frame + 1 field 0 flipping on field 0
      9 current frame + 1 field 1 flipping on field 0
      1 current frame + 2 field 0 flipping on field 0
     22 current frame + 1 field 0 flipping on field 0
      2 current frame + 1 field 1 flipping on field 0
      2 current frame + 1 field 0 flipping on field 0
     16 current frame + 1 field 1 flipping on field 0
      1 current frame + 1 field 0 flipping on field 0
      2 current frame + 1 field 1 flipping on field 0
     10 current frame + 1 field 0 flipping on field 0
     16 current frame + 1 field 1 flipping on field 0
     11 current frame + 1 field 0 flipping on field 0
      4 current frame + 1 field 1 flipping on field 0
      1 current frame + 1 field 0 flipping on field 0
     82 current frame + 1 field 1 flipping on field 0
      2 current frame + 1 field 0 flipping on field 0
      1 current frame + 1 field 1 flipping on field 0
     30 current frame + 1 field 0 flipping on field 0
      1 current frame + 1 field 1 flipping on field 0
      2 current frame + 1 field 0 flipping on field 0
      1 current frame + 1 field 1 flipping on field 0
      1 current frame + 1 field 0 flipping on field 0
      9 current frame + 1 field 1 flipping on field 0
      1 current frame + 1 field 0 flipping on field 0
      1 current frame + 1 field 1 flipping on field 0
     63 current frame + 1 field 0 flipping on field 0
     11 current frame + 1 field 1 flipping on field 0
      1 current frame + 1 field 0 flipping on field 0
      3 current frame + 1 field 1 flipping on field 0
      7 current frame + 1 field 0 flipping on field 0
      5 current frame + 1 field 1 flipping on field 0
      1 current frame + 1 field 0 flipping on field 0
      2 current frame + 1 field 1 flipping on field 0
      1 current frame + 1 field 0 flipping on field 0
      1 current frame + 1 field 1 flipping on field 0
     66 current frame + 1 field 0 flipping on field 0
      1 current frame + 1 field 1 flipping on field 0
      1 current frame + 1 field 0 flipping on field 0
      1 current frame + 1 field 1 flipping on field 0
      4 current frame + 1 field 0 flipping on field 0
     14 current frame + 1 field 1 flipping on field 0
      1 current frame + 1 field 0 flipping on field 0
      6 current frame + 1 field 1 flipping on field 0
      1 current frame + 1 field 0 flipping on field 0
     11 current frame + 1 field 1 flipping on field 0
     59 current frame + 1 field 0 flipping on field 0
      6 current frame + 1 field 1 flipping on field 0
      2 current frame + 1 field 0 flipping on field 0
      2 current frame + 1 field 1 flipping on field 0
     67 current frame + 1 field 0 flipping on field 0
      1 current frame + 1 field 1 flipping on field 0
      1 current frame + 1 field 0 flipping on field 0
      3 current frame + 1 field 1 flipping on field 0
      2 current frame + 1 field 0 flipping on field 0
      1 current frame + 1 field 1 flipping on field 0
     16 current frame + 1 field 0 flipping on field 0
      1 current frame + 1 field 1 flipping on field 0
      2 current frame + 1 field 0 flipping on field 0
      1 current frame + 1 field 1 flipping on field 0
      1 current frame + 1 field 0 flipping on field 0
      3 current frame + 1 field 1 flipping on field 0
      1 current frame + 1 field 0 flipping on field 0
      1 current frame + 1 field 1 flipping on field 0
      1 current frame + 1 field 0 flipping on field 0
      3 current frame + 1 field 1 flipping on field 0
     34 current frame + 1 field 0 flipping on field 0
      7 current frame + 1 field 1 flipping on field 0
      1 current frame + 1 field 0 flipping on field 0
     10 current frame + 1 field 1 flipping on field 0
      1 current frame + 1 field 0 flipping on field 0
      1 current frame + 1 field 1 flipping on field 0
      2 current frame + 1 field 0 flipping on field 0
      1 current frame + 1 field 1 flipping on field 0
      4 current frame + 1 field 0 flipping on field 0
      1 current frame + 1 field 1 flipping on field 0
      1 current frame + 1 field 0 flipping on field 0
      1 current frame + 1 field 1 flipping on field 0
      2 current frame + 1 field 0 flipping on field 0
      8 current frame + 1 field 1 flipping on field 0
     85 current frame + 1 field 0 flipping on field 0
      1 current frame + 1 field 1 flipping on field 0
     29 current frame + 1 field 0 flipping on field 0
      1 current frame + 1 field 1 flipping on field 0
     28 current frame + 1 field 0 flipping on field 0
      1 current frame + 1 field 1 flipping on field 0
     17 current frame + 1 field 0 flipping on field 0
     15 current frame + 1 field 1 flipping on field 0
      1 current frame + 1 field 0 flipping on field 0
      1 current frame + 1 field 1 flipping on field 0
     73 current frame + 1 field 0 flipping on field 0
      1 current frame + 1 field 1 flipping on field 0
     33 current frame + 1 field 0 flipping on field 0
      2 current frame + 1 field 1 flipping on field 0
     21 current frame + 1 field 0 flipping on field 0
      1 current frame + 1 field 1 flipping on field 0
      2 current frame + 1 field 0 flipping on field 0
      2 current frame + 1 field 1 flipping on field 0
      3 current frame + 1 field 0 flipping on field 0
      2 current frame + 1 field 1 flipping on field 0
      1 current frame + 1 field 0 flipping on field 0
      1 current frame + 1 field 1 flipping on field 0
      7 current frame + 1 field 0 flipping on field 0
      1 current frame + 1 field 1 flipping on field 0
      2 current frame + 1 field 0 flipping on field 0
      3 current frame + 1 field 1 flipping on field 0
      1 current frame + 1 field 0 flipping on field 0
      1 current frame + 1 field 1 flipping on field 0
      2 current frame + 1 field 0 flipping on field 0
      1 current frame + 1 field 1 flipping on field 0
     11 current frame + 1 field 0 flipping on field 0
      1 current frame + 1 field 1 flipping on field 0
      2 current frame + 1 field 0 flipping on field 0
      1 current frame + 1 field 1 flipping on field 0
     23 current frame + 1 field 0 flipping on field 0
      1 current frame + 1 field 1 flipping on field 0
      6 current frame + 1 field 0 flipping on field 0
      1 current frame + 1 field 1 flipping on field 0
     42 current frame + 1 field 0 flipping on field 0
      1 current frame + 1 field 1 flipping on field 0
      2 current frame + 1 field 0 flipping on field 0
      1 current frame + 1 field 1 flipping on field 0
      2 current frame + 1 field 0 flipping on field 0
      1 current frame + 1 field 1 flipping on field 0
      2 current frame + 1 field 0 flipping on field 0
      1 current frame + 1 field 1 flipping on field 0
     20 current frame + 1 field 0 flipping on field 0
      1 current frame + 1 field 1 flipping on field 0
      3 current frame + 1 field 0 flipping on field 0
      1 current frame + 1 field 1 flipping on field 0
    171 current frame + 1 field 0 flipping on field 0
      1 current frame + 1 field 1 flipping on field 0
   1584 current frame + 1 field 0 flipping on field 0

This case has no +2, except at the beginning. After that, the output is
smooth.

@Stefan : is upgrading softdevice from 0.3.1 to CVS a good idea to try
to improve this (I know, the answer is not "no") ?

-- 
NH

_______________________________________________
directfb-users mailing list
[email protected]
http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-users

Reply via email to