[FFmpeg-user] v360 / perspective

Michael Koch astroelectronic at t-online.de
Sat Dec 5 13:30:04 EET 2020


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.

Michael



More information about the ffmpeg-user mailing list