[FFmpeg-cvslog] avfilter/vf_v360: fix several problems with 'perspective' output

Michael Koch git at videolan.org
Fri Dec 4 20:51:18 EET 2020


ffmpeg | branch: master | Michael Koch <astroelectronic at t-online.de> | Fri Dec  4 19:43:26 2020 +0100| [ce8f45aaba82a150f72db943d447c1e068c474b0] | committer: Paul B Mahol

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.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=ce8f45aaba82a150f72db943d447c1e068c474b0
---

 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;
 }
 



More information about the ffmpeg-cvslog mailing list