[FFmpeg-cvslog] r18249 - trunk/libavcodec/vaapi.h

Gwenole Beauchesne gbeauchesne
Mon Mar 30 23:17:41 CEST 2009


Le 30 mars 09 ? 22:26, Gwenole Beauchesne a ?crit :

>>>>> --- trunk/libavcodec/vaapi.h	Mon Mar 30 15:29:10 2009	(r18248)
>>>>> +++ trunk/libavcodec/vaapi.h	Mon Mar 30 17:36:59 2009	(r18249)
>>>>> @@ -25,6 +25,7 @@
>>>>> #define AVCODEC_VAAPI_H
>>>>>
>>>>> #include <stdint.h>
>>>>> +#include <va/va.h>
>>>>
>>>> This is not a possible solution, please revert
>>>> The interface between lavc and the player MUST NOT depend on such  
>>>> headers.
>>>
>>> What do you suggest then?
>>
>> i remember asking gwenole to design the interface so this isnt  
>> needed ...
>
> It was but somethig apparently went wrong when moving things to  
> vaapi.h only and removing the vaapi_picture_private.
>
> I can see s/VASurfaceID/uint32_t/
>
> for the VAPictureParameterBuffer and other structures, I can suggest  
> the following functions:
> void *ff_alloc_picture(struct vaapi_context *, unsigned int size)
> void *ff_alloc_iq_matrix(struct vaapi_context *, unsigned int size)
> thus replacing the structs by void *
>
> the pic_param_size fields could also be removed now that the size is  
> an arg.
> e.g. in vaapi_mpeg4.c:
> pic_param = ff_alloc_picture(vactx,  
> sizeof(VAPictureParameterBufferMPEG4));
>
> ok?
>
> Will prepare a compile-tested patch shortly if it's fine with you.

<http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2009-March/ 
066679.html>

I finally changed my mind, it's not even needed to keep the void  
*pic_param in the struct vaapi_context. That struct is now only 60  
bytes long vs. > 1 KB and no longer contains any VA API data type.



More information about the ffmpeg-cvslog mailing list