[FFmpeg-devel] [PATCH] Add hwaccel_data infrastructure

Gwenole Beauchesne gbeauchesne
Tue Mar 3 23:12:32 CET 2009


Le 3 mars 09 ? 22:37, Michael Niedermayer a ?crit :

> On Tue, Mar 03, 2009 at 01:29:17PM +0100, Gwenole Beauchesne wrote:
>> Hi,
>> This patch implements the suggested hwaccel_data infrastructure.
>> - hwaccel_data is allocated by the player and matches what we  
>> currently
>> name vdpau_render_state or vaapi_render_state. The aim is to  
>> replace the
>> use of AVCodecContext::data[0] (reserved for YV12 pixels -- future  
>> use).
> is there an advantage over using data[3] ?

I don't see any actually. In either case, data[3] (or hwaccel_data)  
needs to be filled in with e.g. mpi->priv in the mplayer case for  

>> - hwaccel_data_private is optional (check  
>> AVHWAccel::priv_data_size) and
>> allocated by FFmpeg. This private data has the lifetime of the  
>> decoded
>> AVFrame. It's deallocated through the ::close() function. I don't  
>> really
>> like the name. For VA API, I implemented it as  
>> ff_vaapi_destroy_picture().
> this looks asymetric
> alloc by av_mallocz()
> close by callback
> why?

Because I suggested open/close and you said only when needed. :) So I  
assumed it was the wrong route since, currently, VA API only needs  
av_mallocz() at frame buffer creation and do extra work at frame  
buffer destruction.

More information about the ffmpeg-devel mailing list