[MPlayer-dev-eng] dr2 implementation thoughts
Arpi
arpi at thot.banki.hu
Wed Jul 17 01:07:29 CEST 2002
Hi,
> counteracting much of the speed gain. Instead, I'm thinking, why not
> pass the changed macroblock mask along with the draw_slice call, for
hmm, good idea. at least it makes things simpler than passing the whole
array & stride. also, it could benefit from draw_slice callback and the
mb_skip at the same time. only disadvantage is that it's limited to yv12
then. (draw_slice is yv12 only)
> 1) The vo driver could use AGP or otherwise specialized memcpy
> routines to actually do the copying. Even for instance sending
> accellerator commands to the video device to setup DMA copying of
> just the changed blocks. Particularly useful would be the
> capability of the MGA G200 driver to optimize its U/V plane
> interleaving. With multiple calls to draw_slice, the copy order is
> Y, UV, Y, UV, Y, UV, ..., which can't be good for the cache.
yes, i proposed it in my mail today, including sample C implementation
> 2) It could work with double buffering -- the vo driver would just
> keep the changed macroblock masks from the previous frame and
> bitwise merge them with the new ones, so as to copy every
> macroblock that's changed in the last 2 frames.
hmm, good point. we really need this to handle more than 1 buffers
> 3) Potential applications for filters. Some video filters, especially
> postprocessing, may want to modify not just the macroblocks changed
> by the codec in the present frame, but also all adjacent
> macroblocks. To do this, the filter could just make its
> modifications and then add the macroblocks it changed to the list
> before passing it on to the next filter/vo in the chain.
good idea, anyway too complex to implement :(
> If anyone sees significant problems with this, lemme know and maybe I
> can come up with something better. Good to finally see DR!
yea ;)
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