Avoid obtaining several identical dimensions between two LSH sub-vectors by choosing orthogonal sub-vectors.
Fix a heap issue with static on Windows
Merge remote-tracking branch 'upstream/2.4' into LshOrthogonalSubvectors
Allows to choose orthogonal sub-vectors for LSH without using a static table among LshTable instances
Merge remote-tracking branch 'upstream/2.4' into LshOrthogonalSubvectors
Fix local variable shadowing
Remove a couple of useless casts in core headers

This helps users who compile their code with -Wuseless-cast.
fixed warnings
fix for fisheye
ocl: fix mac and superres test
Merge pull request #2922 from ilya-lavrenov:mac_fix
Merge pull request #2071 from pemmanuelviel:LshOrthogonalSubvectors
Merge pull request #2915 from SpecLad:core-useless-casts