[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