[MPlayer-G2-dev] VP layer progress

Arpi arpi at thot.banki.hu
Thu Jan 1 03:26:25 CET 2004


Hi,

> In the interest of promoting discussion, I'd like to open up my
> in-progress VP code for public viewing. Keep in mind this is under
> constant revision, and probably doesn't compile, and would earn me
> crates full of cola if it were actually used in some sort of release.
> :))))
> 
> http://brightrain.aerifal.cx/~dalias/vp-in-progress/

i've just read API3 doc from the above url.
some notes:

PRESERVE/REUSABLE vs locking:
think again my idea, of using 2 locks (a read lock and a write lock)
instead of singel lock and these flags.
anywya, where do you want to put the locks and the flags? they will
be link-only or be passed together with the image data?
(i mean each link/context will have its own lock and flags, or the
structure containing teh buffer pointers will have it, and it will be
passed to next filters?)

query_format:
i very like the idea of reporting 'distance' of fault. clever!!!

what i miss:
- stride handshaking/negotiation
  (including 'classic' stride flags of g1, for MB aligned, byte-aligned,
  pixel-aligned, and for planar modes the inter-plane restrictions like
  uvstride*2=ystride etc)
- aspect ratio handling

about locking implementation:
PLEASE do it using functions to lock/unlock, do not alow the nodes
change the lock variable directly. why?
we should add high level of (optional) debugging/tracing support to
the vp core. ie. something like 'lock log' where you track which filters
set which locks etc, so in case of debugging enabled you can print
detailed info on buffers status. very useful when hunting image corruptions,
sig11s, memleaks. i've spent lots of time in both g1 and especially in g2
with adding printfs to find out what happens to a buffer and where does it
get free'd before it should, or be overwritten.
also, such code not only helps debugging, but could (in case of trace/debug
enabled, to avoid performance loss for end-users) detect invalid cases,
so badly written filters will trigger asserts/errors insteda of silly
sig11s and leaks. helps a lot for bugreports...


A'rpi / Astral & ESP-team

--
Developer of MPlayer G2, the Movie Framework for all - http://www.MPlayerHQ.hu




More information about the MPlayer-G2-dev mailing list