oneVPL++
C++ API Prototype for oneVPL
oneapi::vpl::extension_buffer< T, ID > Class Template Reference

Utilitary intermediate class to typify extension buffer interface with assotiated ID and C structure. More...

#include <extension_buffer.hpp>

Inheritance diagram for oneapi::vpl::extension_buffer< T, ID >:
[legend]
Collaboration diagram for oneapi::vpl::extension_buffer< T, ID >:
[legend]

Classes

class  is_extension_buffer
 Utilitary meta class to verify that T type is real C type of extension buffers. More...
 

Public Member Functions

template<typename check = typename std::enable_if<is_extension_buffer::value, mfxExtBuffer>::type>
 extension_buffer ()
 Default ctor.
 
 extension_buffer (const extension_buffer &other)=default
 Default copy ctor. More...
 
extension_bufferoperator= (const extension_buffer &other)=default
 Default copy operator. More...
 
uint32_t get_ID () const
 Returns ID of the extension buffer in a form of FourCC code. More...
 
uint32_t get_size () const
 Returns size of the extension buffer in bytes. More...
 
virtual T & get_ref ()
 Returns reference to underlying C structure with the extension buffer. More...
 
get () const
 Returns instance of underlying C structure with the extension buffer. More...
 
mfxExtBuffer * get_ptr ()
 Returns raw pointer to underlying C structure with the extension buffer. More...
 
- Public Member Functions inherited from oneapi::vpl::extension_buffer_base
 extension_buffer_base ()
 Default ctor.
 
 extension_buffer_base (const extension_buffer_base &other)=default
 Default copy ctor. More...
 
extension_buffer_baseoperator= (const extension_buffer_base &other)=default
 Default copy operator. More...
 
virtual ~extension_buffer_base ()
 Dtor.
 

Protected Attributes

buffer_
 Underlying C structure.
 

Detailed Description

template<typename T, uint32_t ID>
class oneapi::vpl::extension_buffer< T, ID >

Utilitary intermediate class to typify extension buffer interface with assotiated ID and C structure.

Template Parameters
TC structure
IDAssotiated ID with C structure

Constructor & Destructor Documentation

◆ extension_buffer()

template<typename T, uint32_t ID>
oneapi::vpl::extension_buffer< T, ID >::extension_buffer ( const extension_buffer< T, ID > &  other)
default

Default copy ctor.

Parameters
[in]otheranother object to use as data source

Member Function Documentation

◆ get()

template<typename T, uint32_t ID>
T oneapi::vpl::extension_buffer< T, ID >::get ( ) const
inline

Returns instance of underlying C structure with the extension buffer.

Returns
Instance underlying C structure.

◆ get_ID()

template<typename T, uint32_t ID>
uint32_t oneapi::vpl::extension_buffer< T, ID >::get_ID ( ) const
inlinevirtual

Returns ID of the extension buffer in a form of FourCC code.

Returns
Buffer ID

Implements oneapi::vpl::extension_buffer_base.

◆ get_ptr()

template<typename T, uint32_t ID>
mfxExtBuffer* oneapi::vpl::extension_buffer< T, ID >::get_ptr ( )
inlinevirtual

Returns raw pointer to underlying C structure with the extension buffer.

Returns
Raw pointer to underlying C structure.

Implements oneapi::vpl::extension_buffer_base.

◆ get_ref()

template<typename T, uint32_t ID>
virtual T& oneapi::vpl::extension_buffer< T, ID >::get_ref ( )
inlinevirtual

Returns reference to underlying C structure with the extension buffer.

Returns
Reference to underlying C structure.

Reimplemented in oneapi::vpl::extension_buffer_with_ptrs< T, ID >, oneapi::vpl::extension_buffer_with_ptrs< mfxExtMBForceIntra, MFX_EXTBUFF_MB_FORCE_INTRA >, oneapi::vpl::extension_buffer_with_ptrs< mfxExtVPPDoUse, MFX_EXTBUFF_VPP_DOUSE >, oneapi::vpl::extension_buffer_with_ptrs< mfxExtEncoderIPCMArea, MFX_EXTBUFF_ENCODER_IPCM_AREA >, oneapi::vpl::extension_buffer_with_ptrs< mfxExtMBQP, MFX_EXTBUFF_MBQP >, oneapi::vpl::extension_buffer_with_ptrs< mfxExtDeviceAffinityMask, MFX_EXTBUFF_DEVICE_AFFINITY_MASK >, oneapi::vpl::extension_buffer_with_ptrs< mfxExtCodingOptionVPS, MFX_EXTBUFF_CODING_OPTION_VPS >, oneapi::vpl::extension_buffer_with_ptrs< mfxExtVPPComposite, MFX_EXTBUFF_CODING_OPTION_VPS >, oneapi::vpl::extension_buffer_with_ptrs< mfxExtEncodedUnitsInfo, MFX_EXTBUFF_ENCODED_UNITS_INFO >, oneapi::vpl::extension_buffer_with_ptrs< mfxExtVP9Segmentation, MFX_EXTBUFF_VP9_SEGMENTATION >, oneapi::vpl::extension_buffer_with_ptrs< mfxExtEncodedSlicesInfo, MFX_EXTBUFF_ENCODED_SLICES_INFO >, oneapi::vpl::extension_buffer_with_ptrs< mfxExtMBDisableSkipMap, MFX_EXTBUFF_MB_DISABLE_SKIP_MAP >, oneapi::vpl::extension_buffer_with_ptrs< mfxExtVPPDoNotUse, MFX_EXTBUFF_VPP_DONOTUSE >, oneapi::vpl::extension_buffer_with_ptrs< mfxEncodeCtrl, 0 >, and oneapi::vpl::extension_buffer_with_ptrs< mfxExtCodingOptionSPSPPS, MFX_EXTBUFF_CODING_OPTION_SPSPPS >.

Here is the caller graph for this function:

◆ get_size()

template<typename T, uint32_t ID>
uint32_t oneapi::vpl::extension_buffer< T, ID >::get_size ( ) const
inline

Returns size of the extension buffer in bytes.

Returns
Size in bytes

◆ operator=()

template<typename T, uint32_t ID>
extension_buffer& oneapi::vpl::extension_buffer< T, ID >::operator= ( const extension_buffer< T, ID > &  other)
default

Default copy operator.

Parameters
[in]otheranother object to use as data source
Returns
Reference to this object

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