Skip to main content

Crate ffcine_libplacebo_sys

Crate ffcine_libplacebo_sys 

Source
Expand description

Raw FFI bindings to libplacebo, generated by bindgen from the system headers (pkg-config libplacebo >= 7.365). Covers the Vulkan backend, the renderer, colour spaces, tone/gamut mapping, LUTs and custom (mpv .hook) shaders.

docs.rs uses a documentation-only API 375 snapshot; normal builds regenerate bindings from the installed headers. No snapshot is used for native linking.

Safe wrappers live in the ffcine crate’s placebo backend.

Structs§

VkDevice_T
VkImage_T
VkInstance_T
VkPhysicalDeviceFeatures
VkPhysicalDeviceFeatures2
VkPhysicalDevice_T
VkSemaphore_T
VkSurfaceKHR_T
pl_av1_grain_data
pl_bit_encoding
pl_blend_params
pl_buf_params
pl_buf_t
pl_buffer_var
pl_cache_obj
pl_cache_params
pl_cache_t
pl_cie_xy
pl_color_adjustment
pl_color_decode_args
pl_color_map_args
pl_color_map_params
pl_color_repr
pl_color_space
pl_cone_params
pl_constant
pl_custom_lut
pl_custom_shader
pl_deband_params
pl_deinterlace_params
pl_deinterlace_source
pl_desc
pl_desc_binding
pl_dispatch_compute_params
pl_dispatch_info
pl_dispatch_params
pl_dispatch_t
pl_dispatch_vertex_params
pl_distort_params
pl_dither_params
pl_dovi_metadata
pl_dovi_metadata_pl_dovi_nlq_data
pl_dovi_metadata_pl_reshape_data
pl_error_diffusion_kernel
pl_error_diffusion_params
pl_field_pair
pl_film_grain_data
pl_film_grain_params
pl_filter_config
pl_filter_ctx
pl_filter_function
pl_filter_function_preset
pl_filter_params
pl_filter_preset
pl_filter_t
pl_fmt_plane
pl_fmt_t
pl_frame
pl_frame_mix
pl_gamut_map_constants
pl_gamut_map_function
pl_gamut_map_params
pl_glsl_version
pl_gpu_handle_caps
pl_gpu_limits
pl_gpu_pci_address
pl_gpu_t
pl_h274_grain_data
pl_hdr_bezier
pl_hdr_metadata
pl_hook
pl_hook_par
pl_hook_params
pl_hook_res
pl_icc_object_t
pl_icc_params
pl_icc_profile
pl_log_params
pl_log_t
pl_matrix2x2
pl_matrix3x3
pl_named_var
pl_nominal_luma_params
pl_overlay
pl_overlay_part
pl_pass_params
pl_pass_run_params
pl_pass_t
pl_peak_detect_params
pl_plane
pl_raw_primaries
pl_rect2d
pl_rect2df
pl_rect3d
pl_rect3df
pl_render_errors
pl_render_info
pl_render_params
pl_renderer_t
pl_sample_filter_params
pl_sample_src
pl_shader_const
pl_shader_desc
pl_shader_info_t
pl_shader_obj_t
pl_shader_params
pl_shader_res
pl_shader_t
pl_shader_va
pl_shader_var
pl_shared_mem
pl_sigmoid_params
pl_swapchain_frame
pl_swapchain_t
pl_tex_blit_params
pl_tex_params
pl_tex_t
pl_tex_transfer_params
pl_timer_t
pl_tone_map_constants
pl_tone_map_function
pl_tone_map_params
pl_transform2x2
pl_transform3x3
pl_var
pl_var_layout
pl_var_update
pl_vertex_attrib
pl_vk_inst_params
pl_vk_inst_t
pl_vulkan_device_params
pl_vulkan_hold_params
pl_vulkan_import_params
pl_vulkan_params
pl_vulkan_queue
pl_vulkan_release_params
pl_vulkan_sem
pl_vulkan_sem_params
pl_vulkan_swapchain_params
pl_vulkan_t
pl_vulkan_wrap_params

Enums§

VkFormat
VkImageLayout
VkPresentModeKHR
VkSemaphoreType
VkStructureType
_bindgen_ty_1
_bindgen_ty_2
pl_alpha_mode
pl_blend_mode
pl_buf_mem_type
pl_channel
pl_chroma_location
pl_clear_mode
pl_color_levels
pl_color_primaries
pl_color_system
pl_color_transfer
pl_cone
pl_deinterlace_algorithm
pl_desc_access
pl_desc_type
pl_dither_method
pl_field
pl_film_grain_type
pl_filter_usage
pl_fmt_caps
pl_fmt_type
pl_gamut_mode
pl_handle_type
pl_hdr_metadata_type
pl_hdr_scaling
pl_hook_par_mode
pl_hook_sig
pl_hook_stage
pl_index_format
pl_log_level
pl_lut_type
pl_overlay_coords
pl_overlay_mode
pl_pass_type
pl_prim_type
pl_render_error
pl_render_stage
pl_rendering_intent
pl_sampler_type
pl_shader_sig
pl_tex_address_mode
pl_tex_sample_mode
pl_tone_map_mode
pl_var_type
pl_vertex_coords

Constants§

PL_API_VER
PL_COLOR_HDR_BLACK
PL_COLOR_HLG_PEAK
PL_COLOR_SCRGB_WHITE
PL_COLOR_SDR_CONTRAST
PL_COLOR_SDR_WHITE
PL_EDF_MAX_DX
PL_EDF_MAX_DY
PL_EDF_MIN_DX
PL_FILTER_MAX_PARAMS
PL_HAVE_DOVI
PL_HAVE_GL_PROC_ADDR
PL_HAVE_LCMS
PL_HAVE_LIBDOVI
PL_HAVE_OPENGL
PL_HAVE_SHADERC
PL_HAVE_VK_PROC_ADDR
PL_HAVE_VULKAN
PL_HAVE_XXHASH
PL_MAJOR_VER
PL_MAX_PLANES
PL_MEMORY_COHERENT
PL_MEMORY_VOLATILE
PL_ROTATION_0
PL_ROTATION_90
PL_ROTATION_180
PL_ROTATION_270
PL_ROTATION_360

Statics§

pl_alpha_overlay⚠
pl_cache_default_params⚠
pl_color_adjustment_neutral⚠
pl_color_map_default_params⚠
pl_color_map_high_quality_params⚠
pl_color_primaries_names⚠
pl_color_repr_hdtv⚠
pl_color_repr_jpeg⚠
pl_color_repr_rgb⚠
pl_color_repr_sdtv⚠
pl_color_repr_uhdtv⚠
pl_color_repr_unknown⚠
pl_color_space_bt709⚠
pl_color_space_bt2020_hlg⚠
pl_color_space_hdr10⚠
pl_color_space_monitor⚠
pl_color_space_srgb⚠
pl_color_space_unknown⚠
pl_color_system_names⚠
pl_color_transfer_names⚠
pl_deband_default_params⚠
pl_deinterlace_default_params⚠
pl_distort_default_params⚠
pl_dither_default_params⚠
pl_error_diffusion_atkinson⚠
pl_error_diffusion_burkes⚠
pl_error_diffusion_false_fs⚠
pl_error_diffusion_floyd_steinberg⚠
pl_error_diffusion_jarvis_judice_ninke⚠
pl_error_diffusion_kernels⚠
pl_error_diffusion_sierra2⚠
pl_error_diffusion_sierra3⚠
pl_error_diffusion_sierra_lite⚠
pl_error_diffusion_simple⚠
pl_error_diffusion_stucki⚠
pl_filter_bicubic⚠
pl_filter_bilinear⚠
pl_filter_box⚠
pl_filter_catmull_rom⚠
pl_filter_configs⚠
pl_filter_ewa_ginseng⚠
pl_filter_ewa_hann⚠
pl_filter_ewa_jinc⚠
pl_filter_ewa_lanczos⚠
pl_filter_ewa_lanczos4sharpest⚠
pl_filter_ewa_lanczossharp⚠
pl_filter_ewa_robidoux⚠
pl_filter_ewa_robidouxsharp⚠
pl_filter_function_bcspline⚠
pl_filter_function_bicubic⚠
pl_filter_function_blackman⚠
pl_filter_function_bohman⚠
pl_filter_function_box⚠
pl_filter_function_catmull_rom⚠
pl_filter_function_cosine⚠
pl_filter_function_cubic⚠
pl_filter_function_gaussian⚠
pl_filter_function_hamming⚠
pl_filter_function_hann⚠
pl_filter_function_hermite⚠
pl_filter_function_jinc⚠
pl_filter_function_kaiser⚠
pl_filter_function_mitchell⚠
pl_filter_function_oversample⚠
pl_filter_function_presets⚠
pl_filter_function_quadratic⚠
pl_filter_function_robidoux⚠
pl_filter_function_robidouxsharp⚠
pl_filter_function_sinc⚠
pl_filter_function_sphinx⚠
pl_filter_function_spline16⚠
pl_filter_function_spline36⚠
pl_filter_function_spline64⚠
pl_filter_function_triangle⚠
pl_filter_function_welch⚠
pl_filter_functions⚠
pl_filter_gaussian⚠
pl_filter_ginseng⚠
pl_filter_hermite⚠
pl_filter_lanczos⚠
pl_filter_mitchell⚠
pl_filter_mitchell_clamp⚠
pl_filter_nearest⚠
pl_filter_oversample⚠
pl_filter_presets⚠
pl_filter_robidoux⚠
pl_filter_robidouxsharp⚠
pl_filter_sinc⚠
pl_filter_spline16⚠
pl_filter_spline36⚠
pl_filter_spline64⚠
pl_frame_mixers⚠
pl_gamut_map_absolute⚠
pl_gamut_map_clip⚠
pl_gamut_map_darken⚠
pl_gamut_map_desaturate⚠
pl_gamut_map_functions⚠
pl_gamut_map_highlight⚠
pl_gamut_map_linear⚠
pl_gamut_map_perceptual⚠
pl_gamut_map_relative⚠
pl_gamut_map_saturation⚠
pl_gamut_map_softclip⚠
pl_hdr_metadata_empty⚠
pl_hdr_metadata_hdr10⚠
pl_icc_default_params⚠
pl_ipt_ipt2lms⚠
pl_ipt_lms2ipt⚠
pl_log_default_params⚠
pl_matrix2x2_identity⚠
pl_matrix3x3_identity⚠
pl_num_error_diffusion_kernels⚠
pl_num_filter_configs⚠
pl_num_filter_function_presets⚠
pl_num_filter_functions⚠
pl_num_filter_presets⚠
pl_num_frame_mixers⚠
pl_num_gamut_map_functions⚠
pl_num_scale_filters⚠
pl_num_tone_map_functions⚠
pl_peak_detect_default_params⚠
pl_peak_detect_high_quality_params⚠
pl_render_default_params⚠
pl_render_fast_params⚠
pl_render_high_quality_params⚠
pl_scale_filters⚠
pl_sigmoid_default_params⚠
pl_tone_map_bt2390⚠
pl_tone_map_bt2446a⚠
pl_tone_map_clip⚠
pl_tone_map_functions⚠
pl_tone_map_gamma⚠
pl_tone_map_hable⚠
pl_tone_map_linear⚠
pl_tone_map_linear_light⚠
pl_tone_map_mobius⚠
pl_tone_map_reinhard⚠
pl_tone_map_spline⚠
pl_tone_map_st2094_10⚠
pl_tone_map_st2094_40⚠
pl_transform2x2_identity⚠
pl_transform3x3_identity⚠
pl_var_glsl_types⚠
pl_vision_achromatopsia⚠
pl_vision_deuteranomaly⚠
pl_vision_deuteranopia⚠
pl_vision_monochromacy⚠
pl_vision_normal⚠
pl_vision_protanomaly⚠
pl_vision_protanopia⚠
pl_vision_tritanomaly⚠
pl_vision_tritanopia⚠
pl_vk_inst_default_params⚠
pl_vulkan_default_params⚠
pl_vulkan_num_recommended_extensions⚠
pl_vulkan_recommended_extensions⚠
pl_vulkan_recommended_features⚠
pl_vulkan_required_features⚠

Functions§

pl_bit_encoding_equal⚠
pl_blackbody_from_temp⚠
pl_buf_copy⚠
pl_buf_create⚠
pl_buf_destroy⚠
pl_buf_export⚠
pl_buf_poll⚠
pl_buf_read⚠
pl_buf_recreate⚠
pl_buf_write⚠
pl_cache_create⚠
pl_cache_destroy⚠
pl_cache_get⚠
pl_cache_get_file⚠
pl_cache_iterate⚠
pl_cache_load⚠
pl_cache_load_ex⚠
pl_cache_objects⚠
pl_cache_reset⚠
pl_cache_save⚠
pl_cache_save_ex⚠
pl_cache_set⚠
pl_cache_set_file⚠
pl_cache_signature⚠
pl_cache_size⚠
pl_cache_try_set⚠
pl_chroma_location_offset⚠
pl_color_delinearize⚠
pl_color_levels_guess⚠
pl_color_linearize⚠
pl_color_primaries_guess⚠
pl_color_primaries_is_wide_gamut⚠
pl_color_primaries_name⚠
pl_color_repr_decode⚠
pl_color_repr_equal⚠
pl_color_repr_limits⚠
pl_color_repr_merge⚠
pl_color_repr_normalize⚠
pl_color_space_equal⚠
pl_color_space_infer⚠
pl_color_space_infer_map⚠
pl_color_space_infer_ref⚠
pl_color_space_is_black_scaled⚠
pl_color_space_is_hdr⚠
pl_color_space_merge⚠
pl_color_space_nominal_luma_ex⚠
pl_color_system_guess_ycbcr⚠
pl_color_system_is_linear⚠
pl_color_system_is_ycbcr_like⚠
pl_color_system_name⚠
pl_color_transfer_name⚠
pl_color_transfer_nominal_peak⚠
pl_daylight_from_temp⚠
pl_desc_access_glsl_name⚠
pl_desc_namespace⚠
pl_dispatch_abort⚠
pl_dispatch_begin⚠
pl_dispatch_callback⚠
pl_dispatch_compute⚠
pl_dispatch_create⚠
pl_dispatch_destroy⚠
pl_dispatch_finish⚠
pl_dispatch_load⚠
pl_dispatch_reset_frame⚠
pl_dispatch_save⚠
pl_dispatch_vertex⚠
pl_error_diffusion_shmem_req⚠
pl_filter_config_eq⚠
pl_filter_free⚠
pl_filter_function_eq⚠
pl_filter_generate⚠
pl_filter_sample⚠
pl_find_error_diffusion_kernel⚠
pl_find_filter_config⚠
pl_find_filter_function⚠
pl_find_filter_function_preset⚠
pl_find_filter_preset⚠
pl_find_fmt⚠
pl_find_fourcc⚠
pl_find_gamut_map_function⚠
pl_find_named_fmt⚠
pl_find_tone_map_function⚠
pl_find_vertex_fmt⚠
pl_fix_ver⚠
pl_fmt_has_modifier⚠
pl_fmt_is_float⚠
pl_fmt_is_ordered⚠
pl_frame_clear_rgba⚠
pl_frame_clear_tiles⚠
pl_frame_from_swapchain⚠
pl_frame_is_cropped⚠
pl_frame_mix_current⚠
pl_frame_mix_nearest⚠
pl_frame_set_chroma_location⚠
pl_frames_infer⚠
pl_frames_infer_mix⚠
pl_gamut_map_generate⚠
pl_gamut_map_params_equal⚠
pl_gamut_map_params_noop⚠
pl_gamut_map_sample⚠
pl_generate_bayer_matrix⚠
pl_generate_blue_noise⚠
pl_get_adaptation_matrix⚠
pl_get_color_mapping_matrix⚠
pl_get_cone_matrix⚠
pl_get_detected_hdr_metadata⚠
pl_get_rgb2xyz_matrix⚠
pl_get_xyz2rgb_matrix⚠
pl_gpu_finish⚠
pl_gpu_flush⚠
pl_gpu_is_failed⚠
pl_gpu_set_cache⚠
pl_hdr_metadata_contains⚠
pl_hdr_metadata_equal⚠
pl_hdr_metadata_merge⚠
pl_hdr_rescale⚠
pl_icc_close⚠
pl_icc_decode⚠
pl_icc_encode⚠
pl_icc_open⚠
pl_icc_profile_compute_signature⚠
pl_icc_profile_equal⚠
pl_icc_update⚠
pl_ipt_lms2rgb⚠
pl_ipt_rgb2lms⚠
pl_log_color⚠
pl_log_create_375⚠
pl_log_destroy⚠
pl_log_level_update⚠
pl_log_simple⚠
pl_log_update⚠
pl_lut_free⚠
pl_lut_parse_cube⚠
pl_matrix2x2_apply⚠
pl_matrix2x2_apply_rc⚠
pl_matrix2x2_invert⚠
pl_matrix2x2_mul⚠
pl_matrix2x2_rmul⚠
pl_matrix2x2_rotation⚠
pl_matrix2x2_scale⚠
pl_matrix3x3_apply⚠
pl_matrix3x3_apply_rc⚠
pl_matrix3x3_invert⚠
pl_matrix3x3_mul⚠
pl_matrix3x3_rmul⚠
pl_matrix3x3_scale⚠
pl_mpv_user_shader_destroy⚠
pl_mpv_user_shader_parse⚠
pl_needs_film_grain⚠
pl_pass_create⚠
pl_pass_destroy⚠
pl_pass_run⚠
pl_primaries_clip⚠
pl_primaries_compatible⚠
pl_primaries_superset⚠
pl_primaries_valid⚠
pl_raw_primaries_equal⚠
pl_raw_primaries_get⚠
pl_raw_primaries_merge⚠
pl_raw_primaries_similar⚠
pl_rect2d_normalize⚠
pl_rect2df_aspect⚠
pl_rect2df_aspect_fit⚠
pl_rect2df_aspect_set⚠
pl_rect2df_normalize⚠
pl_rect2df_offset⚠
pl_rect2df_rotate⚠
pl_rect2df_round⚠
pl_rect2df_stretch⚠
pl_rect3d_normalize⚠
pl_rect3df_normalize⚠
pl_rect3df_round⚠
pl_render_image⚠
pl_render_image_mix⚠
pl_renderer_create⚠
pl_renderer_destroy⚠
pl_renderer_flush_cache⚠
pl_renderer_get_errors⚠
pl_renderer_get_hdr_metadata⚠
pl_renderer_load⚠
pl_renderer_reset_errors⚠
pl_renderer_save⚠
pl_reset_detected_peak⚠
pl_shader_alloc⚠
pl_shader_color_map⚠
pl_shader_color_map_ex⚠
pl_shader_cone_distort⚠
pl_shader_custom⚠
pl_shader_custom_lut⚠
pl_shader_deband⚠
pl_shader_decode_color⚠
pl_shader_decode_color_ex⚠
pl_shader_deinterlace⚠
pl_shader_delinearize⚠
pl_shader_detect_peak⚠
pl_shader_distort⚠
pl_shader_dither⚠
pl_shader_dovi_reshape⚠
pl_shader_encode_color⚠
pl_shader_error_diffusion⚠
pl_shader_extract_features⚠
pl_shader_film_grain⚠
pl_shader_finalize⚠
pl_shader_free⚠
pl_shader_info_deref⚠
pl_shader_info_ref⚠
pl_shader_is_compute⚠
pl_shader_is_failed⚠
pl_shader_linearize⚠
pl_shader_obj_destroy⚠
pl_shader_output_size⚠
pl_shader_reset⚠
pl_shader_sample_bicubic⚠
pl_shader_sample_bilinear⚠
pl_shader_sample_direct⚠
pl_shader_sample_gaussian⚠
pl_shader_sample_hermite⚠
pl_shader_sample_nearest⚠
pl_shader_sample_ortho2⚠
pl_shader_sample_oversample⚠
pl_shader_sample_polar⚠
pl_shader_set_alpha⚠
pl_shader_sigmoidize⚠
pl_shader_unsigmoidize⚠
pl_std140_layout⚠
pl_std430_layout⚠
pl_swapchain_colorspace_hint⚠
pl_swapchain_destroy⚠
pl_swapchain_latency⚠
pl_swapchain_resize⚠
pl_swapchain_start_frame⚠
pl_swapchain_submit_frame⚠
pl_swapchain_swap_buffers⚠
pl_tex_blit⚠
pl_tex_clear⚠
pl_tex_clear_ex⚠
pl_tex_create⚠
pl_tex_destroy⚠
pl_tex_download⚠
pl_tex_invalidate⚠
pl_tex_poll⚠
pl_tex_recreate⚠
pl_tex_upload⚠
pl_timer_create⚠
pl_timer_destroy⚠
pl_timer_query⚠
pl_tone_map_generate⚠
pl_tone_map_params_equal⚠
pl_tone_map_params_infer⚠
pl_tone_map_params_noop⚠
pl_tone_map_sample⚠
pl_transform2x2_apply⚠
pl_transform2x2_apply_rc⚠
pl_transform2x2_bounds⚠
pl_transform2x2_invert⚠
pl_transform2x2_mul⚠
pl_transform2x2_rmul⚠
pl_transform2x2_scale⚠
pl_transform3x3_apply⚠
pl_transform3x3_apply_rc⚠
pl_transform3x3_invert⚠
pl_transform3x3_scale⚠
pl_var_float⚠
pl_var_from_fmt⚠
pl_var_glsl_type_name⚠
pl_var_host_layout⚠
pl_var_int⚠
pl_var_ivec2⚠
pl_var_ivec3⚠
pl_var_ivec4⚠
pl_var_mat2⚠
pl_var_mat3⚠
pl_var_mat4⚠
pl_var_mat2x3⚠
pl_var_mat2x4⚠
pl_var_mat3x4⚠
pl_var_mat4x2⚠
pl_var_mat4x3⚠
pl_var_type_size⚠
pl_var_uint⚠
pl_var_uvec2⚠
pl_var_uvec3⚠
pl_var_uvec4⚠
pl_var_vec2⚠
pl_var_vec3⚠
pl_var_vec4⚠
pl_version⚠
pl_vk_inst_create⚠
pl_vk_inst_destroy⚠
pl_vulkan_choose_device⚠
pl_vulkan_create⚠
pl_vulkan_create_swapchain⚠
pl_vulkan_destroy⚠
pl_vulkan_get⚠
pl_vulkan_hold_ex⚠
pl_vulkan_import⚠
pl_vulkan_release_ex⚠
pl_vulkan_sem_create⚠
pl_vulkan_sem_destroy⚠
pl_vulkan_swapchain_suboptimal⚠
pl_vulkan_unwrap⚠
pl_vulkan_wrap⚠
pl_white_from_temp⚠

Type Aliases§

PFN_vkGetInstanceProcAddr
PFN_vkVoidFunction
VkBool32
VkDevice
VkDeviceQueueCreateFlags
VkFlags
VkImage
VkImageAspectFlags
VkImageUsageFlags
VkInstance
VkPhysicalDevice
VkQueueFlags
VkSemaphore
VkSurfaceKHR
pl_buf
pl_cache
pl_debug_tag
pl_dispatch
pl_filter
pl_fmt
pl_gpu
pl_handle_caps
pl_icc_object
pl_log
pl_memory_qualifiers
pl_pass
pl_renderer
pl_rotation
pl_shader
pl_shader_info
pl_shader_obj
pl_swapchain
pl_tex
pl_timer
pl_vk_inst
pl_vulkan

Unions§

pl_clear_color
pl_film_grain_data__bindgen_ty_1
pl_handle
pl_var_data