10 #if defined ROC_LIBRARY || defined BR_LIBRARY 11 # if defined _WIN32 || defined __CYGWIN__ 12 # define ROC_EXPORT __declspec(dllexport) 14 # define ROC_EXPORT __attribute__((visibility("default"))) 17 # if defined _WIN32 || defined __CYGWIN__ 18 # define ROC_EXPORT __declspec(dllimport) 28 #ifndef SWIG_ROC_VIDEO 30 #ifdef SWIG_ROC_EMBEDDED 33 #define SWIG_PYTHON_STRICT_BYTE_CHAR 37 #if defined(SWIGPYTHON) || defined(SWIGJAVA) 39 #endif // SWIGPYTHON || SWIGJAVA 45 SWIG_JAVABODY_PROXY(
public,
public, SWIGTYPE)
46 SWIG_JAVABODY_TYPEWRAPPER(
public,
public,
public, SWIGTYPE)
47 %include enumtypeunsafe.swg
50 JNIEXPORT jstring JNICALL
51 Java_io_rankone_rocsdk_embedded_rocJNI_roc_1preinitialize_1android(JNIEnv *,
57 %typemap(jni) uint8_t *UBYTE
"jbyteArray" 58 %typemap(jtype) uint8_t *UBYTE
"byte[]" 59 %typemap(jstype) uint8_t *UBYTE
"byte[]" 60 %typemap(in) uint8_t *UBYTE {
61 $1 = (uint8_t *) JCALL2(GetByteArrayElements, jenv, $input, 0);
63 %typemap(argout) uint8_t *UBYTE {
64 JCALL3(ReleaseByteArrayElements, jenv, $input, (jbyte *) $1, 0);
66 %typemap(javain) uint8_t *UBYTE
"$javainput" 67 %typemap(freearg) uint8_t *UBYTE
"" 68 %apply uint8_t *UBYTE { uint8_t *input_byte_array };
69 %apply uint8_t *UBYTE { uint8_t *output_byte_array };
70 %apply uint8_t *UBYTE { uint8_t *y_in };
71 %apply uint8_t *UBYTE { uint8_t *u_in };
72 %apply uint8_t *UBYTE { uint8_t *v_in };
75 %apply
void *VOID_INT_PTR {
void * }
76 %include
"arrays_csharp.i" 77 %apply uint8_t INPUT[] { uint8_t *input_byte_array }
78 %apply uint8_t OUTPUT[] { uint8_t *output_byte_array }
79 %apply uint8_t INPUT[] { uint8_t *y_in }
80 %apply uint8_t INPUT[] { uint8_t *u_in }
81 %apply uint8_t INPUT[] { uint8_t *v_in }
84 %pointer_functions(
int,
int)
85 %pointer_functions(
float,
float)
86 %pointer_functions(
size_t,
size_t)
92 %array_functions(uint8_t, uint8_t_array)
93 %array_functions(
float, float_array)
99 %array_functions(
roc_roi, roc_roi_array)
100 #endif // SWIG_ROC_EMBEDDED 116 #define ROC_VERSION_MAJOR 2 124 #define ROC_VERSION_MINOR 4 129 #define ROC_VERSION_PATCH 0 135 #define ROC_VERSION_STRING "2.4.0" 164 #define ROC_COPYRIGHT "Copyright © 2015-2022 Rank One Computing Corporation. All rights reserved." 184 #endif // !SWIG_ROC_VIDEO 208 #ifndef SWIG_ROC_VIDEO 218 #define ROC_ATTEMPT(EXPRESSION) \ 220 const roc_error error = (EXPRESSION); \ 273 const char *filename,
288 ROC_EXPORT
bool roc_log(
const char *message);
332 #if defined(__cplusplus) && !defined(SWIG) 363 inline operator bool()
const 368 #endif // __cplusplus && !SWIG 380 memcpy(&result, &a.
data[0],
sizeof(
unsigned int));
383 #endif // __cplusplus 557 #if defined(__cplusplus) && !defined(SWIG) 588 inline operator bool()
const 593 #endif // __cplusplus && !SWIG 725 #define ROC_NO_TIMESTAMP 0xFFFFFFFFFFFFFFFF 742 #endif // !SWIG_ROC_VIDEO 825 #ifndef SWIG_ROC_VIDEO 959 const uint8_t *input_byte_array,
1063 uint8_t *output_byte_array);
1145 const uint8_t *u_in,
1146 const uint8_t *v_in,
1147 size_t y_row_stride,
1148 size_t uv_row_stride,
1149 size_t uv_pixel_stride,
1399 #define ROC_SUGGESTED_RELATIVE_MIN_SIZE 0.04f 1412 #define ROC_SUGGESTED_ABSOLUTE_MIN_SIZE 20 1426 #define ROC_SUGGESTED_FALSE_DETECTION_RATE 0.02f 1438 #define ROC_OBJECT_SUGGESTED_FALSE_DETECTION_RATE 0.005f 1450 #define ROC_GUN_SUGGESTED_FALSE_DETECTION_RATE 0.1f 1462 #define ROC_TEXT_SUGGESTED_FALSE_DETECTION_RATE 0.02f 1474 #define ROC_FINGERPRINT_SUGGESTED_FALSE_DETECTION_RATE 0.5f 1485 #define ROC_NO_MIN_QUALITY -FLT_MAX 1496 #define ROC_TEXT_SUGGESTED_MIN_QUALITY 0.8f 1508 #define ROC_TATTOO_SUGGESTED_MIN_QUALITY 0.0f 1520 #define ROC_FINGERPRINT_SUGGESTED_MIN_QUALITY -3.0f 1532 #define ROC_DEEP_SUGGESTED_MIN_QUALITY -0.2f 1544 #define ROC_FAST_SUGGESTED_MIN_QUALITY -FLT_MAX 1556 #define ROC_STANDARD_SUGGESTED_MIN_QUALITY -FLT_MAX 1590 size_t image_height,
1591 float relative_min_size,
1592 size_t absolute_min_size,
1593 size_t *adaptive_min_size);
1619 #else // !__cplusplus 1621 #endif // __cplusplus 2069 #else // !__cplusplus 2071 #endif // __cplusplus 2324 #define ROC_STANDARD_FV_SIZE 261 2333 #define ROC_DEEP_FV_SIZE 261 2342 #define ROC_OBJECT_FV_SIZE 262 2351 #define ROC_FAST_FV_SIZE 261 2360 #define ROC_TATTOO_FV_SIZE 37 2369 #define ROC_FINGERPRINT_FV_SIZE 262 2386 #define ROC_TEMPLATE_VERSION (((int64_t) ROC_VERSION_MAJOR << 61) + ((int64_t) ROC_VERSION_MINOR << 55)) 2403 #define ROC_FAST_COMPATIBILITY_VERSION (((int64_t) 2 << 61) + ((int64_t) 3 << 55)) 2420 #define ROC_STANDARD_COMPATIBILITY_VERSION (((int64_t) 2 << 61) + ((int64_t) 1 << 55)) 2437 #define ROC_DEEP_COMPATIBILITY_VERSION (((int64_t) 2 << 61) + ((int64_t) 4 << 55)) 2454 #define ROC_TATTOO_COMPATIBILITY_VERSION (((int64_t) 2 << 61) + ((int64_t) 3 << 55)) 2471 #define ROC_FINGERPRINT_COMPATIBILITY_VERSION (((int64_t) 2 << 61) + ((int64_t) 4 << 55)) 2488 #define ROC_OBJECT_COMPATIBILITY_VERSION (((int64_t) 2 << 61) + ((int64_t) 1 << 55)) 2497 #define ROC_TEMPLATE_VERSION_MASK 0x7F80000000000000 2506 #define ROC_NO_MIN_QUALITY -FLT_MAX 2517 #define ROC_TEXT_SUGGESTED_MIN_QUALITY 0.8f 2529 #define ROC_TATTOO_SUGGESTED_MIN_QUALITY 0.0f 2541 #define ROC_FINGERPRINT_SUGGESTED_MIN_QUALITY -3.0f 2552 #define ROC_DEEP_SUGGESTED_MIN_QUALITY -0.2f 2563 #define ROC_FAST_SUGGESTED_MIN_QUALITY -FLT_MAX 2575 #define ROC_STANDARD_SUGGESTED_MIN_QUALITY -FLT_MAX 2749 const char *object_type);
2827 uint8_t *output_byte_array);
2884 int *minor_version);
2895 ROC_EXPORT
void *
roc_cast(uint8_t *pointer);
3204 #define ROC_MAX_SIMILARITY (1.f) 3215 #define ROC_MIN_SIMILARITY (0.f) 3227 #define ROC_INVALID_SIMILARITY (-1.f) 3238 #define ROC_DEFAULT_SEARCH_THRESHOLD (0.65f) 3249 #define ROC_DEFAULT_VERIFICATION_THRESHOLD (0.55f) 3263 #define ROC_CONVENIENT_SPOOF_THRESHOLD (0.45f) 3276 #define ROC_SECURE_SPOOF_THRESHOLD (0.3f) 3569 ROC_EXPORT
const char *
3594 float false_detection_rate,
3621 float false_detection_rate,
3834 uint8_t *feature_vector,
3845 float *gaussianblur);
3885 float *unlocked_feature_vector,
3896 float *gaussianblur);
3965 const void *element);
4003 #endif // !SWIG_ROC_VIDEO 4009 #endif // ROC_EMBEDDED_H
float male
See ROC_ANALYTICS.
Definition: roc-embedded.h:3738
The new roc_event::quality is higher.
Definition: roc-embedded.h:2934
bool roc_log_no_callback(const char *message)
Write a message to the logging infrastructure previously established by roc_set_logging.
roc_similarity roc_embedded_compare_templates(const uint8_t *a, size_t a_size, const uint8_t *b, size_t b_size)
Static alternative to roc_compare_templates.
void roc_free_uuid_array(roc_uuid_array *uuid_array)
Deallocate a roc_uuid_array.
float painting
See ROC_ANALYTICS.
Definition: roc-embedded.h:3776
float middle_eastern
See ROC_ANALYTICS.
Definition: roc-embedded.h:3750
#define ROC_SECURE_SPOOF_THRESHOLD
Spoof threshold for high security deployments.
Definition: roc-embedded.h:3276
float east_asian
See ROC_ANALYTICS.
Definition: roc-embedded.h:3747
roc_uuid roc_person_id
Unique identifier for a person, the set of templates for the same identity.
Definition: roc-embedded.h:510
This license file does not support unlocked feature vectors.
Definition: roc-embedded.h:3498
Found a previously unseen person.
Definition: roc-embedded.h:2920
roc_uuid roc_uuid_from_bytes(const uint8_t *input_byte_array, size_t length)
Initialize a roc_uuid from a byte array.
const char * roc_copyright()
Function equivalent of ROC_COPYRIGHT.
roc_uuid roc_uuid_get_null()
Obtain a roc_uuid set to all zeros.
roc_uuid * roc_uuid_array
Definition: roc-embedded.h:529
float fear
See ROC_ANALYTICS.
Definition: roc-embedded.h:3762
struct roc_embedded_emotion roc_embedded_emotion
Data structure for emotion estimation.
The candidate watchlist has changed.
Definition: roc-embedded.h:2972
float joy
See ROC_ANALYTICS.
Definition: roc-embedded.h:3763
struct roc_embedded_artwork roc_embedded_artwork
Data structure for artwork estimation.
uint8_t data[16]
Internal 128-bit data buffer.
Definition: roc-embedded.h:330
int roc_version_major()
Function equivalent of ROC_VERSION_MAJOR for runtime version checking.
float none
See ROC_ANALYTICS.
Definition: roc-embedded.h:3784
roc_hash roc_hash_from_bytes(const uint8_t *input_byte_array, size_t length)
Initialize a roc_hash from a byte array.
float african
See ROC_ANALYTICS.
Definition: roc-embedded.h:3746
The specified amount of time has elapsed since a previous event was emitted.
Definition: roc-embedded.h:3001
roc_error roc_get_host_id(roc_string *host_id)
Retrieve the Host ID of the current machine.
There are no more events in the queue.
Definition: roc-embedded.h:2912
roc_error roc_event_type_from_string(const char *str, roc_event_type *event_type)
The opposite of roc_event_type_to_string.
This license file can't be used for the Embedded SDK.
Definition: roc-embedded.h:3493
roc_error roc_event_type_to_string(roc_event_type event_type, const char **str)
String representation of a roc_event_type.
#define ROC_VERSION_MAJOR
Used to indicate substantial new algorithms that require a license purchase.
Definition: roc-embedded.h:116
uint32_t roc_embedded_checksum(const uint8_t *data, const int size)
32-bit CRC checksum.
float south_asian
See ROC_ANALYTICS.
Definition: roc-embedded.h:3751
160-bit data hash.
Definition: roc-embedded.h:550
float roc_similarity
A measurement between two faces quantifying the pseudo-probability that they are the same person.
Definition: roc-embedded.h:3195
roc_error roc_fuse(roc_similarity *raw, size_t n, roc_similarity *fused)
Score-level fusion by computing a max.
This is the last event reported for a person.
Definition: roc-embedded.h:2985
bool operator!=(const roc_hash &other) const
Negation of roc_hash_is_equal.
Definition: roc-embedded.h:570
float eye
See ROC_ANALYTICS.
Definition: roc-embedded.h:3786
struct roc_embedded_glasses roc_embedded_glasses
Data structure for glasses estimation.
int roc_num_landmarks_for_pose(roc_pose pose)
Returns the number of landmarks computed for the specified pose.
Data structure for emotion estimation.
Definition: roc-embedded.h:3758
Expected ROC_GRAY8 image but provided a ROC_BGR24 image, or vice-versa.
Definition: roc-embedded.h:3483
uint32_t roc_event_type
A combination of roc_event_reasons.
Definition: roc-embedded.h:3017
bool operator!=(const roc_uuid &other) const
Definition: roc-embedded.h:345
Data structure for gender estimation.
Definition: roc-embedded.h:3735
int roc_version_minor()
Function equivalent of ROC_VERSION_MINOR for runtime version checking.
void(* roc_log_callback)(const char *)
Pointer to a callback function used to forward roc_log activity.
Definition: roc-embedded.h:253
bool operator==(const roc_uuid &other) const
Definition: roc-embedded.h:336
float surprise
See ROC_ANALYTICS.
Definition: roc-embedded.h:3766
const char * roc_error
A printable error string.
Definition: roc-embedded.h:206
roc_embedded_error roc_embedded_detect_faces_accurate(roc_image image, size_t min_size, int k, float false_detection_rate, size_t *n, roc_detection *detections)
Detect faces in an image. This uses a more accurate but slightly slower algorithm compared with roc_e...
#define ROC_INVALID_SIMILARITY
An invalid roc_similarity.
Definition: roc-embedded.h:3227
uint64_t roc_uuid_to_int(roc_uuid uuid)
Obtain an integer value from a roc_uuid.
roc_hash roc_hash_get_null()
Obtain a roc_hash set to all zeros.
bool operator<(const roc_hash &other) const
Definition: roc-embedded.h:579
The probe template associated with the event has changed.
Definition: roc-embedded.h:2927
float neutral
See ROC_ANALYTICS.
Definition: roc-embedded.h:3764
float mask
See ROC_ANALYTICS.
Definition: roc-embedded.h:3794
Invalid license.
Definition: roc-embedded.h:3472
roc_embedded_error roc_embedded_detect_faces(roc_image image, size_t min_size, int k, float false_detection_rate, size_t *n, roc_detection *detections)
Detect faces in an image.
The new roc_event::candidate has higher similarity.
Definition: roc-embedded.h:2940
float no_mask
See ROC_ANALYTICS.
Definition: roc-embedded.h:3795
float human
See ROC_ANALYTICS.
Definition: roc-embedded.h:3775
roc_error roc_set_logging(bool stdout_, const char *filename, roc_log_callback callback)
Set application logging.
roc_hash roc_archive_id
roc_hash_calc_sha1 of the (encoded) recorded output media file.
Definition: roc-embedded.h:711
#define ROC_NO_TIMESTAMP
Default value for roc_template::timestamp, indicating the template was generated from a still image.
Definition: roc-embedded.h:725
roc_error roc_landmarks_to_detection(const roc_landmark *right_eye, const roc_landmark *left_eye, const roc_landmark *chin, roc_detection *detection)
Estimate the face detection bounding box and pose from landmarks.
#define ROC_MIN_SIMILARITY
Minimum roc_similarity.
Definition: roc-embedded.h:3215
roc_embedded_error roc_embedded_liveness(roc_image image, roc_landmark right_eye, roc_landmark left_eye, roc_landmark chin, float *spoof)
Compute ROC_SPOOF face liveness metric.
#define ROC_CONVENIENT_SPOOF_THRESHOLD
Default spoof threshold.
Definition: roc-embedded.h:3263
struct roc_embedded_array roc_embedded_array
A very simple variable-length array implementation.
Call to malloc failed.
Definition: roc-embedded.h:3477
int size
Number of elements in data.
Definition: roc-embedded.h:3940
const char * roc_embedded_error_to_string(roc_embedded_error error)
Convert an error to a string for messaging.
This event is now obsolete and should be considered part of roc_event::replaced_by.
Definition: roc-embedded.h:2946
bool operator==(const roc_hash &other) const
Definition: roc-embedded.h:561
float cartoon
See ROC_ANALYTICS.
Definition: roc-embedded.h:3774
roc_embedded_error roc_embedded_represent_face_unlocked(roc_image image, roc_detection detection, roc_landmark right_eye, roc_landmark left_eye, roc_landmark chin, float *unlocked_feature_vector, float *quality, float *age, float *facial_hair, roc_embedded_gender *gender, roc_embedded_geographic_origin *geographic_origin, roc_embedded_emotion *emotion, roc_embedded_artwork *artwork, roc_embedded_glasses *glasses, roc_embedded_mask *mask, float *spoof, float *gaussianblur)
Extract an "unlocked" ROC_FAST_REPRESENTATION feature vector from a face detection.
float european
See ROC_ANALYTICS.
Definition: roc-embedded.h:3748
Emit an event for every new template.
Definition: roc-embedded.h:3006
roc_embedded_error roc_embedded_represent_face(roc_image image, roc_detection detection, roc_landmark right_eye, roc_landmark left_eye, roc_landmark chin, uint8_t *feature_vector, float *quality, float *age, float *facial_hair, roc_embedded_gender *gender, roc_embedded_geographic_origin *geographic_origin, roc_embedded_emotion *emotion, roc_embedded_artwork *artwork, roc_embedded_glasses *glasses, roc_embedded_mask *mask, float *spoof, float *gaussianblur)
Extract a ROC_FAST_REPRESENTATION feature vector from a face detection.
bool roc_uuid_is_null(roc_uuid uuid)
Check if a roc_uuid is all zeros.
128-bit universally unique identifier.
Definition: roc-embedded.h:325
bool roc_log(const char *message)
Write a message to the logging infrastructure previously established by roc_set_logging.
uint64_t roc_time
Time in milliseconds.
Definition: roc-embedded.h:716
int roc_version_patch()
Function equivalent of ROC_VERSION_PATCH for runtime version checking.
uint8_t data[20]
Internal 160-bit data buffer.
Definition: roc-embedded.h:555
The function call completed successfully.
Definition: roc-embedded.h:3467
float disgust
See ROC_ANALYTICS.
Definition: roc-embedded.h:3761
#define ROC_DEFAULT_SEARCH_THRESHOLD
Default search roc_similarity threshold.
Definition: roc-embedded.h:3238
roc_embedded_error roc_embedded_finalize()
Call once at the end of the application after making all other calls to the API.
roc_uuid roc_group_id
Unique identifier for a group, the set of people for which membership is the same.
Definition: roc-embedded.h:516
float anger
See ROC_ANALYTICS.
Definition: roc-embedded.h:3760
#define ROC_MAX_SIMILARITY
Maximum roc_similarity.
Definition: roc-embedded.h:3204
roc_event_reasons
Reasons for a roc_event.
Definition: roc-embedded.h:2907
roc_hash roc_media_id
roc_hash_calc_sha1 of the (encoded) source media file.
Definition: roc-embedded.h:705
#define ROC_VERSION_MINOR
Used to indicate incremental algorithm improvements and API changes.
Definition: roc-embedded.h:124
The most recent camera has changed.
Definition: roc-embedded.h:2965
void(* roc_progress)(float)
Pointer to a callback function used to report progress on a long running task.
Definition: roc-embedded.h:3411
void roc_embedded_array_free(roc_embedded_array *array)
Free memory associated with the array.
float sun
See ROC_ANALYTICS.
Definition: roc-embedded.h:3785
bool roc_uuid_is_less_than(roc_uuid a, roc_uuid b)
Compare two UUIDs for order.
roc_hash roc_hash_from_uuid(roc_uuid uuid)
Obtain a hash from a UUID.
bool operator<(const roc_uuid &other) const
Definition: roc-embedded.h:354
roc_embedded_error roc_embedded_array_append(roc_embedded_array *array, const void *element)
Append an element to the end of the array.
Data structure for glasses estimation.
Definition: roc-embedded.h:3782
roc_error roc_preinitialize_android(void *JNIEnv, void *jobject)
Inform the ROC SDK about the Java calling environment.
struct roc_embedded_mask roc_embedded_mask
Data structure for mask estimation.
bool roc_hash_is_equal(roc_hash a, roc_hash b)
Compare two hashes for equality.
struct roc_uuid roc_uuid
128-bit universally unique identifier.
float female
See ROC_ANALYTICS.
Definition: roc-embedded.h:3737
roc_uuid roc_uuid_from_int(uint64_t val)
Obtain a roc_uuid from an integer value.
#define ROC_DEFAULT_VERIFICATION_THRESHOLD
Default verification roc_similarity threshold.
Definition: roc-embedded.h:3249
Data structure for geographic origin estimation.
Definition: roc-embedded.h:3744
Data structure for mask estimation.
Definition: roc-embedded.h:3792
roc_embedded_error
Embedded function return value error codes.
Definition: roc-embedded.h:3457
The specified amount of time has passed since the person was first observed.
Definition: roc-embedded.h:2993
The event has a later end time.
Definition: roc-embedded.h:2958
roc_error roc_is_hardware_compatible()
Compare the system hardware against the SDK requirements.
struct roc_hash roc_hash
160-bit data hash.
struct roc_embedded_geographic_origin roc_embedded_geographic_origin
Data structure for geographic origin estimation.
const char * roc_version_string()
Function equivalent of ROC_VERSION_STRING for runtime version checking.
bool roc_hash_is_null(roc_hash hash)
Check if a roc_hash is all zeros.
roc_uuid roc_hash_to_uuid(roc_hash hash)
Convert from a roc_hash to a roc_uuid.
char * data
Buffer containing size elements.
Definition: roc-embedded.h:3941
roc_uuid_array roc_person_id_array
A dynamically allocated array of roc_person_id.
Definition: roc-embedded.h:536
void roc_ensure(roc_error error)
A simple log-and-exit error handling function.
bool roc_hash_is_less_than(roc_hash a, roc_hash b)
Compare two hashes for order.
The event has an earlier start time.
Definition: roc-embedded.h:2953
Attempted to use Snapdragon acceleration without first calling roc_enable_snpe.
Definition: roc-embedded.h:3504
roc_embedded_error roc_embedded_initialize(const char *license_file)
Call once at the start of the application before making any other calls to the API.
float latin_american
See ROC_ANALYTICS.
Definition: roc-embedded.h:3749
A very simple variable-length array implementation.
Definition: roc-embedded.h:3936
void roc_embedded_array_get(roc_embedded_array array, int index, void *element)
Retrieve an element from the array.
Data structure for artwork estimation.
Definition: roc-embedded.h:3772
float southeast_asian
See ROC_ANALYTICS.
Definition: roc-embedded.h:3752
The function call is not supported on this platform.
Definition: roc-embedded.h:3462
void roc_embedded_array_initialize(roc_embedded_array *array, int element_size)
Initialize a roc_array for use by informing it of the element size it will contain.
roc_embedded_error roc_embedded_landmark_face(roc_image image, roc_detection *detection, roc_landmark *landmarks, roc_landmark *right_eye, roc_landmark *left_eye, roc_landmark *chin, float *pitch, float *yaw)
Landmark a face detection.
Error reading the license file.
Definition: roc-embedded.h:3488
int element_size
sizeof of each element in data.
Definition: roc-embedded.h:3938
unsigned int qHash(const roc_uuid &a)
For Qt qHash interoperability.
Definition: roc-embedded.h:377
roc_uuid roc_camera_id
Unique identifier for a camera.
Definition: roc-embedded.h:522
roc_uuid roc_template_id
Unique identifier for a template.
Definition: roc-embedded.h:504
float sadness
See ROC_ANALYTICS.
Definition: roc-embedded.h:3765
Additional templates associated with an existing track.
Definition: roc-embedded.h:2977
Encountered internal error while attempting to use Snapdragon acceleration.
Definition: roc-embedded.h:3510
struct roc_embedded_gender roc_embedded_gender
Data structure for gender estimation.
bool roc_uuid_is_equal(roc_uuid a, roc_uuid b)
Compare two UUIDs for equality.