Go to the documentation of this file.
20 #ifndef GNASH_VAAPICONTEXT_H
21 #define GNASH_VAAPICONTEXT_H
52 typedef std::shared_ptr<VaapiSurface> VaapiSurfaceSP;
59 VAEntrypoint _entrypoint;
60 std::queue<VaapiSurfaceSP> _surfaces;
61 unsigned int _picture_width;
62 unsigned int _picture_height;
63 std::unique_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 std::shared_ptr<VaapiSurface> acquireSurface();
84 void releaseSurface(std::shared_ptr<VaapiSurface> surface);
87 void setData(std::unique_ptr<VaapiContextData> user_data) { _user_data = std::move(user_data); }
95 #endif // GNASH_VAAPICONTEXT_H
@ VAAPI_CODEC_VC1
Definition: VaapiContext.h:40
VA context abstraction.
Definition: VaapiContext.h:51
virtual ~VaapiContextData()
Definition: VaapiContext.h:46
@ height
Definition: klash_part.cpp:329
VA API global context.
Definition: VaapiGlobalContext.h:33
VADisplay display() const
Get the VA display.
Definition: VaapiGlobalContext.h:71
@ VAAPI_CODEC_MPEG2
Definition: VaapiContext.h:37
void log_debug(StringType msg, Args... args)
Definition: log.h:301
@ i
Definition: GnashKey.h:155
Anonymous namespace for callbacks, local functions, event handlers etc.
Definition: dbus_ext.cpp:41
bool initDecoder(unsigned int width, unsigned int height)
Initialize VA decoder for the specified picture dimensions.
Definition: VaapiContext.cpp:226
#define GNASH_REPORT_FUNCTION
Definition: log.h:452
static VaapiGlobalContext * get()
Get the unique global VA context.
Definition: VaapiGlobalContext.cpp:130
VaapiCodec
VA codec.
Definition: VaapiContext.h:35
@ VAAPI_CODEC_MPEG4
Definition: VaapiContext.h:38
VAContextID get() const
Return VA context.
Definition: VaapiContext.h:78
void setData(std::unique_ptr< VaapiContextData > user_data)
Set user data.
Definition: VaapiContext.h:87
bool vaapi_check_status(VAStatus status, const char *msg)
Check VA status for success or print out an error.
Definition: vaapi_utils.cpp:51
VaapiContextData * getData() const
Get user data.
Definition: VaapiContext.h:90
~VaapiContext()
Definition: VaapiContext.cpp:114
@ VAAPI_CODEC_UNKNOWN
Definition: VaapiContext.h:36
struct lirc_config * config
Definition: lirc_ext.cpp:43
VA context user-data.
Definition: VaapiContext.h:44
#define DSOEXPORT
Definition: dsodefs.h:55
VA exception abstraction.
Definition: VaapiException.h:29
void releaseSurface(std::shared_ptr< VaapiSurface > surface)
Release surface.
Definition: VaapiContext.cpp:249
@ width
Definition: klash_part.cpp:329
std::shared_ptr< VaapiSurface > acquireSurface()
Get a free surface.
Definition: VaapiContext.cpp:239
VaapiContext(VAProfile profile, VAEntrypoint entrypoint)
Definition: VaapiContext.cpp:94
const char * string_of_VAProfile(VAProfile profile)
Return a string representation of a VAProfile.
Definition: vaapi_utils.cpp:76
@ VAAPI_CODEC_H264
Definition: VaapiContext.h:39