Optimize line subtraction median array length updates for high latency
Compare changes
- Aaron Viets authored
+ 42
− 28
@@ -161,7 +161,7 @@ static void set_metadata(GSTLALSmoothKappas *element, GstBuffer *buf, guint64 ou
@@ -180,7 +180,7 @@ static void get_new_median(double new_element, double *fifo_array, double *curre
@@ -204,14 +204,15 @@ static void get_new_median(double new_element, double *fifo_array, double *curre
@@ -272,8 +273,9 @@ static void reset(GSTLALSmoothKappas *element) {
@@ -292,10 +294,12 @@ static void reset(GSTLALSmoothKappas *element) {
@@ -312,15 +316,15 @@ static void reset(GSTLALSmoothKappas *element) {
@@ -330,10 +334,12 @@ static void reset(GSTLALSmoothKappas *element) {
@@ -350,15 +356,15 @@ static void reset(GSTLALSmoothKappas *element) {
@@ -370,6 +376,9 @@ static void reset(GSTLALSmoothKappas *element) {
@@ -405,7 +414,9 @@ static GstFlowReturn smooth_buffer_ ## DTYPE(const DTYPE *src, guint64 src_size,
@@ -463,8 +474,10 @@ static GstFlowReturn smooth_complex_buffer_ ## DTYPE(const DTYPE complex *src, g
new_avg = (DTYPE) get_average(*current_median_re, avg_array_re, avg_array_size, avg_index_re, avg_index_im, FALSE, *samples_in_filter + (int) i + 1, no_default) + I * (DTYPE) get_average(*current_median_im, avg_array_im, avg_array_size, avg_index_re, avg_index_im, TRUE, *samples_in_filter + (int) i + 1, no_default); \
@@ -791,7 +804,7 @@ static GstFlowReturn transform(GstBaseTransform *trans, GstBuffer *inbuf, GstBuf
@@ -817,9 +830,8 @@ static GstFlowReturn transform(GstBaseTransform *trans, GstBuffer *inbuf, GstBuf
result = smooth_complex_buffer_float((const float complex *) inmap.data, inmap.size / element->unit_size, (float complex *) outmap.data, outmap.size / element->unit_size, element->fifo_array_re, element->fifo_array_im, element->avg_array_re, element->avg_array_im, element->default_kappa_re, element->default_kappa_im, &element->current_median_re, &element->current_median_im, element->maximum_offset_re, element->maximum_offset_im, element->array_size, element->avg_array_size, &element->index_re, &element->index_im, &element->avg_index_re, &element->avg_index_im, &element->num_bad_in_avg_re, &element->num_bad_in_avg_im, gap, element->default_to_median, element->track_bad_kappa, &element->samples_in_filter, element->no_default, &element->total_samples, element->reject_zeros, &element->future_unused);
result = smooth_complex_buffer_double((const double complex *) inmap.data, inmap.size / element->unit_size, (double complex *) outmap.data, outmap.size / element->unit_size, element->fifo_array_re, element->fifo_array_im, element->avg_array_re, element->avg_array_im, element->default_kappa_re, element->default_kappa_im, &element->current_median_re, &element->current_median_im, element->maximum_offset_re, element->maximum_offset_im, element->array_size, element->avg_array_size, &element->index_re, &element->index_im, &element->avg_index_re, &element->avg_index_im, &element->num_bad_in_avg_re, &element->num_bad_in_avg_im, gap, element->default_to_median, element->track_bad_kappa, &element->samples_in_filter, element->no_default, &element->total_samples, element->reject_zeros, &element->future_unused);
@@ -936,6 +948,8 @@ static void set_property(GObject *object, enum property prop_id, const GValue *v
@@ -1079,7 +1093,7 @@ static void gstlal_smoothkappas_class_init(GSTLALSmoothKappasClass *klass)
@@ -1090,7 +1104,7 @@ static void gstlal_smoothkappas_class_init(GSTLALSmoothKappasClass *klass)
@@ -1102,7 +1116,7 @@ static void gstlal_smoothkappas_class_init(GSTLALSmoothKappasClass *klass)