From ce8f45aaba82a150f72db943d447c1e068c474b0 Mon Sep 17 00:00:00 2001 From: Michael Koch Date: Fri, 4 Dec 2020 19:43:26 +0100 Subject: [PATCH] avfilter/vf_v360: fix several problems with 'perspective' output The image center wasn't preserved, the output image was mirror reversed, and rotations were made around wrong axes. I did also remove the vector normalization, because it's sure that the vector is already normalized if it's calculated from sin() and cos() terms. --- libavfilter/vf_v360.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/libavfilter/vf_v360.c b/libavfilter/vf_v360.c index 1dcad0ac69..94473cd5b3 100644 --- a/libavfilter/vf_v360.c +++ b/libavfilter/vf_v360.c @@ -3133,8 +3133,8 @@ static int perspective_to_xyz(const V360Context *s, const float cos_theta = cosf(theta); vec[0] = cos_theta * sin_phi; - vec[1] = sin_theta; - vec[2] = cos_theta * cos_phi; + vec[1] = cos_theta * cos_phi; + vec[2] = sin_theta; } else { vec[0] = 0.f; vec[1] = 1.f; @@ -3142,7 +3142,6 @@ static int perspective_to_xyz(const V360Context *s, return 0; } - normalize_vector(vec); return 1; }