OpenCV  4.5.5
Open Source Computer Vision
Public Types | Public Member Functions | Static Public Member Functions | List of all members
cv::gapi::wip::onevpl::CfgParam Struct Reference

Public class is using for creation of onevpl::GSource instances. More...

#include <opencv2/gapi/streaming/onevpl/cfg_params.hpp>

Public Types

using name_t = std::string
 
using value_t = cv::util::variant< uint8_t, int8_t, uint16_t, int16_t, uint32_t, int32_t, uint64_t, int64_t, float_t, double_t, void *, std::string >
 

Public Member Functions

 CfgParam (const CfgParam &src)
 
 CfgParam (CfgParam &&src)
 
 ~CfgParam ()
 
const name_tget_name () const
 
const value_tget_value () const
 
bool is_major () const
 
bool operator!= (const CfgParam &rhs) const
 
bool operator< (const CfgParam &rhs) const
 
CfgParamoperator= (const CfgParam &src)
 
CfgParamoperator= (CfgParam &&src)
 
bool operator== (const CfgParam &rhs) const
 

Static Public Member Functions

static constexpr const char * acceleration_mode_name ()
 acceleration_mode_name More...
 
template<typename ValueType >
static CfgParam create (const std::string &name, ValueType &&value, bool is_major=true)
 
static CfgParam create_acceleration_mode (uint32_t value)
 
static CfgParam create_acceleration_mode (const char *value)
 
static CfgParam create_decoder_id (uint32_t value)
 
static CfgParam create_decoder_id (const char *value)
 
static CfgParam create_frames_pool_size (size_t value)
 
static CfgParam create_implementation (uint32_t value)
 
static CfgParam create_implementation (const char *value)
 
static constexpr const char * decoder_id_name ()
 decoder_id_name More...
 
static constexpr const char * frames_pool_size_name ()
 frames_pool_size_name More...
 
static constexpr const char * implementation_name ()
 

Detailed Description

Public class is using for creation of onevpl::GSource instances.

Class members availaible through methods CfgParam::get_name() and CfgParam::get_value() are used by onevpl::GSource inner logic to create or find oneVPL particular implementation (software/hardware, specific API version and etc.).

Note
Because oneVPL may provide several implementations which are satisfying with multiple (or single one) CfgParam criteria therefore it is possible to configure preferred parameters. This kind of CfgParams are created using is_major = false argument in CfgParam::create method and are not used by creating oneVPL particular implementations. Instead they fill out a "score table" to select preferrable implementation from available list. Implementation are satisfying with most of these optional params would be chosen. If no one optional CfgParam params were present then first of available oneVPL implementation would be applied. Please get on https://spec.oneapi.io/versions/latest/elements/oneVPL/source/API_ref/VPL_disp_api_func.html?highlight=mfxcreateconfig#mfxsetconfigfilterproperty for using OneVPL configuration. In this schema mfxU8 *name represents CfgParam::get_name() and mfxVariant value is CfgParam::get_value()

Member Typedef Documentation

◆ name_t

◆ value_t

Constructor & Destructor Documentation

◆ CfgParam() [1/2]

cv::gapi::wip::onevpl::CfgParam::CfgParam ( const CfgParam src)

◆ CfgParam() [2/2]

cv::gapi::wip::onevpl::CfgParam::CfgParam ( CfgParam &&  src)

◆ ~CfgParam()

cv::gapi::wip::onevpl::CfgParam::~CfgParam ( )

Member Function Documentation

◆ acceleration_mode_name()

static constexpr const char* cv::gapi::wip::onevpl::CfgParam::acceleration_mode_name ( )
inlinestatic

acceleration_mode_name

Special configuration parameter names for onevp::GSource:

Note
acceleration_mode_name allows to activate hardware acceleration & device memory management. Supported values:
  • MFX_ACCEL_MODE_VIA_D3D11 Will activate DX11 acceleration and will produces MediaFrames with data allocated in DX11 device memory

If not set then MFX implementation will use default acceleration behavior: all decoding operation uses default GPU resources but MediaFrame produces data allocated by using host RAM

◆ create()

template<typename ValueType >
static CfgParam cv::gapi::wip::onevpl::CfgParam::create ( const std::string &  name,
ValueType &&  value,
bool  is_major = true 
)
inlinestatic

Create generic onevp::GSource configuration parameter.

Parameters
namename of parameter.
valuevalue of parameter.
is_majorTRUE if parameter MUST be provided by OneVPL inner implementation, FALSE for optional (for resolve multiple available implementations).

◆ create_acceleration_mode() [1/2]

static CfgParam cv::gapi::wip::onevpl::CfgParam::create_acceleration_mode ( uint32_t  value)
static

◆ create_acceleration_mode() [2/2]

static CfgParam cv::gapi::wip::onevpl::CfgParam::create_acceleration_mode ( const char *  value)
static

◆ create_decoder_id() [1/2]

static CfgParam cv::gapi::wip::onevpl::CfgParam::create_decoder_id ( uint32_t  value)
static

◆ create_decoder_id() [2/2]

static CfgParam cv::gapi::wip::onevpl::CfgParam::create_decoder_id ( const char *  value)
static

◆ create_frames_pool_size()

static CfgParam cv::gapi::wip::onevpl::CfgParam::create_frames_pool_size ( size_t  value)
static

◆ create_implementation() [1/2]

static CfgParam cv::gapi::wip::onevpl::CfgParam::create_implementation ( uint32_t  value)
static

◆ create_implementation() [2/2]

static CfgParam cv::gapi::wip::onevpl::CfgParam::create_implementation ( const char *  value)
static

◆ decoder_id_name()

static constexpr const char* cv::gapi::wip::onevpl::CfgParam::decoder_id_name ( )
inlinestatic

decoder_id_name

Special configuration parameter names for onevp::GSource:

Note
decoder_id_name allows to specify VPL decoder type which MUST present in case of RAW video input data and MUST NOT present as CfgParam if video stream incapsulated into container(*.mp4, *.mkv and so on). In latter case onevp::GSource will determine it automatically Supported values:
  • MFX_CODEC_AVC
  • MFX_CODEC_HEVC
  • MFX_CODEC_MPEG2
  • MFX_CODEC_VC1
  • MFX_CODEC_CAPTURE
  • MFX_CODEC_VP9
  • MFX_CODEC_AV1

◆ frames_pool_size_name()

static constexpr const char* cv::gapi::wip::onevpl::CfgParam::frames_pool_size_name ( )
inlinestatic

frames_pool_size_name

Special configuration parameter name for onevp::GSource:

Note
frames_pool_size_name allows to allocate surfaces pool appropriate size to keep decoded frames in accelerator memory ready before they would be consumed by onevp::GSource::pull operation. If you see a lot of WARNING about lack of free surface then it's time to increase frames_pool_size_name but be aware of accelerator free memory volume. If not set then MFX implementation use mfxFrameAllocRequest::NumFrameSuggested behavior

◆ get_name()

const name_t& cv::gapi::wip::onevpl::CfgParam::get_name ( ) const

◆ get_value()

const value_t& cv::gapi::wip::onevpl::CfgParam::get_value ( ) const

◆ implementation_name()

static constexpr const char* cv::gapi::wip::onevpl::CfgParam::implementation_name ( )
inlinestatic

◆ is_major()

bool cv::gapi::wip::onevpl::CfgParam::is_major ( ) const

◆ operator!=()

bool cv::gapi::wip::onevpl::CfgParam::operator!= ( const CfgParam rhs) const

◆ operator<()

bool cv::gapi::wip::onevpl::CfgParam::operator< ( const CfgParam rhs) const

◆ operator=() [1/2]

CfgParam& cv::gapi::wip::onevpl::CfgParam::operator= ( const CfgParam src)

◆ operator=() [2/2]

CfgParam& cv::gapi::wip::onevpl::CfgParam::operator= ( CfgParam &&  src)

◆ operator==()

bool cv::gapi::wip::onevpl::CfgParam::operator== ( const CfgParam rhs) const

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