Status Codes#

The oneVPL functions are organized into categories for easy reference. The categories include ENCODE (encoding functions), DECODE (decoding functions), and VPP (video processing functions).

Init, Reset, and Close are member functions within the ENCODE, DECODE, and VPP classes that initialize, restart, and deinitialize specific operations defined for the class. Call all member functions of a given class within the Init - Reset - Close sequence, except Query and QueryIOSurf. Reset functions are optional within the sequence.

The Init and Reset member functions set up necessary internal structures for media processing. Init functions allocate memory and Reset functions only reuse allocated internal memory. If oneVPL needs to allocate additional memory, Reset can fail. Reset functions can also fine-tune ENCODE and VPP parameters during those processes or reposition a bitstream during DECODE.

All oneVPL functions return status codes to indicate if an operation succeeded or failed. The mfxStatus::MFX_ERR_NONE status code indicates that the function successfully completed its operation. Error status codes are less than mfxStatus::MFX_ERR_NONE and warning status codes are greater than mfxStatus::MFX_ERR_NONE. See the mfxStatus enumerator for all defined status codes.

If a oneVPL function returns a warning, it has sufficiently completed its operation. Note that the output of the function might not be strictly reliable. The application must check the validity of the output generated by the function.

If a oneVPL function returns an error (except mfxStatus::MFX_ERR_MORE_DATA, mfxStatus::MFX_ERR_MORE_SURFACE, or mfxStatus::MFX_ERR_MORE_BITSTREAM), the function aborts the operation. The application must call either the Reset function to reset the class back to a clean state or the Close function to terminate the operation. The behavior is undefined if the application continues to call any class member functions without a Reset or Close. To avoid memory leaks, always call the Close function after Init.