oneVPL++
C++ API Prototype for oneVPL
oneapi::vpl::implemetation_selector Class Referenceabstract

Selects oneVPL implementation according to the specified properties. More...

#include <impl_selector.hpp>

Inheritance diagram for oneapi::vpl::implemetation_selector:
[legend]

Public Member Functions

virtual ~implemetation_selector ()
 dtor
 
auto session () const
 Creates session which has the requested properties. Session class object calls this method at the ctor and takes care on deletion of loader and session handles. More...
 

Protected Member Functions

 implemetation_selector (std::initializer_list< property > list={})
 Protected ctor. More...
 
 implemetation_selector (const std::vector< property > &list)
 Protected ctor. More...
 
virtual bool operator() (std::shared_ptr< base_implementation_capabilities > caps) const =0
 This operator is applyed to any found oneVPL implementation. If operator returns true, a session based on found implementation is created. Otherwise, search is continued. More...
 

Protected Attributes

std::vector< propertyopts_
 List of properties.
 
mfxImplCapsDeliveryFormat format_
 Implementation capabilities report format. More...
 

Detailed Description

Selects oneVPL implementation according to the specified properties.

This object iterates over the available implementations and selects an appropriate one based on the list of properties. API user can create an instance of that class. If user wants to change the implementation selection behaviour they need to subslass and implement operator ().

Constructor & Destructor Documentation

◆ implemetation_selector() [1/2]

oneapi::vpl::implemetation_selector::implemetation_selector ( std::initializer_list< property list = {})
inlineexplicitprotected

Protected ctor.

Parameters
listList of properties
Here is the caller graph for this function:

◆ implemetation_selector() [2/2]

oneapi::vpl::implemetation_selector::implemetation_selector ( const std::vector< property > &  list)
inlineexplicitprotected

Protected ctor.

Parameters
listList of properties

Member Function Documentation

◆ operator()()

virtual bool oneapi::vpl::implemetation_selector::operator() ( std::shared_ptr< base_implementation_capabilities caps) const
protectedpure virtual

This operator is applyed to any found oneVPL implementation. If operator returns true, a session based on found implementation is created. Otherwise, search is continued.

Parameters
capsPointer to the session capabilities information in the requested format.
Returns
True, if implementation is good to go, false if search must continue.

Implemented in oneapi::vpl::default_selector.

◆ session()

auto oneapi::vpl::implemetation_selector::session ( ) const
inline

Creates session which has the requested properties. Session class object calls this method at the ctor and takes care on deletion of loader and session handles.

Returns
Pair of loader handle and associated session handle.
Here is the call graph for this function:

Member Data Documentation

◆ format_

mfxImplCapsDeliveryFormat oneapi::vpl::implemetation_selector::format_
protected

Implementation capabilities report format.


The documentation for this class was generated from the following file: