[FFmpeg-user] v360 / perspective
Paul B Mahol
onemda at gmail.com
Sat Dec 5 14:03:34 EET 2020
On Sat, Dec 5, 2020 at 12:30 PM Michael Koch <astroelectronic at t-online.de>
wrote:
> Am 05.12.2020 um 11:38 schrieb Paul B Mahol:
> > On Sat, Dec 5, 2020 at 11:02 AM Michael Koch <
> astroelectronic at t-online.de>
> > wrote:
> >
> >> Am 04.12.2020 um 18:14 schrieb Paul B Mahol:
> >>> On Wed, Dec 2, 2020 at 11:11 PM Michael Koch <
> >> astroelectronic at t-online.de>
> >>> 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.
> >>
> >> Can you please explain what's the exact meaning of "v_fov" with
> >> perspective output?
> >>
> > What's written in documentation. It just scales differently.
>
> "Set perspective parameter" or "It just scales differently" are too
> vague explanations. Especially since the v_fov parameter here seems to
> have a completely different meaning than in other projections. One thing
> is sure: It's not an angle in degrees.
>
Look again at the formula of projection, it explains everything.
>
> Michael
>
> _______________________________________________
> ffmpeg-user mailing list
> ffmpeg-user at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-user
>
> To unsubscribe, visit link above, or email
> ffmpeg-user-request at ffmpeg.org with subject "unsubscribe".
More information about the ffmpeg-user
mailing list