Skip to content

vmafx/types.h

Status codes, shared enumerations and the export macros.

#include <vmafx/types.h>.

Status codes

Code Value libvmaf errno Since Meaning
VMAFX_OK 0 0 0.1 Success.
VMAFX_PENDING 1 -EAGAIN 0.1 The requested score is not final yet (libvmaf returned -EAGAIN).
VMAFX_E_INVALID -1 -EINVAL 0.1 Invalid argument or state; the error names the parameter.
VMAFX_E_NOMEM -2 -ENOMEM 0.1 Out of memory.
VMAFX_E_NOTSUP -3 -ENOTSUP 0.1 Backend, format or option not supported; the error names it.
VMAFX_E_NOTFOUND -4 -ENOENT 0.1 Unknown feature, model, extractor index or device.
VMAFX_E_BUSY -5 -EBUSY 0.1 Resource already in use.
VMAFX_E_DEVICE -6 -EIO 0.1 Backend runtime failure; the error carries the runtime's code.
VMAFX_E_IO -7 -EIO 0.1 File or stream error.
VMAFX_E_RANGE -8 -ERANGE 0.1 Value out of range.
VMAFX_E_INTERNAL -9 -EIO 0.1 Engine error without a more specific status; the error carries the engine's errno.
VMAFX_E_TIMEOUT -10 -ETIMEDOUT 0.1 A fence was not signalled within the time the caller allowed; the error names the fence (RC4 WP3).
VMAFX_E_ABI -11 -EINVAL 0.1 A struct_size below the size the struct had when it was introduced; the error names the struct.
VMAFX_E_MISMATCH -12 -EBADMSG 0.1 A report does not match its provenance digest or its re-run; the error's subject names the first field that differs and its message both values (vmafx_report_verify(), RC4 WP5). Added in ABI 0.1.5.

VmafxLogLevel

Log verbosity (values equal enum VmafLogLevel). Since 0.1.

Constant Value Since
VMAFX_LOG_LEVEL_NONE 0 0.1
VMAFX_LOG_LEVEL_ERROR 1 0.1
VMAFX_LOG_LEVEL_WARNING 2 0.1
VMAFX_LOG_LEVEL_INFO 3 0.1
VMAFX_LOG_LEVEL_DEBUG 4 0.1

VmafxBackend

Compute backend (values equal enum VmafBackend; 5 stays reserved for the removed backend of ADR-0726). Since 0.1.

Constant Value Since
VMAFX_BACKEND_CPU 0 0.1
VMAFX_BACKEND_CUDA 1 0.1
VMAFX_BACKEND_SYCL 2 0.1
VMAFX_BACKEND_METAL 3 0.1
VMAFX_BACKEND_HIP 4 0.1

VmafxPixelFormat

Planar pixel layout of a frame (values equal enum VmafPixelFormat). Since 0.1.

Constant Value Since
VMAFX_PIXEL_FORMAT_UNKNOWN 0 0.1
VMAFX_PIXEL_FORMAT_YUV420P 1 0.1
VMAFX_PIXEL_FORMAT_YUV422P 2 0.1
VMAFX_PIXEL_FORMAT_YUV444P 3 0.1
VMAFX_PIXEL_FORMAT_YUV400P 4 0.1
VMAFX_PIXEL_FORMAT_NV12 16 0.1
VMAFX_PIXEL_FORMAT_P010 17 0.1
VMAFX_PIXEL_FORMAT_P016 18 0.1

VmafxPool

Pooling method of a pooled score (values equal enum VmafPoolingMethod). Since 0.1.

Constant Value Since
VMAFX_POOL_NONE 0 0.1
VMAFX_POOL_MIN 1 0.1
VMAFX_POOL_MAX 2 0.1
VMAFX_POOL_MEAN 3 0.1
VMAFX_POOL_HARMONIC_MEAN 4 0.1
VMAFX_POOL_MEDIAN 5 0.1
VMAFX_POOL_PERC5 6 0.1
VMAFX_POOL_PERC10 7 0.1
VMAFX_POOL_PERC20 8 0.1

Handles and callbacks

Type Since Description
VmafxOptions 0.1 Feature options: string keys and values (the libvmaf feature dictionary). Released by vmafx_options_free.
VmafxLogCallback 0.1 Receives log messages: level is a VmafxLogLevel, message one line without its newline, valid during the call. Runs on the thread that raised the message, a library worker thread included, and may run on several threads at once: it must be thread-safe and must not call back into the context.
typedef void (*VmafxLogCallback)(uint32_t level, const char *message, void *user);

Functions

Function Since Description
vmafx_backend_name 0.1 Lower-case name of a VmafxBackend (cpu, cuda, sycl, metal, hip), unknown for another value; a static string. Added in ABI 0.1.6.
VMAFX_EXPORT const char *vmafx_backend_name(uint32_t backend);

Back to the reference index.