

VERSION_MAJOR = 1
VERSION_MINOR = 7
VERSION_REVISION = 3
COMMIT_INFO = 477856126
SUCCESS = 0
ERROR_OUT_OF_VIDEO_MEMORY = -3
ERROR_INVALID_IMAGE = -6
ERROR_UNSUPPORTED_IMAGE_FORMAT = -8
ERROR_INVALID_GL_TEXTURE = -9
ERROR_INVALID_CL_IMAGE = -10
ERROR_INVALID_OBJECT = -11
ERROR_INVALID_PARAMETER = -12
ERROR_INVALID_CONTEXT = -15
ERROR_INVALID_QUEUE = -16
ERROR_INVALID_FILTER = -17
ERROR_INVALID_FILTER_ARGUMENT_NAME = -18
ERROR_UNIMPLEMENTED = -19
ERROR_INVALID_API_VERSION = -20
ERROR_INTERNAL_ERROR = -21
ERROR_IO_ERROR = -22
ERROR_INVALID_PARAMETER_TYPE = -23
ERROR_UNSUPPORTED = -24
PARAMETER_TYPE_FLOAT = 0
PARAMETER_TYPE_FLOAT1 = 0
PARAMETER_TYPE_FLOAT2 = 1
PARAMETER_TYPE_FLOAT3 = 2
PARAMETER_TYPE_FLOAT4 = 3
PARAMETER_TYPE_FLOAT8 = 4
PARAMETER_TYPE_FLOAT16 = 5
PARAMETER_TYPE_UINT = 6
PARAMETER_TYPE_UINT1 = 6
PARAMETER_TYPE_UINT2 = 7
PARAMETER_TYPE_UINT3 = 8
PARAMETER_TYPE_UINT4 = 9
PARAMETER_TYPE_UINT8 = 10
PARAMETER_TYPE_UINT16 = 11
PARAMETER_TYPE_INT = 12
PARAMETER_TYPE_INT1 = 12
PARAMETER_TYPE_INT2 = 13
PARAMETER_TYPE_INT3 = 14
PARAMETER_TYPE_INT4 = 15
PARAMETER_TYPE_INT8 = 16
PARAMETER_TYPE_INT16 = 17
PARAMETER_TYPE_IMAGE = 18
PARAMETER_TYPE_STRING = 19
PARAMETER_TYPE_FLOAT_ARRAY = 20
PARAMETER_TYPE_UINT_ARRAY = 21
PARAMETER_TYPE_INT_ARRAY = 22
PARAMETER_TYPE_IMAGE_ARRAY = 23
PARAMETER_TYPE_LOCAL_MEMORY = 24
COMPUTE_TYPE_FLOAT = 0
COMPUTE_TYPE_HALF = 1
COMPUTE_TYPE_FLOAT16 = COMPUTE_TYPE_HALF
BACKEND_API_OPENCL = 0
BACKEND_API_METAL = 1
BACKEND_API_DIRECTX12 = 2
DEVICE_NAME = 1
DEVICE_VENDOR = 2
DEVICE_MEMORY_SIZE = 3
IMAGE_DESC = 769
IMAGE_DATA_SIZEBYTE = 770
COMPONENT_TYPE_UINT8 = 1
COMPONENT_TYPE_FLOAT16 = 2
COMPONENT_TYPE_FLOAT32 = 3
IMAGE_MAP_READ = 1
IMAGE_MAP_WRITE = 2
IMAGE_FILTER_NORMALIZATION = 1
IMAGE_FILTER_GAMMA_CORRECTION = 2
IMAGE_FILTER_RESAMPLE = 3
IMAGE_FILTER_RESAMPLE_DYNAMIC = 36
IMAGE_FILTER_REMAP_RANGE = 40
IMAGE_FILTER_GAUSSIAN_BLUR = 4
IMAGE_FILTER_MOTION_BLUR = 31
IMAGE_FILTER_COLOR_SPACE = 5
IMAGE_FILTER_HUE_SATURATION = 6
IMAGE_FILTER_FILMIC_TONEMAP = 7
IMAGE_FILTER_ACES_TONEMAP = 65
IMAGE_FILTER_REINHARD02_TONEMAP = 8
IMAGE_FILTER_EXPONENTIAL_TONEMAP = 9
IMAGE_FILTER_LINEAR_TONEMAP = 10
IMAGE_FILTER_DRAGO_TONEMAP = 11
IMAGE_FILTER_AUTOLINEAR_TONEMAP = 37
IMAGE_FILTER_MAXWHITE_TONEMAP = 38
IMAGE_FILTER_PHOTO_LINEAR_TONEMAP = 39
IMAGE_FILTER_PHOTO_TONEMAP = 41
IMAGE_FILTER_FILMIC_UNCHARTED_TONEMAP = 79
IMAGE_FILTER_BILATERAL_DENOISE = 12
IMAGE_FILTER_LWR_DENOISE = 13
IMAGE_FILTER_EAW_DENOISE = 14
IMAGE_FILTER_MEDIAN_DENOISE = 30
IMAGE_FILTER_AI_DENOISE = 62
IMAGE_FILTER_AI_UPSCALE = 63
CUSTOM_AI_MODEL = 50
IMAGE_FILTER_OPENIMAGE_DENOISE = 78
IMAGE_FILTER_MLAA = 15
IMAGE_FILTER_AI_TAA_UPSCALE = 101
IMAGE_FILTER_SOBEL = 16
IMAGE_FILTER_LAPLACE = 17
IMAGE_FILTER_EMBOSS = 32
IMAGE_FILTER_WEIGHTED_SUM = 18
IMAGE_FILTER_MULT = 19
IMAGE_FILTER_SCALAR_MULT = 49
IMAGE_FILTER_SHARPEN = 20
IMAGE_FILTER_MOTION_BUFFER = 21
IMAGE_FILTER_TEMPORAL_ACCUMULATOR = 22
IMAGE_FILTER_SHADOW_CATCHER = 23
IMAGE_FILTER_USER_DEFINED = 24
IMAGE_FILTER_DILATE_ERODE = 26
IMAGE_FILTER_POSTERIZE = 27
IMAGE_FILTER_BLOOM = 48
IMAGE_FILTER_BLOOM_REALTIME = 87
IMAGE_FILTER_DEPTH_OF_FIELD = 51
IMAGE_FILTER_NDC_DEPTH = 52
IMAGE_FILTER_CONVERT = 53
IMAGE_FILTER_BGRA_TO_RGBA = 54
IMAGE_FILTER_SPREAD = 28
IMAGE_FILTER_RGB_NOISE = 29
IMAGE_FILTER_FLIP_VERT = 33
IMAGE_FILTER_FLIP_HOR = 34
IMAGE_FILTER_ROTATE = 35
IMAGE_FILTER_ADD = 80
IMAGE_FILTER_MUL = 81
IMAGE_FILTER_SUB = 82
IMAGE_FILTER_DIV = 83
IMAGE_FILTER_MAX = 84
IMAGE_FILTER_MIN = 85
DEPTH_OF_FIELD_FILTER_KERNEL_SIZE_SMALL = 0
DEPTH_OF_FIELD_FILTER_KERNEL_SIZE_MEDIUM = 1
DEPTH_OF_FIELD_FILTER_KERNEL_SIZE_LARGE = 2
DEPTH_OF_FIELD_FILTER_KERNEL_SIZE_VERY_LARGE = 3
BLOOM_FILTER_QUALITY_GOOD = 0
BLOOM_FILTER_QUALITY_MEDIUM = 1
BLOOM_FILTER_QUALITY_BAD = 2
IMAGE_INTERPOLATION_NEAREST = 0
IMAGE_INTERPOLATION_BILINEAR = 1
IMAGE_INTERPOLATION_BICUBIC = 2
IMAGE_INTERPOLATION_LANCZOS = 3
IMAGE_INTERPOLATION_LANCZOS4 = 4
IMAGE_INTERPOLATION_LANCZOS6 = 5
IMAGE_INTERPOLATION_LANCZOS12 = 6
IMAGE_INTERPOLATION_LANCZOS3 = 7
IMAGE_INTERPOLATION_KAISER = 8
IMAGE_INTERPOLATION_BLACKMAN = 9
IMAGE_INTERPOLATION_GAUSS = 10
IMAGE_INTERPOLATION_BOX = 11
IMAGE_INTERPOLATION_TENT = 12
IMAGE_INTERPOLATION_BELL = 13
IMAGE_INTERPOLATION_BSPLINE = 14
IMAGE_INTERPOLATION_QUADRATIC_INTERP = 15
IMAGE_INTERPOLATION_QUADRATIC_APPROX = 16
IMAGE_INTERPOLATION_QUADRATIC_MIX = 17
IMAGE_INTERPOLATION_MITCHELL = 18
IMAGE_INTERPOLATION_CATMULL = 19
IMAGE_FILTER_TYPE = 0
IMAGE_FILTER_PARAMETER_COUNT = 1
IMAGE_FILTER_DESCRIPTION = 2
IMAGE_FILTER_JOINABLE = 3
PARAMETER_NAME_STRING = 4610
PARAMETER_TYPE = 4611
PARAMETER_DESCRIPTION = 4612
PARAMETER_VALUE = 4613
COLOR_SPACE_SRGB = 1
COLOR_SPACE_ADOBE_RGB = 2
COLOR_SPACE_REC2020 = 3
COLOR_SPACE_DCIP3 = 4
FALSE = 0
TRUE = 1
CONTEXT_KERNELS_SOURCE_DIR = 1
CONTEXT_KERNELS_CACHE_DIR = 2
AI_UPSCALE_MODE_GOOD_2X = 1
AI_UPSCALE_MODE_BEST_2X = 2
AI_UPSCALE_MODE_FAST_2X = 3
DILATE = 0
ERODE = 1
READ_MODE_DEFAULT = 0
READ_MODE_CLAMP = 1
READ_MODE_MIRROR = 2
READ_MODE_WRAP = 3
LOG_LEVEL_DISABLED = 0
LOG_LEVEL_ERROR = 1
LOG_LEVEL_MESSAGE = 2
LOG_LEVEL_WARNING = 3
LOG_LEVEL_INFO = 4
LOG_LEVEL_DEBUG = 5
LOG_LEVEL_TOTAL = 6
LOG_LEVEL_DEFAULT = LOG_LEVEL_MESSAGE
_constants_names = ['VERSION_MAJOR', 'VERSION_MINOR', 'VERSION_REVISION', 'COMMIT_INFO', 'SUCCESS', 'ERROR_OUT_OF_VIDEO_MEMORY', 'ERROR_INVALID_IMAGE', 'ERROR_UNSUPPORTED_IMAGE_FORMAT', 'ERROR_INVALID_GL_TEXTURE', 'ERROR_INVALID_CL_IMAGE', 'ERROR_INVALID_OBJECT', 'ERROR_INVALID_PARAMETER', 'ERROR_INVALID_CONTEXT', 'ERROR_INVALID_QUEUE', 'ERROR_INVALID_FILTER', 'ERROR_INVALID_FILTER_ARGUMENT_NAME', 'ERROR_UNIMPLEMENTED', 'ERROR_INVALID_API_VERSION', 'ERROR_INTERNAL_ERROR', 'ERROR_IO_ERROR', 'ERROR_INVALID_PARAMETER_TYPE', 'ERROR_UNSUPPORTED', 'PARAMETER_TYPE_FLOAT', 'PARAMETER_TYPE_FLOAT1', 'PARAMETER_TYPE_FLOAT2', 'PARAMETER_TYPE_FLOAT3', 'PARAMETER_TYPE_FLOAT4', 'PARAMETER_TYPE_FLOAT8', 'PARAMETER_TYPE_FLOAT16', 'PARAMETER_TYPE_UINT', 'PARAMETER_TYPE_UINT1', 'PARAMETER_TYPE_UINT2', 'PARAMETER_TYPE_UINT3', 'PARAMETER_TYPE_UINT4', 'PARAMETER_TYPE_UINT8', 'PARAMETER_TYPE_UINT16', 'PARAMETER_TYPE_INT', 'PARAMETER_TYPE_INT1', 'PARAMETER_TYPE_INT2', 'PARAMETER_TYPE_INT3', 'PARAMETER_TYPE_INT4', 'PARAMETER_TYPE_INT8', 'PARAMETER_TYPE_INT16', 'PARAMETER_TYPE_IMAGE', 'PARAMETER_TYPE_STRING', 'PARAMETER_TYPE_FLOAT_ARRAY', 'PARAMETER_TYPE_UINT_ARRAY', 'PARAMETER_TYPE_INT_ARRAY', 'PARAMETER_TYPE_IMAGE_ARRAY', 'PARAMETER_TYPE_LOCAL_MEMORY', 'COMPUTE_TYPE_FLOAT', 'COMPUTE_TYPE_HALF', 'COMPUTE_TYPE_FLOAT16', 'BACKEND_API_OPENCL', 'BACKEND_API_METAL', 'BACKEND_API_DIRECTX12', 'DEVICE_NAME', 'DEVICE_VENDOR', 'DEVICE_MEMORY_SIZE', 'IMAGE_DESC', 'IMAGE_DATA_SIZEBYTE', 'COMPONENT_TYPE_UINT8', 'COMPONENT_TYPE_FLOAT16', 'COMPONENT_TYPE_FLOAT32', 'IMAGE_MAP_READ', 'IMAGE_MAP_WRITE', 'IMAGE_FILTER_NORMALIZATION', 'IMAGE_FILTER_GAMMA_CORRECTION', 'IMAGE_FILTER_RESAMPLE', 'IMAGE_FILTER_RESAMPLE_DYNAMIC', 'IMAGE_FILTER_REMAP_RANGE', 'IMAGE_FILTER_GAUSSIAN_BLUR', 'IMAGE_FILTER_MOTION_BLUR', 'IMAGE_FILTER_COLOR_SPACE', 'IMAGE_FILTER_HUE_SATURATION', 'IMAGE_FILTER_FILMIC_TONEMAP', 'IMAGE_FILTER_ACES_TONEMAP', 'IMAGE_FILTER_REINHARD02_TONEMAP', 'IMAGE_FILTER_EXPONENTIAL_TONEMAP', 'IMAGE_FILTER_LINEAR_TONEMAP', 'IMAGE_FILTER_DRAGO_TONEMAP', 'IMAGE_FILTER_AUTOLINEAR_TONEMAP', 'IMAGE_FILTER_MAXWHITE_TONEMAP', 'IMAGE_FILTER_PHOTO_LINEAR_TONEMAP', 'IMAGE_FILTER_PHOTO_TONEMAP', 'IMAGE_FILTER_FILMIC_UNCHARTED_TONEMAP', 'IMAGE_FILTER_BILATERAL_DENOISE', 'IMAGE_FILTER_LWR_DENOISE', 'IMAGE_FILTER_EAW_DENOISE', 'IMAGE_FILTER_MEDIAN_DENOISE', 'IMAGE_FILTER_AI_DENOISE', 'IMAGE_FILTER_AI_UPSCALE', 'CUSTOM_AI_MODEL', 'IMAGE_FILTER_OPENIMAGE_DENOISE', 'IMAGE_FILTER_MLAA', 'IMAGE_FILTER_AI_TAA_UPSCALE', 'IMAGE_FILTER_SOBEL', 'IMAGE_FILTER_LAPLACE', 'IMAGE_FILTER_EMBOSS', 'IMAGE_FILTER_WEIGHTED_SUM', 'IMAGE_FILTER_MULT', 'IMAGE_FILTER_SCALAR_MULT', 'IMAGE_FILTER_SHARPEN', 'IMAGE_FILTER_MOTION_BUFFER', 'IMAGE_FILTER_TEMPORAL_ACCUMULATOR', 'IMAGE_FILTER_SHADOW_CATCHER', 'IMAGE_FILTER_USER_DEFINED', 'IMAGE_FILTER_DILATE_ERODE', 'IMAGE_FILTER_POSTERIZE', 'IMAGE_FILTER_BLOOM', 'IMAGE_FILTER_BLOOM_REALTIME', 'IMAGE_FILTER_DEPTH_OF_FIELD', 'IMAGE_FILTER_NDC_DEPTH', 'IMAGE_FILTER_CONVERT', 'IMAGE_FILTER_BGRA_TO_RGBA', 'IMAGE_FILTER_SPREAD', 'IMAGE_FILTER_RGB_NOISE', 'IMAGE_FILTER_FLIP_VERT', 'IMAGE_FILTER_FLIP_HOR', 'IMAGE_FILTER_ROTATE', 'IMAGE_FILTER_ADD', 'IMAGE_FILTER_MUL', 'IMAGE_FILTER_SUB', 'IMAGE_FILTER_DIV', 'IMAGE_FILTER_MAX', 'IMAGE_FILTER_MIN', 'DEPTH_OF_FIELD_FILTER_KERNEL_SIZE_SMALL', 'DEPTH_OF_FIELD_FILTER_KERNEL_SIZE_MEDIUM', 'DEPTH_OF_FIELD_FILTER_KERNEL_SIZE_LARGE', 'DEPTH_OF_FIELD_FILTER_KERNEL_SIZE_VERY_LARGE', 'BLOOM_FILTER_QUALITY_GOOD', 'BLOOM_FILTER_QUALITY_MEDIUM', 'BLOOM_FILTER_QUALITY_BAD', 'IMAGE_INTERPOLATION_NEAREST', 'IMAGE_INTERPOLATION_BILINEAR', 'IMAGE_INTERPOLATION_BICUBIC', 'IMAGE_INTERPOLATION_LANCZOS', 'IMAGE_INTERPOLATION_LANCZOS4', 'IMAGE_INTERPOLATION_LANCZOS6', 'IMAGE_INTERPOLATION_LANCZOS12', 'IMAGE_INTERPOLATION_LANCZOS3', 'IMAGE_INTERPOLATION_KAISER', 'IMAGE_INTERPOLATION_BLACKMAN', 'IMAGE_INTERPOLATION_GAUSS', 'IMAGE_INTERPOLATION_BOX', 'IMAGE_INTERPOLATION_TENT', 'IMAGE_INTERPOLATION_BELL', 'IMAGE_INTERPOLATION_BSPLINE', 'IMAGE_INTERPOLATION_QUADRATIC_INTERP', 'IMAGE_INTERPOLATION_QUADRATIC_APPROX', 'IMAGE_INTERPOLATION_QUADRATIC_MIX', 'IMAGE_INTERPOLATION_MITCHELL', 'IMAGE_INTERPOLATION_CATMULL', 'IMAGE_FILTER_TYPE', 'IMAGE_FILTER_PARAMETER_COUNT', 'IMAGE_FILTER_DESCRIPTION', 'IMAGE_FILTER_JOINABLE', 'PARAMETER_NAME_STRING', 'PARAMETER_TYPE', 'PARAMETER_DESCRIPTION', 'PARAMETER_VALUE', 'COLOR_SPACE_SRGB', 'COLOR_SPACE_ADOBE_RGB', 'COLOR_SPACE_REC2020', 'COLOR_SPACE_DCIP3', 'FALSE', 'TRUE', 'CONTEXT_KERNELS_SOURCE_DIR', 'CONTEXT_KERNELS_CACHE_DIR', 'AI_UPSCALE_MODE_GOOD_2X', 'AI_UPSCALE_MODE_BEST_2X', 'AI_UPSCALE_MODE_FAST_2X', 'DILATE', 'ERODE', 'READ_MODE_DEFAULT', 'READ_MODE_CLAMP', 'READ_MODE_MIRROR', 'READ_MODE_WRAP', 'LOG_LEVEL_DISABLED', 'LOG_LEVEL_ERROR', 'LOG_LEVEL_MESSAGE', 'LOG_LEVEL_WARNING', 'LOG_LEVEL_INFO', 'LOG_LEVEL_DEBUG', 'LOG_LEVEL_TOTAL', 'LOG_LEVEL_DEFAULT']
_types_names = ['bool', 'bool', 'char', 'char', 'double', 'double', 'float', 'float', 'int', 'int', 'long', 'long', 'longlong', 'longlong', 'short', 'short', 'uchar', 'uchar', 'uint', 'uint', 'ulong', 'ulong', 'ushort', 'ushort', 'backend_api_type', 'backend_api_type', 'color_space', 'color_space', 'command_queue_t', 'command_queue_t', 'component_type', 'component_type', 'compute_type', 'compute_type', 'context_info', 'context_info', 'context_t', 'context_t', 'device_info', 'device_info', 'image_filter_info', 'image_filter_info', 'image_filter_t', 'image_filter_t', 'image_filter_type', 'image_filter_type', 'image_info', 'image_info', 'image_map_type', 'image_map_type', 'image_t', 'image_t', 'int64', 'int64', 'interpolation_operator', 'interpolation_operator', 'parameter_info', 'parameter_info', 'parameter_type', 'parameter_type', 'uint64', 'uint64', '_ai_models_desc', '_ai_models_desc', '_image_desc', '_image_desc', '_performance_statistic', '_performance_statistic', 'exec_command_queue_callback', 'exec_command_queue_callback', 'ai_models_desc', 'ai_models_desc', 'command_queue', 'command_queue', 'context', 'context', 'image', 'image', 'image_desc', 'image_desc', 'image_filter', 'image_filter', 'performance_statistic', 'performance_statistic']
def CommandQueueAttachImageFilter(command_queue, image_filter, input_image, output_image):
    return lib.rifCommandQueueAttachImageFilter(command_queue._get_handle() if command_queue else ffi.NULL, image_filter._get_handle() if image_filter else ffi.NULL, input_image._get_handle() if input_image else ffi.NULL, output_image._get_handle() if output_image else ffi.NULL)

def CommandQueueAttachImageFilterRect(command_queue, image_filter, input_image, output_image, x, y, w, h):
    return lib.rifCommandQueueAttachImageFilterRect(command_queue._get_handle() if command_queue else ffi.NULL, image_filter._get_handle() if image_filter else ffi.NULL, input_image._get_handle() if input_image else ffi.NULL, output_image._get_handle() if output_image else ffi.NULL, x, y, w, h)

def CommandQueueDetachImageFilter(command_queue, image_filter):
    return lib.rifCommandQueueDetachImageFilter(command_queue._get_handle() if command_queue else ffi.NULL, image_filter._get_handle() if image_filter else ffi.NULL)

def ContextCreateCommandQueue(context, command_queue):
    return lib.rifContextCreateCommandQueue(context._get_handle() if context else ffi.NULL, command_queue._handle_ptr if command_queue else ffi.NULL)

def ContextCreateImage(context, image_desc, data, out_image):
    return lib.rifContextCreateImage(context._get_handle() if context else ffi.NULL, image_desc, data, out_image._handle_ptr if out_image else ffi.NULL)

def ContextCreateImageFilter(context, type, out_effect):
    return lib.rifContextCreateImageFilter(context._get_handle() if context else ffi.NULL, type, out_effect._handle_ptr if out_effect else ffi.NULL)

def ContextCreateImageFromMetalMemory(context, image_desc, mem, size, out_image):
    return lib.rifContextCreateImageFromMetalMemory(context._get_handle() if context else ffi.NULL, image_desc, mem, size, out_image._handle_ptr if out_image else ffi.NULL)

def ContextCreateImageFromOpenClMemory(context, image_desc, mem, out_image):
    return lib.rifContextCreateImageFromOpenClMemory(context._get_handle() if context else ffi.NULL, image_desc, mem, out_image._handle_ptr if out_image else ffi.NULL)

def ContextCreateImageFromOpenGlTexture(context, target, miplevel, texture, out_image):
    return lib.rifContextCreateImageFromOpenGlTexture(context._get_handle() if context else ffi.NULL, target, miplevel, texture, out_image._handle_ptr if out_image else ffi.NULL)

def ContextExecuteCommandQueue(context, command_queue, executionFinishedCallbackFunction, data, statistics):
    return lib.rifContextExecuteCommandQueue(context._get_handle() if context else ffi.NULL, command_queue._get_handle() if command_queue else ffi.NULL, executionFinishedCallbackFunction, data, statistics)

def ContextGetInfo(context, context_info, size, data, size_ret):
    return lib.rifContextGetInfo(context._get_handle() if context else ffi.NULL, context_info, size, data, size_ret)

def ContextSetInfo(context, context_info, data):
    return lib.rifContextSetInfo(context._get_handle() if context else ffi.NULL, context_info, data)

def CreateContext(api_version, backend_api_type, device_id, cache_path, out_context):
    return lib.rifCreateContext(api_version, backend_api_type, device_id, cache_path, out_context._handle_ptr if out_context else ffi.NULL)

def CreateContextFromMetalContext(api_version, device, queue, cache_path, out_context):
    return lib.rifCreateContextFromMetalContext(api_version, device, queue, cache_path, out_context._handle_ptr if out_context else ffi.NULL)

def CreateContextFromOpenClContext(api_version, context, device, queue, cache_path, out_context):
    return lib.rifCreateContextFromOpenClContext(api_version, context, device, queue, cache_path, out_context._handle_ptr if out_context else ffi.NULL)

def CreateContextSharedWithOpenGl(api_version, device_id, cache_path, out_context):
    return lib.rifCreateContextSharedWithOpenGl(api_version, device_id, cache_path, out_context._handle_ptr if out_context else ffi.NULL)

def FlushQueue(command_queue):
    return lib.rifFlushQueue(command_queue._get_handle() if command_queue else ffi.NULL)

def GetDeviceCount(backend_api_type, deviceCount):
    return lib.rifGetDeviceCount(backend_api_type, deviceCount)

def GetDeviceInfo(backend_api_type, device_id, device_info, size, data, size_ret):
    return lib.rifGetDeviceInfo(backend_api_type, device_id, device_info, size, data, size_ret)

def GetErrorCodeDescription(error):
    return lib.rifGetErrorCodeDescription(error)

def GetErrorCodeString(error):
    return lib.rifGetErrorCodeString(error)

def GetLastErrorMessage():
    return lib.rifGetLastErrorMessage()

def ImageFilterClearParameterImage(image_filter, name):
    return lib.rifImageFilterClearParameterImage(image_filter._get_handle() if image_filter else ffi.NULL, name)

def ImageFilterGetInfo(image_filter, filter_info, size, data, size_ret):
    return lib.rifImageFilterGetInfo(image_filter._get_handle() if image_filter else ffi.NULL, filter_info, size, data, size_ret)

def ImageFilterSetComputeType(image_filter, compute_type):
    return lib.rifImageFilterSetComputeType(image_filter._get_handle() if image_filter else ffi.NULL, compute_type)

def ImageFilterSetParameter16f(image_filter, name, val):
    return lib.rifImageFilterSetParameter16f(image_filter._get_handle() if image_filter else ffi.NULL, name, val)

def ImageFilterSetParameter16i(image_filter, name, val):
    return lib.rifImageFilterSetParameter16i(image_filter._get_handle() if image_filter else ffi.NULL, name, val)

def ImageFilterSetParameter16u(image_filter, name, val):
    return lib.rifImageFilterSetParameter16u(image_filter._get_handle() if image_filter else ffi.NULL, name, val)

def ImageFilterSetParameter1f(image_filter, name, x):
    return lib.rifImageFilterSetParameter1f(image_filter._get_handle() if image_filter else ffi.NULL, name, x)

def ImageFilterSetParameter1i(image_filter, name, x):
    return lib.rifImageFilterSetParameter1i(image_filter._get_handle() if image_filter else ffi.NULL, name, x)

def ImageFilterSetParameter1u(image_filter, name, x):
    return lib.rifImageFilterSetParameter1u(image_filter._get_handle() if image_filter else ffi.NULL, name, x)

def ImageFilterSetParameter2f(image_filter, name, x, y):
    return lib.rifImageFilterSetParameter2f(image_filter._get_handle() if image_filter else ffi.NULL, name, x, y)

def ImageFilterSetParameter2i(image_filter, name, x, y):
    return lib.rifImageFilterSetParameter2i(image_filter._get_handle() if image_filter else ffi.NULL, name, x, y)

def ImageFilterSetParameter2u(image_filter, name, x, y):
    return lib.rifImageFilterSetParameter2u(image_filter._get_handle() if image_filter else ffi.NULL, name, x, y)

def ImageFilterSetParameter3f(image_filter, name, x, y, z):
    return lib.rifImageFilterSetParameter3f(image_filter._get_handle() if image_filter else ffi.NULL, name, x, y, z)

def ImageFilterSetParameter3i(image_filter, name, x, y, z):
    return lib.rifImageFilterSetParameter3i(image_filter._get_handle() if image_filter else ffi.NULL, name, x, y, z)

def ImageFilterSetParameter3u(image_filter, name, x, y, z):
    return lib.rifImageFilterSetParameter3u(image_filter._get_handle() if image_filter else ffi.NULL, name, x, y, z)

def ImageFilterSetParameter4f(image_filter, name, x, y, z, w):
    return lib.rifImageFilterSetParameter4f(image_filter._get_handle() if image_filter else ffi.NULL, name, x, y, z, w)

def ImageFilterSetParameter4i(image_filter, name, x, y, z, w):
    return lib.rifImageFilterSetParameter4i(image_filter._get_handle() if image_filter else ffi.NULL, name, x, y, z, w)

def ImageFilterSetParameter4u(image_filter, name, x, y, z, w):
    return lib.rifImageFilterSetParameter4u(image_filter._get_handle() if image_filter else ffi.NULL, name, x, y, z, w)

def ImageFilterSetParameter8f(image_filter, name, val):
    return lib.rifImageFilterSetParameter8f(image_filter._get_handle() if image_filter else ffi.NULL, name, val)

def ImageFilterSetParameter8i(image_filter, name, val):
    return lib.rifImageFilterSetParameter8i(image_filter._get_handle() if image_filter else ffi.NULL, name, val)

def ImageFilterSetParameter8u(image_filter, name, val):
    return lib.rifImageFilterSetParameter8u(image_filter._get_handle() if image_filter else ffi.NULL, name, val)

def ImageFilterSetParameterFloatArray(image_filter, name, arr, num):
    return lib.rifImageFilterSetParameterFloatArray(image_filter._get_handle() if image_filter else ffi.NULL, name, arr, num)

def ImageFilterSetParameterImage(image_filter, name, img):
    return lib.rifImageFilterSetParameterImage(image_filter._get_handle() if image_filter else ffi.NULL, name, img._get_handle() if img else ffi.NULL)

def ImageFilterSetParameterImageArray(image_filter, name, arr, num):
    return lib.rifImageFilterSetParameterImageArray(image_filter._get_handle() if image_filter else ffi.NULL, name, arr._handle_ptr if arr else ffi.NULL, num)

def ImageFilterSetParameterString(image_filter, name, val):
    return lib.rifImageFilterSetParameterString(image_filter._get_handle() if image_filter else ffi.NULL, name, val)

def ImageGetInfo(image, image_info, size, data, size_ret):
    return lib.rifImageGetInfo(image._get_handle() if image else ffi.NULL, image_info, size, data, size_ret)

def ImageMap(image, map_type, data):
    return lib.rifImageMap(image._get_handle() if image else ffi.NULL, map_type, data)

def ImageUnmap(image, ptr):
    return lib.rifImageUnmap(image._get_handle() if image else ffi.NULL, ptr)

def LoggerClear():
    return lib.rifLoggerClear()

def ObjectDelete(obj):
    return lib.rifObjectDelete(obj)

def ParameterGetInfo(image_filter, paramIdx, param_info, size, data, size_ret):
    return lib.rifParameterGetInfo(image_filter._get_handle() if image_filter else ffi.NULL, paramIdx, param_info, size, data, size_ret)

def SyncronizeQueue(command_queue):
    return lib.rifSyncronizeQueue(command_queue._get_handle() if command_queue else ffi.NULL)

_functions_names = ['CommandQueueAttachImageFilter', 'CommandQueueAttachImageFilterRect', 'CommandQueueDetachImageFilter', 'ContextCreateCommandQueue', 'ContextCreateImage', 'ContextCreateImageFilter', 'ContextCreateImageFromMetalMemory', 'ContextCreateImageFromOpenClMemory', 'ContextCreateImageFromOpenGlTexture', 'ContextExecuteCommandQueue', 'ContextGetInfo', 'ContextSetInfo', 'CreateContext', 'CreateContextFromMetalContext', 'CreateContextFromOpenClContext', 'CreateContextSharedWithOpenGl', 'FlushQueue', 'GetDeviceCount', 'GetDeviceInfo', 'GetErrorCodeDescription', 'GetErrorCodeString', 'GetLastErrorMessage', 'ImageFilterClearParameterImage', 'ImageFilterGetInfo', 'ImageFilterSetComputeType', 'ImageFilterSetParameter16f', 'ImageFilterSetParameter16i', 'ImageFilterSetParameter16u', 'ImageFilterSetParameter1f', 'ImageFilterSetParameter1i', 'ImageFilterSetParameter1u', 'ImageFilterSetParameter2f', 'ImageFilterSetParameter2i', 'ImageFilterSetParameter2u', 'ImageFilterSetParameter3f', 'ImageFilterSetParameter3i', 'ImageFilterSetParameter3u', 'ImageFilterSetParameter4f', 'ImageFilterSetParameter4i', 'ImageFilterSetParameter4u', 'ImageFilterSetParameter8f', 'ImageFilterSetParameter8i', 'ImageFilterSetParameter8u', 'ImageFilterSetParameterFloatArray', 'ImageFilterSetParameterImage', 'ImageFilterSetParameterImageArray', 'ImageFilterSetParameterString', 'ImageGetInfo', 'ImageMap', 'ImageUnmap', 'LoggerClear', 'ObjectDelete', 'ParameterGetInfo', 'SyncronizeQueue']
