[FFmpeg-devel] About xvmc_acceleration

Reimar Döffinger Reimar.Doeffinger
Fri Feb 13 13:44:13 CET 2009


On Fri, Feb 13, 2009 at 01:32:23PM +0100, Gwenole Beauchesne wrote:
> On Fri, 13 Feb 2009, Reimar D?ffinger wrote:
>> The question is: what is xvmc_acceleration supposed to mean when it is
>> set before calling avcodec_open (will that be allowed)?
>> What is it supposed to mean when the codec sets it (is that allowed)?
>> What happens when the user sets it directly after avcodec_open or in the
>> middle of decoding (would that make any sense to do)?
>
> I think we can declare those cases as "undefined behaviour". Really, there 
> are already variables specified as "don't touch, used by libavcodec XXX". 
> If the user wants to do things that clearly are not allowed to, then I 
> think it's his fault and let him burn himself. i.e. let's just declare that 
> as "read-only, set by libavcodec foo()". Or create an AVCodecContextPrivate 
> struct and stuff any libavcodec things into it?


Well, that is all quite ok, but if you do _not_ allow the user to set it
you still lack a way to request real hardware decoding (i.e. returning
YV12).
I asked these questions because _precise_ answers to these would allow
me to see the point of xvmc_acceleration.
So do I understand you right that xvmc_acceleration would be a purely
internal thing that the user is supposed to never set or read and only
part of the public API for lack of a better place?




More information about the ffmpeg-devel mailing list