Commit: 33039379c13734a7357355762157fc1da3f49320
Parent: 6a15ecb41cfded3b96a77f6600703ade6ea35821
Author: Randy Palamar
Date: Wed, 14 Jan 2026 10:58:54 -0700
lib: rename LIB_FN macro to BEAMFORMER_LIB_EXPORT
Diffstat:
2 files changed, 65 insertions(+), 51 deletions(-)
diff --git a/lib/ogl_beamformer_lib_base.h b/lib/ogl_beamformer_lib_base.h
@@ -1,9 +1,9 @@
/* See LICENSE for license details. */
-#ifndef LIB_FN
+#ifndef BEAMFORMER_LIB_EXPORT
#if defined(_WIN32)
- #define LIB_FN __declspec(dllexport)
+ #define BEAMFORMER_LIB_EXPORT __declspec(dllexport)
#else
- #define LIB_FN
+ #define BEAMFORMER_LIB_EXPORT
#endif
#endif
@@ -31,11 +31,11 @@
typedef enum {BEAMFORMER_LIB_ERRORS} BeamformerLibErrorKind;
#undef X
-LIB_FN uint32_t beamformer_get_api_version(void);
+BEAMFORMER_LIB_EXPORT uint32_t beamformer_get_api_version(void);
-LIB_FN BeamformerLibErrorKind beamformer_get_last_error(void);
-LIB_FN const char *beamformer_get_last_error_string(void);
-LIB_FN const char *beamformer_error_string(BeamformerLibErrorKind kind);
+BEAMFORMER_LIB_EXPORT BeamformerLibErrorKind beamformer_get_last_error(void);
+BEAMFORMER_LIB_EXPORT const char *beamformer_get_last_error_string(void);
+BEAMFORMER_LIB_EXPORT const char *beamformer_error_string(BeamformerLibErrorKind kind);
///////////////////////////
// NOTE: Simple API
@@ -48,8 +48,9 @@ LIB_FN const char *beamformer_error_string(BeamformerLibErrorKind kind);
* - if the function was unsuccessful you can check the error with beamformer_get_last_error()
* or beamformer_get_last_error_string()
*/
-LIB_FN uint32_t beamformer_beamform_data(BeamformerSimpleParameters *bp, void *data, uint32_t data_size,
- void *out_data, int32_t timeout_ms);
+BEAMFORMER_LIB_EXPORT uint32_t beamformer_beamform_data(BeamformerSimpleParameters *bp, void *data,
+ uint32_t data_size, void *out_data,
+ int32_t timeout_ms);
/* NOTE: sets timeout for all functions which may timeout but don't
* take a timeout argument. The majority of such functions will not
@@ -59,51 +60,63 @@ LIB_FN uint32_t beamformer_beamform_data(BeamformerSimpleParameters *bp, void *d
* timeout_ms: milliseconds (Default: 0)
*
* IMPORTANT: timeout of -1 will block forever */
-LIB_FN void beamformer_set_global_timeout(uint32_t timeout_ms);
+BEAMFORMER_LIB_EXPORT void beamformer_set_global_timeout(uint32_t timeout_ms);
///////////////////////////
// NOTE: Advanced API
/* NOTE: downloads the last 32 frames worth of compute timings into output */
-LIB_FN uint32_t beamformer_compute_timings(BeamformerComputeStatsTable *output, int32_t timeout_ms);
+BEAMFORMER_LIB_EXPORT uint32_t beamformer_compute_timings(BeamformerComputeStatsTable *output,
+ int32_t timeout_ms);
/* NOTE: pushes data and tries to immediately starts a compute */
-LIB_FN uint32_t beamformer_push_data_with_compute(void *data, uint32_t size,
- uint32_t image_plane_tag,
- uint32_t parameter_slot);
+BEAMFORMER_LIB_EXPORT uint32_t beamformer_push_data_with_compute(void *data, uint32_t size,
+ uint32_t image_plane_tag,
+ uint32_t parameter_slot);
///////////////////////////
// Parameter Configuration
-LIB_FN uint32_t beamformer_reserve_parameter_blocks(uint32_t count);
-LIB_FN uint32_t beamformer_set_pipeline_stage_parameters(uint32_t stage_index, int32_t parameter);
-LIB_FN uint32_t beamformer_push_pipeline(int32_t *shaders, uint32_t shader_count, BeamformerDataKind data_kind);
-
-LIB_FN uint32_t beamformer_set_pipeline_stage_parameters_at(uint32_t stage_index,
- int32_t parameter,
- uint32_t parameter_slot);
-LIB_FN uint32_t beamformer_push_pipeline_at(int32_t *shaders, uint32_t shader_count,
- BeamformerDataKind data_kind, uint32_t parameter_slot);
-
-LIB_FN uint32_t beamformer_push_simple_parameters(BeamformerSimpleParameters *bp);
-LIB_FN uint32_t beamformer_push_simple_parameters_at(BeamformerSimpleParameters *bp, uint32_t parameter_slot);
-
-LIB_FN uint32_t beamformer_push_parameters(BeamformerParameters *);
-LIB_FN uint32_t beamformer_push_parameters_ui(BeamformerUIParameters *);
-LIB_FN uint32_t beamformer_push_parameters_head(BeamformerParametersHead *);
-
-LIB_FN uint32_t beamformer_push_parameters_at(BeamformerParameters *, uint32_t parameter_slot);
-
-LIB_FN uint32_t beamformer_push_channel_mapping(int16_t *mapping, uint32_t count);
-LIB_FN uint32_t beamformer_push_channel_mapping_at(int16_t *mapping, uint32_t count, uint32_t parameter_slot);
-
-LIB_FN uint32_t beamformer_push_sparse_elements(int16_t *elements, uint32_t count);
-LIB_FN uint32_t beamformer_push_sparse_elements_at(int16_t *elements, uint32_t count, uint32_t parameter_slot);
-
-LIB_FN uint32_t beamformer_push_focal_vectors(float *vectors, uint32_t count);
-LIB_FN uint32_t beamformer_push_focal_vectors_at(float *vectors, uint32_t count, uint32_t parameter_slot);
-
-LIB_FN uint32_t beamformer_push_transmit_receive_orientations(uint8_t *values, uint32_t count);
-LIB_FN uint32_t beamformer_push_transmit_receive_orientations_at(uint8_t *values, uint32_t count, uint32_t parameter_slot);
+BEAMFORMER_LIB_EXPORT uint32_t beamformer_reserve_parameter_blocks(uint32_t count);
+BEAMFORMER_LIB_EXPORT uint32_t beamformer_set_pipeline_stage_parameters(uint32_t stage_index,
+ int32_t parameter);
+BEAMFORMER_LIB_EXPORT uint32_t beamformer_push_pipeline(int32_t *shaders, uint32_t shader_count,
+ BeamformerDataKind data_kind);
+
+BEAMFORMER_LIB_EXPORT uint32_t beamformer_set_pipeline_stage_parameters_at(uint32_t stage_index,
+ int32_t parameter,
+ uint32_t parameter_slot);
+BEAMFORMER_LIB_EXPORT uint32_t beamformer_push_pipeline_at(int32_t *shaders, uint32_t shader_count,
+ BeamformerDataKind data_kind,
+ uint32_t parameter_slot);
+
+BEAMFORMER_LIB_EXPORT uint32_t beamformer_push_simple_parameters(BeamformerSimpleParameters *bp);
+BEAMFORMER_LIB_EXPORT uint32_t beamformer_push_simple_parameters_at(BeamformerSimpleParameters *bp,
+ uint32_t parameter_slot);
+
+BEAMFORMER_LIB_EXPORT uint32_t beamformer_push_parameters(BeamformerParameters *);
+BEAMFORMER_LIB_EXPORT uint32_t beamformer_push_parameters_ui(BeamformerUIParameters *);
+BEAMFORMER_LIB_EXPORT uint32_t beamformer_push_parameters_head(BeamformerParametersHead *);
+
+BEAMFORMER_LIB_EXPORT uint32_t beamformer_push_parameters_at(BeamformerParameters *,
+ uint32_t parameter_slot);
+
+BEAMFORMER_LIB_EXPORT uint32_t beamformer_push_channel_mapping(int16_t *mapping, uint32_t count);
+BEAMFORMER_LIB_EXPORT uint32_t beamformer_push_channel_mapping_at(int16_t *mapping, uint32_t count,
+ uint32_t parameter_slot);
+
+BEAMFORMER_LIB_EXPORT uint32_t beamformer_push_sparse_elements(int16_t *elements, uint32_t count);
+BEAMFORMER_LIB_EXPORT uint32_t beamformer_push_sparse_elements_at(int16_t *elements, uint32_t count,
+ uint32_t parameter_slot);
+
+BEAMFORMER_LIB_EXPORT uint32_t beamformer_push_focal_vectors(float *vectors, uint32_t count);
+BEAMFORMER_LIB_EXPORT uint32_t beamformer_push_focal_vectors_at(float *vectors, uint32_t count,
+ uint32_t parameter_slot);
+
+BEAMFORMER_LIB_EXPORT uint32_t beamformer_push_transmit_receive_orientations(uint8_t *values,
+ uint32_t count);
+BEAMFORMER_LIB_EXPORT uint32_t beamformer_push_transmit_receive_orientations_at(uint8_t *values,
+ uint32_t count,
+ uint32_t parameter_slot);
////////////////////
// Filter Creation
@@ -125,12 +138,13 @@ LIB_FN uint32_t beamformer_push_transmit_receive_orientations_at(uint8_t *values
* M = (A - 8) / (2.285 (ω_s - ω_p))
*/
-LIB_FN uint32_t beamformer_create_filter(BeamformerFilterKind kind, void *filter_parameters,
- uint32_t filter_size, float sampling_frequency,
- uint32_t complex, uint8_t filter_slot, uint8_t parameter_block);
+BEAMFORMER_LIB_EXPORT uint32_t beamformer_create_filter(BeamformerFilterKind kind,
+ void *filter_parameters, uint32_t filter_size,
+ float sampling_frequency, uint32_t complex,
+ uint8_t filter_slot, uint8_t parameter_block);
//////////////////////////
// Live Imaging Controls
-LIB_FN int32_t beamformer_live_parameters_get_dirty_flag(void);
-LIB_FN uint32_t beamformer_set_live_parameters(BeamformerLiveImagingParameters *);
-LIB_FN BeamformerLiveImagingParameters *beamformer_get_live_parameters(void);
+BEAMFORMER_LIB_EXPORT int32_t beamformer_live_parameters_get_dirty_flag(void);
+BEAMFORMER_LIB_EXPORT uint32_t beamformer_set_live_parameters(BeamformerLiveImagingParameters *);
+BEAMFORMER_LIB_EXPORT BeamformerLiveImagingParameters *beamformer_get_live_parameters(void);
diff --git a/tests/throughput.c b/tests/throughput.c
@@ -5,7 +5,7 @@
* [ ]: bug: we aren't inserting rf data between each frame
*/
-#define LIB_FN function
+#define BEAMFORMER_LIB_EXPORT function
#include "ogl_beamformer_lib.c"
#include <signal.h>