[MPlayer-dev-eng] mp-g2 pre14
Arpi
arpi at thot.banki.hu
Mon Apr 21 13:03:11 CEST 2003
Hi,
> As for DR and slices, I don't see any particular problems with this
> design. Each vf can just pass the slice callback and/or DR buffer back
> to the previous filter. The only area where I see a little bit of
> confusion is negotiation of config and image format/dimensions, since
> that normally starts at the codec end. There shouldn't be
I had the same idea a few weeks ago (when i decided to change demuxer->codec
relation from push to poll), but dropped for config and dr problems.
DR and buffering should not be changed. It is good as-is.
But we need to change put_image() to something like process_image()
(no, get_image is sth else! may be confusing btw), and it will return mpi
instead of calling the next filter's put_image.
So processing will look like:
core calls ve or vf_vo to process a frame, it calls the _last_ filter's
process_image, it calls the previous filter's process_image and so on, up to
the codec (probably i have to write a codec wrapper filter, like vf_vo, some
vf_vd). The filters will call-back to the next filter's get_image to get teh
buffers allocated.
So, if you have VD -> VF1 -> VF2 -> VO path, it will looks like:
core
VF_VO->process_image()
VF2->process_image()
VF1->process_image()
VD->process_image()
VF1->get_image()
decode
return
VF2->get_image()
filter1
return
VF_VO->get_image()
filter2
return
display
return
show (swap buffers) at PTS got from VF_VO
> insurmountible problems, but we should at least think through how to
> handle stuff. I'm sure it can't be much worse than the negotiation
> system already is, though...
as most (all?) filters will start by calling the previous filter's
process_image() first, it shouldn't be difference for them.
(so instead of getting mpi as parameter for put_image, it will be called
process_image, and its first line will get the mpi. and at the end instead
of put_image(mpi), it will return mpi;
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