20 #ifndef GNASH_VAAPICONTEXT_H
21 #define GNASH_VAAPICONTEXT_H
52 typedef boost::shared_ptr<VaapiSurface> VaapiSurfaceSP;
59 VAEntrypoint _entrypoint;
60 std::queue<VaapiSurfaceSP> _surfaces;
61 unsigned int _picture_width;
62 unsigned int _picture_height;
63 std::auto_ptr<VaapiContextData> _user_data;
67 bool createContext(
unsigned int width,
unsigned int height);
68 void destroyContext();
71 VaapiContext(VAProfile profile, VAEntrypoint entrypoint);
75 bool initDecoder(
unsigned int width,
unsigned int height);
78 VAContextID
get()
const {
return _context; }
81 boost::shared_ptr<VaapiSurface> acquireSurface();
84 void releaseSurface(boost::shared_ptr<VaapiSurface> surface);
87 void setData(std::auto_ptr<VaapiContextData> user_data) { _user_data = user_data; }
95 #endif // GNASH_VAAPICONTEXT_H