Mark Adams wrote:
>> Consider the following approach to support hardware video decoding in
>> xine, instead.
>> What we need is to tell the video driver to allocate frames in video
>> memory: this could be achieved by adding a capability flag (say
>> VO_CAP_VIDEO_STORAGE) to know whether the driver supports this feature,
>> and a driver property (say VO_PROP_VIDEO_STORAGE) to enable the feature.
>> Thus the decoder receives the virtual memory address of the surface in
>> vo_frame->base[] without the need to access surface's data directly.
>>
>> This is much more simple: the video decoder remains indipendent from the
>> graphics environment, we avoid the declaration of another frame format
>> (XINE_IMGFMT_DFBV is actually an alias for XINE_IMGFMT_YV12) and it can
>> be easly implemented in video_out_directfb (the driver included in
>> xine-lib).
>
> That sounds like a good suggestion.
>
> I used a new image format because that's how Xine seems to handle XvMC
> acceleration.
>
> There's a few issues though:
>
> The video driver's properties seem to be intended for use by the UI
> and not by other parts of xine-lib. Are we not overloading their
> intended use?
According to me, it won't worth nothing.
However I will discuss it on the xine mailing-list.
>
> The frames would all have to be locked in video memory permanently.
> Don't know whether that's an issue or not. With 15 frames in
> circulation, that amounts to about 7 Mbytes.
>
> I'll still need a way to get at the video memory offsets for the
> surfaces in order to pass them to the hardware decoder. I don't think
> I can work them out from the virtual addresses without knowing the
> base address of DirectFB's mapped memory. Any suggestions?
>
Well, libcle266mpegdec already accesses /dev/fbX to mmap the mmio,
thus you could mmap framebuffer memory to get the base address.
--
Regards,
Claudio Ciccani
[EMAIL PROTECTED]
http://directfb.org
http://sf.net/projects/php-directfb
_______________________________________________
directfb-dev mailing list
[email protected]
http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-dev