Am 04.12.2020 um 19:06 schrieb Paul B Mahol:
On Fri, Dec 4, 2020 at 6:58 PM Michael Koch <[email protected]>
wrote:

Am 04.12.2020 um 18:14 schrieb Paul B Mahol:
On Wed, Dec 2, 2020 at 11:11 PM Michael Koch <
[email protected]>
wrote:

Am 01.12.2020 um 19:56 schrieb Michael Koch:
Hello,

there seem to be some problems in the v360 filter with "perspective"
output.
Tested with the latest Windows built, 2 days old. You can reproduce
this with any equirectangular input image.

ffmpeg -i equirectangular_test.png -lavfi v360=e:perspective -y
out1.png
The output of the above command has two problems:
-- The center of the input image is not mapped to the center of the
output image. For most other projections the image center is preserved.
-- The output is mirror reversed (which means you cannot read text).

Both problems can be corrected with this workaround:

ffmpeg -i equirectangular_test.png -lavfi
v360=e:perspective:pitch=90:v_flip=1 -y out2.png

Now I want to add a yaw rotation after the pitch rotation:

ffmpeg -i equirectangular_test.png -lavfi
v360=e:perspective:rorder=pyr:pitch=90:yaw=20:v_flip=1 -y out3.png

But in the output you can see that a roll rotation was done.
Today I did for the very first time figure out how to compile ffmpeg.
The above problem can be solved by changing two lines in vf_v360.c
Sorry, I haven't yet figured out how to use git.One thing after the
other...

Old version:
line 3136:   vec[1] = sin_theta;
line 3137: vec[2] = cos_theta * cos_phi;

New version:
line 3136: vec[1] = cos_theta * cos_phi;
line 3137: vec[2] = sin_theta;

I'm not sure if lines 3139 to 3141 must also be changed.


Good job!
Please write a patch with correct authorship and send it to the devel
list.
Fixing this for you was much more work than writing & sending patch will
be.

lol, fixing this problem was done in 10 minutes. Since 3 days I'm trying
to figure out how git works. Git is the pure horror! I think I have the
patch file now, but now the next problem is that the subscription to the
ffmpeg-devel list doesn't work.


Just send it here then.


From 45c633b47ef7a702e432fa377e154aa554699bd5 Mon Sep 17 00:00:00 2001
From: Michael Koch <[email protected]>
Date: Fri, 4 Dec 2020 17:22:17 +0100
Subject: [PATCH] Fixes 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 | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/libavfilter/vf_v360.c b/libavfilter/vf_v360.c
index 1dcad0ac69..e4e6ae5553 100644
--- a/libavfilter/vf_v360.c
+++ b/libavfilter/vf_v360.c
@@ -3133,16 +3133,14 @@ 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;
         vec[2] = 0.f;
         return 0;
     }
-
-    normalize_vector(vec);
     return 1;
 }

--
2.25.1

_______________________________________________
ffmpeg-user mailing list
[email protected]
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[email protected] with subject "unsubscribe".

Reply via email to