summaryrefslogtreecommitdiff
path: root/libs/panners
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2014-11-19 20:38:50 +0100
committerRobin Gareus <robin@gareus.org>2014-11-19 20:38:50 +0100
commite3e85a92dbb1bbca64d3e183ab9adefa32c49a6c (patch)
treeb4536ced491d67caf9add57191df330025d5fa6c /libs/panners
parentcc5f5c77388a7e326dab249047891c88c79bffdd (diff)
some const'ness and hints for clang
Diffstat (limited to 'libs/panners')
-rw-r--r--libs/panners/vbap/vbap.cc8
-rw-r--r--libs/panners/vbap/vbap_speakers.cc8
2 files changed, 12 insertions, 4 deletions
diff --git a/libs/panners/vbap/vbap.cc b/libs/panners/vbap/vbap.cc
index 70e9f38aa2..9276dd1256 100644
--- a/libs/panners/vbap/vbap.cc
+++ b/libs/panners/vbap/vbap.cc
@@ -162,6 +162,8 @@ VBAPanner::compute_gains (double gains[3], int speaker_ids[3], int azi, int ele)
int i,j,k;
double small_g;
double big_sm_g, gtmp[3];
+ const int dimension = _speakers->dimension();
+ assert(dimension == 2 || dimension == 3);
spherical_to_cartesian (azi, ele, 1.0, cartdir[0], cartdir[1], cartdir[2]);
big_sm_g = -100000.0;
@@ -173,12 +175,12 @@ VBAPanner::compute_gains (double gains[3], int speaker_ids[3], int azi, int ele)
small_g = 10000000.0;
- for (j = 0; j < _speakers->dimension(); j++) {
+ for (j = 0; j < dimension; j++) {
gtmp[j] = 0.0;
- for (k = 0; k < _speakers->dimension(); k++) {
- gtmp[j] += cartdir[k] * _speakers->matrix(i)[j*_speakers->dimension()+k];
+ for (k = 0; k < dimension; k++) {
+ gtmp[j] += cartdir[k] * _speakers->matrix(i)[j * dimension + k];
}
if (gtmp[j] < small_g) {
diff --git a/libs/panners/vbap/vbap_speakers.cc b/libs/panners/vbap/vbap_speakers.cc
index 1a420b2b2a..898a95de51 100644
--- a/libs/panners/vbap/vbap_speakers.cc
+++ b/libs/panners/vbap/vbap_speakers.cc
@@ -559,6 +559,11 @@ VBAPSpeakers::choose_speaker_pairs (){
}
/* sort loudspeakers according their aximuth angle */
+#ifdef __clang_analyzer__
+ // sort_2D_lss() assigns values to all of sorted_speakers
+ // "uninitialized value"
+ memset(sorted_speakers, 0, sizeof(*sorted_speakers));
+#endif
sort_2D_lss (sorted_speakers);
/* adjacent loudspeakers are the loudspeaker pairs to be used.*/
@@ -626,13 +631,14 @@ VBAPSpeakers::sort_2D_lss (int* sorted_speakers)
vector<Speaker> tmp = _speakers;
vector<Speaker>::iterator s;
azimuth_sorter sorter;
- int n;
+ unsigned int n;
sort (tmp.begin(), tmp.end(), sorter);
for (n = 0, s = tmp.begin(); s != tmp.end(); ++s, ++n) {
sorted_speakers[n] = (*s).id;
}
+ assert(n == _speakers.size ());
}
int