![]() |
Ansel 0.0
A darktable fork - bloat + design vision
|
Include dependency graph for simd.h:
This graph shows which files directly or indirectly include this file:Go to the source code of this file.
Macros | |
| #define | DT_PIXEL_SIMD_CHANNELS 4 |
| #define | for_each_channel(_var, ...) for (size_t _var = 0; _var < DT_PIXEL_SIMD_CHANNELS; _var++) |
| #define | for_four_channels(_var, ...) for (size_t _var = 0; _var < 4; _var++) |
Typedefs | |
| typedef DT_ALIGNED_PIXEL float | dt_aligned_pixel_t[4] |
| typedef float dt_aligned_pixel_simd_t | __attribute__((vector_size(16), aligned(16))) |
| Apply one channel's tone curve to each of the three colour channels, or pass the channel through untouched when it has none. | |
Functions | |
| static | __attribute__ ((always_inline)) dt_aligned_pixel_simd_t dt_simd_set1(const float value) |
| for (int c=0;c< 4;c++) out[c] | |
| dt_store_simd (out, value) | |
| static void | copy_pixel_nontemporal (float *const __restrict__ out, const float *const __restrict__ in) |
| static void | copy_pixel (float *const __restrict__ out, const float *const __restrict__ in) |
Variables | |
| static const dt_aligned_pixel_simd_t | sign |
| return | out = row1 * in[1] + out |
| static const dt_aligned_pixel_simd_t | exponent |
| static const dt_aligned_pixel_simd_t | value |
| static const dt_aligned_pixel_simd_t | row0 |
| static const dt_aligned_pixel_simd_t const dt_aligned_pixel_simd_t | row1 |
| static const dt_aligned_pixel_simd_t const dt_aligned_pixel_simd_t const dt_aligned_pixel_simd_t | row2 |
|
inline |
Apply one channel's tone curve to each of the three colour channels, or pass the channel through untouched when it has none.
Enable aggressive floating-point arithmetic optimizations, in denormals handling. Set through user preference cpu_fp_mode
Build the keyed full transform matrix for one scene luminance.
Multi-tap smudge source sample with directional jitter.
| rgb_in | source pixel. |
| rgb_out | destination pixel. Only channels 0..2 are written – the 4th lane is left alone, which is what preserves alpha through an in-place conversion. |
| lut | the profile's lut_in or lut_out. A NULL entry, or one whose [0] is negative, means "channel is linear" and is copied straight through. |
| unbounded_coeffs | the matching unbounded_coeffs_in/_out. |
| lutsize | entry count. |
uses D50 white point.
Uses D50
Uses D65
uses D50 white point and clips the output to [0..1].
Conversion algorithms between XYZ and JzAzBz and JzCzhz are described in the following paper:
Perceptually uniform color space for image signals including high dynamic range and wide gamut https://www.osapublishing.org/oe/fulltext.cfm?uri=oe-25-13-15131&id=368272
| motion_dx | Motion X used to orient anisotropic taps. |
| motion_dy | Motion Y used to orient anisotropic taps. |
Inside the [dark ; bright] segment, the module linearly interpolates between the two user transforms. Outside that segment, the nearest transform fades linearly back to identity over one segment length so the correction tapers out instead of clipping.
| [in] | luminance | Current pixel scene luminance in XYZ Y. |
| [in] | d | Precomputed module state for the current pipe. |
| [out] | matrix | Keyed full transform matrix in transposed padded form. |
| mode |
| typedef DT_ALIGNED_PIXEL float dt_aligned_pixel_t[4] |
|
inlinestatic |
|
inlinestatic |
Definition at line 217 of file simd.h.
References for_each_channel, k, L, and out.
Referenced by _heal_laplace_iteration(), and process().
|
inlinestatic |
Definition at line 207 of file simd.h.
Referenced by _interpolation_resample_plain(), expand_2D_Bspline(), and reduce_2D_Bspline().
| for | ( | ) |
| const dt_aligned_pixel_simd_t exponent |
Definition at line 126 of file simd.h.
Referenced by _float_to_half(), and dt_focuspeaking().
Definition at line 122 of file simd.h.
Referenced by copy_pixel(), and copy_pixel_nontemporal().
| const dt_aligned_pixel_simd_t row0 |
Definition at line 189 of file simd.h.
Referenced by _downsample_guided_laplacian_fit(), guide_laplacians(), matrix_dot_float4_rows(), matrix_product_float4(), and swap_rows().
Definition at line 190 of file simd.h.
Referenced by _downsample_guided_laplacian_fit(), gui_init(), guide_laplacians(), matrix_dot_float4_rows(), matrix_product_float4(), and swap_rows().
Definition at line 190 of file simd.h.
Referenced by _downsample_guided_laplacian_fit(), gui_init(), guide_laplacians(), matrix_dot_float4_rows(), and matrix_product_float4().
| const dt_aligned_pixel_simd_t sign |
Definition at line 117 of file simd.h.
Referenced by _exif_decode_exif_data(), _float_to_half(), _HLG_fct(), _PQ_fct(), dt_atof(), dt_exif_decode_xmp_data(), dt_imageio_dng_convert_rational(), dt_util_gps_elevation_to_number(), dt_util_gps_rationale_to_number(), process(), process_nlmeans_cl(), and scatter().
Definition at line 143 of file simd.h.
Referenced by __attribute__(), __attribute__(), __attribute__(), __OMP_DECLARE_SIMD__(), __OMP_DECLARE_SIMD__(), __OMP_DECLARE_SIMD__(), _accels_recent_get(), _accels_recent_set(), _alternative_mode(), _aniso_chroma(), _aniso_stage_cl_selftest(), _append_kv(), _arr_add_enum(), _backbuf_int_to_op(), _biharmonic_dome(), _bin_pixels_histogram_in_roi(), _bin_pixels_waveform_in_roi(), _bind_text(), _blendif_compute_factor(), _blendif_compute_factor(), _blendif_compute_factor(), _blendif_print_digits_ab(), _blendif_print_digits_default(), _blendif_print_digits_picker(), _blendif_scale_print_ab(), _blendif_scale_print_default(), _blendif_scale_print_hue(), _blendop_blendif_boost_factor_callback(), _bottom_border_callback(), _brush_set_interaction_value(), _build_clut(), _build_clut(), _cache_get_oldest(), _change_opacity(), _channel_display_false_color(), _channel_y_from_value(), _circle_set_interaction_value(), _clamp01(), _clamp01(), _clamp01(), _clamp01_simd(), _clamp01d(), _cleanup_metadata_value(), _collect_meta(), _combobox_conf_value_changed(), _compute_laplacian_normalization(), _connect_accel_hashtable(), _create_vectorscope_image(), _cursor_curve_state(), _default_linear_scale_callback(), _develop_blend_init_raster_mask(), _display_channel_value(), _display_datetime(), _draw_boxes(), _dt_cht_box_extract(), _ellipse_set_interaction_value(), _exif_decode_exif_data(), _exif_xmp_append_history_hash(), _fill_current_layer(), _find_parent_hashtable(), _first_id_for_text(), _float_to_half(), _folder_survey_save_locked(), _for_each_accel(), _for_each_accel_create_treeview_row(), _for_each_non_virtual_accel(), _for_each_path_create_treeview_row(), _for_each_remove(), _for_each_remove_old(), _free_confgen_value(), _get_axis_value_for_source(), _get_iso8601_int(), _get_selected_style_names(), _get_tb_added_metadata_rows(), _get_tb_removed_metadata_string_values(), _gradient_get_mask(), _gradient_get_mask_roi(), _gradient_set_interaction_value(), _grid_size_changed(), _gui_preferences_enum_set(), _handle_xpath(), _hl_knee_apply_cfa(), _hm_collect_labels_from_history_map(), _hscreen_to_mm(), _init_drawing(), _interpolate_and_mask_xtrans(), _ioporder_drag_data_get(), _is_int(), _knee_cl_selftest(), _left_border_callback(), _lib_backgroundjobs_updated(), _lock_callback(), _lrop(), _Luv_to_vectorscope_coord_zoom(), _map_source_changed(), _masks_gui_interaction_apply_value(), _menuitem_from_text(), _metadata_get_flags(), _metadata_update_value(), _mipmap_subcache_collect(), _mm_to_hscreen(), _mm_to_vscreen(), _name_for_value(), _percent_unit_of(), _piwigo_account_changed(), _piwigo_album_changed(), _piwigo_load_account(), _piwigo_query_add_arguments(), _polygon_set_interaction_value(), _populate_list(), _print_cache_lines(), _profile_key_is_sane(), _raster_combo_populate(), _rating_callback(), _read_float(), _read_pbm(), _read_pgm(), _read_ppm(), _remove_accel_hashtable(), _resizable_scroll_handle_resize(), _resize_thumbnails(), _right_border_callback(), _sample_axis_from_device_state(), _sample_picker_luminance_mask(), _sanitize_confgen(), _scale_changed(), _selected_metadata_row(), _set_delay(), _set_stage(), _signal_param_cleanup(), _slider_add_step(), _slider_move(), _slider_zoom_range(), _sp_pde_assemble(), _sp_row_op(), _splash_env_is_truthy(), _split_operator(), _take_from_list(), _to_mm(), _top_border_callback(), _update_slider(), _vectorscope_coord_zoom_to_Luv(), _view_map_set_map_source_g_object(), _vscreen_to_mm(), _widget_store_bool(), _widget_store_int(), _widget_stored_int(), _write_pixel(), _xmp_append_metadata(), add_non_clone_mask_entries_to_db(), append_pair_to_json(), autoset(), blue_callback(), calculate_clut_3dl(), collect_reference_patches_foreach(), collect_source_patches_foreach(), draw_color_boxes_inside(), dt_atomic_CAS_int(), dt_atomic_exch_int(), dt_atomic_set_int(), dt_atomic_set_ptr(), dt_atomic_set_uint64(), dt_bauhaus_combobox_set_from_value(), dt_bauhaus_popup_button_press(), dt_bauhaus_widget_accept(), dt_cache_for_all(), dt_cache_get_with_caller(), dt_cache_remove(), dt_cache_testget(), dt_collection_name_value_free(), dt_colorrings_gray_axis_rgb_from_L(), dt_conf_get_sanitize_float(), dt_conf_init(), dt_conf_is_equal(), dt_confgen_get_float(), dt_confgen_get_int(), dt_confgen_get_int64(), dt_control_job_set_progress(), dt_control_progress_set_progress(), dt_control_set_keyboard_over_id(), dt_control_set_mouse_over_id(), dt_dev_pixelpipe_cache_flush_clmem(), dt_dev_pixelpipe_cache_get_entries_stats(), dt_dev_pixelpipe_cache_get_entry_by_data(), dt_draw_histogram_8_zoomed(), dt_exif_decode_xmp_data(), dt_folder_survey_absorb_new_files(), dt_folder_survey_count_new_files(), dt_image_cache_get_entries_stats(), dt_introspection_get_enum_name(), dt_introspection_get_enum_value(), dt_iop_channelmixer_shared_paint_primaries_sliders(), dt_iop_is_raster_mask_used(), dt_iop_tonecurve_draw(), dt_iop_update_multi_priority(), dt_lightroom_import(), dt_masks_dynbuf_set(), dt_masks_form_set_interaction_value(), dt_masks_get_set_conf_value_with_toast(), dt_masks_gui_add_interaction_slider(), dt_masks_set_edit_mode(), dt_metadata_repository_add(), dt_metadata_repository_find_image_by_value(), dt_metadata_repository_get_all(), dt_metadata_repository_get_values(), dt_metadata_set(), dt_metadata_set_import(), dt_metadata_set_list(), dt_opencl_set_synchronization_timeout(), dt_preset_repository_update_flag(), dt_print_file(), dt_pwstorage_kwallet_get(), dt_pwstorage_kwallet_set(), dt_tag_get_list(), dt_thumbtable_offset_zoom(), dt_thumbtable_refresh_thumbnail_real(), dt_util_glist_uniq(), dt_widget_store_bool(), dt_widget_store_int(), dt_widget_stored_int(), dtgtk_gradient_slider_multivalue_set_increment(), dtgtk_gradient_slider_multivalue_set_picker(), dtgtk_gradient_slider_multivalue_set_resetvalue(), dtgtk_gradient_slider_multivalue_set_value(), dtgtk_gradient_slider_set_increment(), dtgtk_gradient_slider_set_picker(), dtgtk_gradient_slider_set_resetvalue(), dtgtk_gradient_slider_set_value(), edit_clicked(), export_raw(), fast_clamp(), get_interpolate(), get_preset_element(), get_preset_element_float(), get_preset_element_int(), global_progress_end(), global_progress_set(), green_callback(), lr2dt_blacks(), lr2dt_clarity(), lr2dt_grain_amount(), lr2dt_grain_frequency(), lr2dt_splittoning_balance(), lr2dt_vignette_gain(), lr2dt_vignette_midpoint(), max_style_id(), on_match_select(), parse_cht(), parse_csv(), parse_it8(), print2pixels(), process_button_clicked_callback(), red_callback(), scrolled(), secret_to_attributes(), set_16wide(), PermutohedralLattice< D, VD >::splat(), sql_int_for_bound_images(), strength(), testimg_gen_all_grey(), vstransform(), and write_image().