Andreas Rheinhardt
1b20853fb3
avfilter/internal: Factor out executing a filter's execute_func
...
The current way of doing it involves writing the ctx parameter twice.
Reviewed-by: Nicolas George <george@nsup.org>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2021-08-15 21:33:25 +02:00
Andreas Rheinhardt
18ec426a86
avfilter/formats: Factor common function combinations out
...
Several combinations of functions happen quite often in query_format
functions; e.g. ff_set_common_formats(ctx, ff_make_format_list(sample_fmts))
is very common. This commit therefore adds functions that are equivalent
to commonly used function combinations in order to reduce code
duplication.
Reviewed-by: Nicolas George <george@nsup.org>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2021-08-13 17:36:22 +02:00
Paul B Mahol
305be41374
avfilter/vf_v360: avoid doubles in fov_from_dfov()
2021-07-17 23:27:51 +02:00
Daniel Playfair Cal
7f6d20931b
avfilter/vf_v360: fix visibility test for fisheye projection
...
Previously the visibility test referred to a circle in the input. This
changes it so that it refers accurately to the entire area in the input.
2021-07-17 11:28:56 +02:00
Paul B Mahol
e11fd47f8d
avfilter/vf_v360: add cylindrical equal area format
2021-06-30 00:12:41 +02:00
Andreas Rheinhardt
a04ad248a0
avfilter: Constify all AVFilters
...
This is possible now that the next-API is gone.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2021-04-27 11:48:05 -03:00
Paul B Mahol
e917cd9828
avfilter/vf_v360: unbreak fov_from_dfov() for (d)fisheye when width != height
...
Based on patch by Daniel Playfair Cal.
2021-04-11 10:12:11 +02:00
Paul B Mahol
1050f94c22
avfilter/vf_v360: allow user to control fov for equirectagular format
...
It may be useful to use different values from typical 360/180 deg.
2021-04-11 00:56:44 +02:00
Michael Koch
ce8f45aaba
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.
2020-12-04 19:50:10 +01:00
Paul B Mahol
d6e903b09b
avfilter/vf_v360: make commands always do relative rotation
2020-10-25 12:49:25 +01:00
Paul B Mahol
a086b73e1f
avfilter/vf_v360: use quaternions for rotation
...
Fixes gimbal lock issues, and round-off errors.
2020-10-07 01:54:05 +02:00
Paul B Mahol
3a035a8cd2
avfilter/vf_v360: fix possible out of range values
2020-10-04 19:23:52 +02:00
Paul B Mahol
eaba6cecfb
avfilter/vf_v360: add mitchell interpolation
2020-10-04 19:23:52 +02:00
Paul B Mahol
23d0754165
avfilter/vf_v360: stop using floats variables in xyz_to_octahedron
...
Use proper integer variables.
2020-09-30 00:09:22 +02:00
Paul B Mahol
12585c87e6
avfilter/vf_v360: simplify input flipping
2020-09-29 14:21:22 +02:00
Paul B Mahol
86b29c0cd0
avfilter/vf_v360: split maps into slices
2020-09-29 14:21:20 +02:00
Paul B Mahol
6db1b1af4c
avfilter/vf_v360: add octahedron format
2020-09-27 22:40:26 +02:00
Paul B Mahol
ce297b44d3
avfilter/vf_v360: do not ignore return value of allocate_plane()
2020-06-23 21:55:40 +02:00
Paul B Mahol
00a5df71ad
avfilter/vf_v360: add orthographic projection support
2020-06-23 16:00:02 +02:00
Paul B Mahol
44ce333f03
avfilters/vf_v360: add equisolid projection support
2020-06-22 14:41:36 +02:00
Paul B Mahol
2970846fc1
avfilter/vf_v360: make FOV adjusted for dual fisheye too
...
Remove any usage of padding for this format.
2020-04-29 19:18:25 +02:00
Steven Liu
d813e43b3d
avfilter/vf_v360: adjustment out_pad and in_pad maximum value to 1/10
...
Because not every user know about in_pad and out_pad reasonable value range
so maybe try to set 1.0, but setting 1.0 is so hugh to get an fatal error.
Suggested-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
2020-04-29 13:48:02 +01:00
Paul B Mahol
ec7fb45240
avfilter/vf_v360: add pannini input support
2020-04-04 14:16:28 +02:00
Paul B Mahol
dc67c0f180
avfilter/vf_v360: improve description of output fov options
2020-04-03 17:14:58 +02:00
Paul B Mahol
b00b935d99
avfilter/vf_v360: add lagrange9 interpolation
2020-04-02 12:25:37 +02:00
Paul B Mahol
72be5d4661
avfilter/vf_v360: fix swapped variables
2020-03-29 13:27:49 +02:00
Paul B Mahol
85025162da
avfilter/vf_v360: speedup fisheye output
2020-03-29 13:27:49 +02:00
Paul B Mahol
460001981f
avfilter/vf_v360: reduce unnecessary negations
2020-03-29 13:27:49 +02:00
Paul B Mahol
840e92da17
avfilter/vf_v360: improve sg input format
...
Specifically unbreak yaw functionality.
2020-03-26 13:53:22 +01:00
Paul B Mahol
7931e766ad
avfilter/vf_v360: improve sg output format
2020-03-26 13:37:13 +01:00
Paul B Mahol
0b43897530
avfilter/vf_v360: fix hfov/vfov calculation from dfov for sg projection
2020-03-25 13:38:41 +01:00
Paul B Mahol
5c7b6aadb5
avfilter/vf_v360: simplify some unnecessary indirections
2020-03-03 12:41:30 +01:00
Paul B Mahol
580d68f90e
avfilter/vf_v360: add half equirectangular input format
2020-03-03 12:21:16 +01:00
Paul B Mahol
ca04231983
avfilter/vf_v360: add half equirectangular output format
2020-03-03 12:03:42 +01:00
Paul B Mahol
6e1913a02e
avfilter/vf_v360: add truncated square pyramid input format
2020-03-02 19:05:13 +01:00
Paul B Mahol
3dd81be866
avfilter/vf_v360: add truncated square pyramid output format
2020-03-02 17:43:25 +01:00
Paul B Mahol
1281399135
avfilter/vf_v360: fix cylindrical input format
2020-03-01 11:24:31 +01:00
Paul B Mahol
db8146f4dd
avfilter/vf_v360: cleanup some code
2020-03-01 10:33:36 +01:00
Paul B Mahol
8f3df1dd4d
avfilter/vf_v360: improve interpolation for equirect input at poles
2020-02-29 22:35:02 +01:00
Paul B Mahol
f707c84b8b
avfilter/vf_v360: add partial size setup for flat
...
Other part of size is calculated from both available horizontal
and vertical FOV and given one size component.
2020-02-29 20:22:37 +01:00
Paul B Mahol
3733a6bc20
avfilter/vf_v360: speed up fisheye input calculation
2020-02-29 16:39:35 +01:00
Paul B Mahol
2dfd9445ff
avfilter/vf_v360: improve tetrahedron input format at frame borders
2020-02-29 14:24:35 +01:00
Paul B Mahol
50a13b987b
avfilter/vf_v360: simplify tetrahedron input calculation
2020-02-29 14:24:35 +01:00
Paul B Mahol
fc7d4d08fb
avfilter/vf_v360: improve precision of some output formats
2020-02-29 14:24:35 +01:00
Paul B Mahol
31ecfa95fb
avfilter/vf_v360: simplify code which handles interpolation points
2020-02-28 16:53:19 +01:00
Paul B Mahol
9b22254331
avfilter/vf_v360: add initial barrel split format input support
2020-02-27 23:37:23 +01:00
Paul B Mahol
b0a9960a77
avfilter/vf_v360: add barrel split format output support
2020-02-26 14:52:25 +01:00
Paul B Mahol
b484eb2556
avfilter/vf_v360: add basic commands support
2020-02-25 11:33:06 +01:00
Paul B Mahol
08a21c1fd8
avfilter/vf_v360: handle gracefully invalid values for rorder option
2020-02-25 11:12:02 +01:00
Paul B Mahol
90913abc2e
avfilter/vf_v360: improve dfisheye_to_xyz() output
2020-02-23 22:00:32 +01:00