summaryrefslogtreecommitdiff
path: root/libavfilter/af_surround.c
diff options
context:
space:
mode:
authorPaul B Mahol <onemda@gmail.com>2019-04-24 14:36:59 +0200
committerPaul B Mahol <onemda@gmail.com>2019-04-24 22:31:02 +0200
commit2d16b83824c12b4cb3049c4dce7c9542e40a3a68 (patch)
tree30e184c660577d166924c120699c30b0d119e318 /libavfilter/af_surround.c
parente1e0f94dc9568898adfb91f1d859a0e8437025ea (diff)
avfilter/af_surround: check for invalid magnitude and phase difference
Diffstat (limited to 'libavfilter/af_surround.c')
-rw-r--r--libavfilter/af_surround.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/libavfilter/af_surround.c b/libavfilter/af_surround.c
index bae13322bb..bccea2b938 100644
--- a/libavfilter/af_surround.c
+++ b/libavfilter/af_surround.c
@@ -18,6 +18,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
+#include "libavutil/avassert.h"
#include "libavutil/audio_fifo.h"
#include "libavutil/channel_layout.h"
#include "libavutil/opt.h"
@@ -335,6 +336,8 @@ static void stereo_transform(float *x, float *y, float angle)
static void stereo_position(float a, float p, float *x, float *y)
{
+ av_assert2(a >= -1.f && a <= 1.f);
+ av_assert2(p >= 0.f && p <= M_PI);
*x = av_clipf(a+FFMAX(0, sinf(p-M_PI_2))*FFDIFFSIGN(a,0), -1, 1);
*y = av_clipf(cosf(a*M_PI_2+M_PI)*cosf(M_PI_2-p/M_PI)*M_LN10+1, -1, 1);
}