DECODDE_VPP Structures

Structures used by DECODE_VPP only.

API

mfxSurfaceArray

struct mfxSurfaceArray

The structure is reference counted object to return array of surfaces allocated and processed by the library.

Public Members

mfxHDL Context

The context of the memory interface. User should not touch (change, set, null) this pointer.

mfxStructVersion Version

The version of the structure.

mfxStatus (*AddRef)(struct mfxSurfaceArray *surface_array)

Increments the internal reference counter of the surface. The surface is not destroyed until the surface is released using the mfxSurfaceArray::Release function. mfxSurfaceArray::AddRef should be used each time a new link to the surface is created (for example, copy structure) for proper surface management.

Parameters

surface[in] Valid mfxSurfaceArray.

Returns

MFX_ERR_NONE If no error.

MFX_ERR_NULL_PTR If surface is NULL.

MFX_ERR_INVALID_HANDLE If mfxSurfaceArray->Context is invalid (for example NULL).

MFX_ERR_UNKNOWN Any internal error.

mfxStatus (*Release)(struct mfxSurfaceArray *surface_array)

Decrements the internal reference counter of the surface. mfxSurfaceArray::Release should be called after using the mfxSurfaceArray::AddRef function to add a surface or when allocation logic requires it.

Parameters

surface_array[in] Valid mfxSurfaceArray.

Returns

MFX_ERR_NONE If no error.

MFX_ERR_NULL_PTR If surface is NULL.

MFX_ERR_INVALID_HANDLE If mfxSurfaceArray->Context is invalid (for example NULL).

MFX_ERR_UNDEFINED_BEHAVIOR If Reference Counter of surface is zero before call.

MFX_ERR_UNKNOWN Any internal error.

mfxStatus (*GetRefCounter)(struct mfxSurfaceArray *surface_array, mfxU32 *counter)

Returns current reference counter of mfxSurfaceArray structure.

Parameters
  • surface[in] Valid surface_array.

  • counter[out] Sets counter to the current reference counter value.

Returns

MFX_ERR_NONE If no error.

MFX_ERR_NULL_PTR If surface or counter is NULL.

MFX_ERR_INVALID_HANDLE If mfxSurfaceArray->Context is invalid (for example NULL).

MFX_ERR_UNKNOWN Any internal error.

mfxFrameSurface1 **Surfaces

The array of pointers to mfxFrameSurface1. mfxFrameSurface1 surfaces are allocated by the same agent who allocates mfxSurfaceArray.

mfxU32 NumSurfaces

The size of array of pointers to mfxFrameSurface1.

mfxVideoChannelParam

struct mfxVideoChannelParam

The structure is used for VPP channels initializtion in Decode_VPP component.

Public Members

mfxFrameInfo VPP

The configuration parameters of VPP filters per each channel.

mfxU16 Protected

Specifies the content protection mechanism.

mfxU16 IOPattern

Output memory access types for SDK functions.

mfxExtBuffer **ExtParam

Points to an array of pointers to the extra configuration structures; see the ExtendedBufferID enumerator for a list of extended configurations.

mfxU16 NumExtParam

The number of extra configuration structures attached to the structure.

mfxExtInCrops

struct mfxExtInCrops

The structure contains crop parameters which applied by Decode_VPP component to input surfaces before video processing operation. It is used for letterboxing operations.

Public Members

mfxRect Crops

Extension buffer header. BufferId must be equal to MFX_EXTBUFF_CROPS. Crops parameters for letterboxing operations.