FFmpeg
|
#include <math.h>
#include "libavutil/avassert.h"
#include "libavutil/imgutils.h"
#include "libavutil/pixdesc.h"
#include "libavutil/opt.h"
#include "avfilter.h"
#include "formats.h"
#include "internal.h"
#include "video.h"
#include "v360.h"
Go to the source code of this file.
Data Structures | |
struct | ThreadData |
Used for passing data between threads. More... | |
Macros | |
#define | OFFSET(x) offsetof(V360Context, x) |
#define | FLAGS AV_OPT_FLAG_FILTERING_PARAM|AV_OPT_FLAG_VIDEO_PARAM |
#define | TFLAGS AV_OPT_FLAG_FILTERING_PARAM|AV_OPT_FLAG_VIDEO_PARAM|AV_OPT_FLAG_RUNTIME_PARAM |
#define | DEFINE_REMAP1_LINE(bits, div) |
#define | DEFINE_REMAP(ws, bits) |
Generate remapping function with a given window size and pixel depth. More... | |
#define | DEFINE_REMAP_LINE(ws, bits, div) |
Functions | |
AVFILTER_DEFINE_CLASS (v360) | |
static int | query_formats (AVFilterContext *ctx) |
void | ff_v360_init (V360Context *s, int depth) |
static void | nearest_kernel (float du, float dv, const XYRemap *rmap, int16_t *u, int16_t *v, int16_t *ker) |
Save nearest pixel coordinates for remapping. More... | |
static void | bilinear_kernel (float du, float dv, const XYRemap *rmap, int16_t *u, int16_t *v, int16_t *ker) |
Calculate kernel for bilinear interpolation. More... | |
static void | calculate_lagrange_coeffs (float t, float *coeffs) |
Calculate 1-dimensional lagrange coefficients. More... | |
static void | lagrange_kernel (float du, float dv, const XYRemap *rmap, int16_t *u, int16_t *v, int16_t *ker) |
Calculate kernel for lagrange interpolation. More... | |
static void | calculate_bicubic_coeffs (float t, float *coeffs) |
Calculate 1-dimensional cubic coefficients. More... | |
static void | bicubic_kernel (float du, float dv, const XYRemap *rmap, int16_t *u, int16_t *v, int16_t *ker) |
Calculate kernel for bicubic interpolation. More... | |
static void | calculate_lanczos_coeffs (float t, float *coeffs) |
Calculate 1-dimensional lanczos coefficients. More... | |
static void | lanczos_kernel (float du, float dv, const XYRemap *rmap, int16_t *u, int16_t *v, int16_t *ker) |
Calculate kernel for lanczos interpolation. More... | |
static void | calculate_spline16_coeffs (float t, float *coeffs) |
Calculate 1-dimensional spline16 coefficients. More... | |
static void | spline16_kernel (float du, float dv, const XYRemap *rmap, int16_t *u, int16_t *v, int16_t *ker) |
Calculate kernel for spline16 interpolation. More... | |
static void | calculate_gaussian_coeffs (float t, float *coeffs) |
Calculate 1-dimensional gaussian coefficients. More... | |
static void | gaussian_kernel (float du, float dv, const XYRemap *rmap, int16_t *u, int16_t *v, int16_t *ker) |
Calculate kernel for gaussian interpolation. More... | |
static void | calculate_cubic_bc_coeffs (float t, float *coeffs, float b, float c) |
Calculate 1-dimensional cubic_bc_spline coefficients. More... | |
static void | mitchell_kernel (float du, float dv, const XYRemap *rmap, int16_t *u, int16_t *v, int16_t *ker) |
Calculate kernel for mitchell interpolation. More... | |
static int | mod (int a, int b) |
Modulo operation with only positive remainders. More... | |
static int | reflecty (int y, int h) |
Reflect y operation. More... | |
static int | ereflectx (int x, int y, int w, int h) |
Reflect x operation for equirect. More... | |
static int | reflectx (int x, int y, int w, int h) |
Reflect x operation. More... | |
static int | get_direction (char c) |
Convert char to corresponding direction. More... | |
static int | get_rotation (char c) |
Convert char to corresponding rotation angle. More... | |
static int | get_rorder (char c) |
Convert char to corresponding rotation order. More... | |
static int | prepare_cube_in (AVFilterContext *ctx) |
Prepare data for processing cubemap input format. More... | |
static int | prepare_cube_out (AVFilterContext *ctx) |
Prepare data for processing cubemap output format. More... | |
static void | rotate_cube_face (float *uf, float *vf, int rotation) |
static void | rotate_cube_face_inverse (float *uf, float *vf, int rotation) |
static void | offset_vector (float *vec, float h_offset, float v_offset) |
Offset vector. More... | |
static void | normalize_vector (float *vec) |
Normalize vector. More... | |
static void | cube_to_xyz (const V360Context *s, float uf, float vf, int face, float *vec, float scalew, float scaleh) |
Calculate 3D coordinates on sphere for corresponding cubemap position. More... | |
static void | xyz_to_cube (const V360Context *s, const float *vec, float *uf, float *vf, int *direction) |
Calculate cubemap position for corresponding 3D coordinates on sphere. More... | |
static void | process_cube_coordinates (const V360Context *s, float uf, float vf, int direction, float *new_uf, float *new_vf, int *face) |
Find position on another cube face in case of overflow/underflow. More... | |
static av_always_inline float | scale (float x, float s) |
static av_always_inline float | rescale (int x, float s) |
static int | cube3x2_to_xyz (const V360Context *s, int i, int j, int width, int height, float *vec) |
Calculate 3D coordinates on sphere for corresponding frame position in cubemap3x2 format. More... | |
static int | xyz_to_cube3x2 (const V360Context *s, const float *vec, int width, int height, int16_t us[4][4], int16_t vs[4][4], float *du, float *dv) |
Calculate frame position in cubemap3x2 format for corresponding 3D coordinates on sphere. More... | |
static int | cube1x6_to_xyz (const V360Context *s, int i, int j, int width, int height, float *vec) |
Calculate 3D coordinates on sphere for corresponding frame position in cubemap1x6 format. More... | |
static int | cube6x1_to_xyz (const V360Context *s, int i, int j, int width, int height, float *vec) |
Calculate 3D coordinates on sphere for corresponding frame position in cubemap6x1 format. More... | |
static int | xyz_to_cube1x6 (const V360Context *s, const float *vec, int width, int height, int16_t us[4][4], int16_t vs[4][4], float *du, float *dv) |
Calculate frame position in cubemap1x6 format for corresponding 3D coordinates on sphere. More... | |
static int | xyz_to_cube6x1 (const V360Context *s, const float *vec, int width, int height, int16_t us[4][4], int16_t vs[4][4], float *du, float *dv) |
Calculate frame position in cubemap6x1 format for corresponding 3D coordinates on sphere. More... | |
static int | prepare_equirect_out (AVFilterContext *ctx) |
Prepare data for processing equirectangular output format. More... | |
static int | equirect_to_xyz (const V360Context *s, int i, int j, int width, int height, float *vec) |
Calculate 3D coordinates on sphere for corresponding frame position in equirectangular format. More... | |
static int | hequirect_to_xyz (const V360Context *s, int i, int j, int width, int height, float *vec) |
Calculate 3D coordinates on sphere for corresponding frame position in half equirectangular format. More... | |
static int | prepare_stereographic_out (AVFilterContext *ctx) |
Prepare data for processing stereographic output format. More... | |
static int | stereographic_to_xyz (const V360Context *s, int i, int j, int width, int height, float *vec) |
Calculate 3D coordinates on sphere for corresponding frame position in stereographic format. More... | |
static int | prepare_stereographic_in (AVFilterContext *ctx) |
Prepare data for processing stereographic input format. More... | |
static int | xyz_to_stereographic (const V360Context *s, const float *vec, int width, int height, int16_t us[4][4], int16_t vs[4][4], float *du, float *dv) |
Calculate frame position in stereographic format for corresponding 3D coordinates on sphere. More... | |
static int | prepare_equisolid_out (AVFilterContext *ctx) |
Prepare data for processing equisolid output format. More... | |
static int | equisolid_to_xyz (const V360Context *s, int i, int j, int width, int height, float *vec) |
Calculate 3D coordinates on sphere for corresponding frame position in equisolid format. More... | |
static int | prepare_equisolid_in (AVFilterContext *ctx) |
Prepare data for processing equisolid input format. More... | |
static int | xyz_to_equisolid (const V360Context *s, const float *vec, int width, int height, int16_t us[4][4], int16_t vs[4][4], float *du, float *dv) |
Calculate frame position in equisolid format for corresponding 3D coordinates on sphere. More... | |
static int | prepare_orthographic_out (AVFilterContext *ctx) |
Prepare data for processing orthographic output format. More... | |
static int | orthographic_to_xyz (const V360Context *s, int i, int j, int width, int height, float *vec) |
Calculate 3D coordinates on sphere for corresponding frame position in orthographic format. More... | |
static int | prepare_orthographic_in (AVFilterContext *ctx) |
Prepare data for processing orthographic input format. More... | |
static int | xyz_to_orthographic (const V360Context *s, const float *vec, int width, int height, int16_t us[4][4], int16_t vs[4][4], float *du, float *dv) |
Calculate frame position in orthographic format for corresponding 3D coordinates on sphere. More... | |
static int | prepare_equirect_in (AVFilterContext *ctx) |
Prepare data for processing equirectangular input format. More... | |
static int | xyz_to_equirect (const V360Context *s, const float *vec, int width, int height, int16_t us[4][4], int16_t vs[4][4], float *du, float *dv) |
Calculate frame position in equirectangular format for corresponding 3D coordinates on sphere. More... | |
static int | xyz_to_hequirect (const V360Context *s, const float *vec, int width, int height, int16_t us[4][4], int16_t vs[4][4], float *du, float *dv) |
Calculate frame position in half equirectangular format for corresponding 3D coordinates on sphere. More... | |
static int | prepare_flat_in (AVFilterContext *ctx) |
Prepare data for processing flat input format. More... | |
static int | xyz_to_flat (const V360Context *s, const float *vec, int width, int height, int16_t us[4][4], int16_t vs[4][4], float *du, float *dv) |
Calculate frame position in flat format for corresponding 3D coordinates on sphere. More... | |
static int | xyz_to_mercator (const V360Context *s, const float *vec, int width, int height, int16_t us[4][4], int16_t vs[4][4], float *du, float *dv) |
Calculate frame position in mercator format for corresponding 3D coordinates on sphere. More... | |
static int | mercator_to_xyz (const V360Context *s, int i, int j, int width, int height, float *vec) |
Calculate 3D coordinates on sphere for corresponding frame position in mercator format. More... | |
static int | xyz_to_ball (const V360Context *s, const float *vec, int width, int height, int16_t us[4][4], int16_t vs[4][4], float *du, float *dv) |
Calculate frame position in ball format for corresponding 3D coordinates on sphere. More... | |
static int | ball_to_xyz (const V360Context *s, int i, int j, int width, int height, float *vec) |
Calculate 3D coordinates on sphere for corresponding frame position in ball format. More... | |
static int | hammer_to_xyz (const V360Context *s, int i, int j, int width, int height, float *vec) |
Calculate 3D coordinates on sphere for corresponding frame position in hammer format. More... | |
static int | xyz_to_hammer (const V360Context *s, const float *vec, int width, int height, int16_t us[4][4], int16_t vs[4][4], float *du, float *dv) |
Calculate frame position in hammer format for corresponding 3D coordinates on sphere. More... | |
static int | sinusoidal_to_xyz (const V360Context *s, int i, int j, int width, int height, float *vec) |
Calculate 3D coordinates on sphere for corresponding frame position in sinusoidal format. More... | |
static int | xyz_to_sinusoidal (const V360Context *s, const float *vec, int width, int height, int16_t us[4][4], int16_t vs[4][4], float *du, float *dv) |
Calculate frame position in sinusoidal format for corresponding 3D coordinates on sphere. More... | |
static int | prepare_eac_in (AVFilterContext *ctx) |
Prepare data for processing equi-angular cubemap input format. More... | |
static int | prepare_eac_out (AVFilterContext *ctx) |
Prepare data for processing equi-angular cubemap output format. More... | |
static int | eac_to_xyz (const V360Context *s, int i, int j, int width, int height, float *vec) |
Calculate 3D coordinates on sphere for corresponding frame position in equi-angular cubemap format. More... | |
static int | xyz_to_eac (const V360Context *s, const float *vec, int width, int height, int16_t us[4][4], int16_t vs[4][4], float *du, float *dv) |
Calculate frame position in equi-angular cubemap format for corresponding 3D coordinates on sphere. More... | |
static int | prepare_flat_out (AVFilterContext *ctx) |
Prepare data for processing flat output format. More... | |
static int | flat_to_xyz (const V360Context *s, int i, int j, int width, int height, float *vec) |
Calculate 3D coordinates on sphere for corresponding frame position in flat format. More... | |
static int | prepare_fisheye_out (AVFilterContext *ctx) |
Prepare data for processing fisheye output format. More... | |
static int | fisheye_to_xyz (const V360Context *s, int i, int j, int width, int height, float *vec) |
Calculate 3D coordinates on sphere for corresponding frame position in fisheye format. More... | |
static int | prepare_fisheye_in (AVFilterContext *ctx) |
Prepare data for processing fisheye input format. More... | |
static int | xyz_to_fisheye (const V360Context *s, const float *vec, int width, int height, int16_t us[4][4], int16_t vs[4][4], float *du, float *dv) |
Calculate frame position in fisheye format for corresponding 3D coordinates on sphere. More... | |
static int | pannini_to_xyz (const V360Context *s, int i, int j, int width, int height, float *vec) |
Calculate 3D coordinates on sphere for corresponding frame position in pannini format. More... | |
static int | xyz_to_pannini (const V360Context *s, const float *vec, int width, int height, int16_t us[4][4], int16_t vs[4][4], float *du, float *dv) |
Calculate frame position in pannini format for corresponding 3D coordinates on sphere. More... | |
static int | prepare_cylindrical_out (AVFilterContext *ctx) |
Prepare data for processing cylindrical output format. More... | |
static int | cylindrical_to_xyz (const V360Context *s, int i, int j, int width, int height, float *vec) |
Calculate 3D coordinates on sphere for corresponding frame position in cylindrical format. More... | |
static int | prepare_cylindrical_in (AVFilterContext *ctx) |
Prepare data for processing cylindrical input format. More... | |
static int | xyz_to_cylindrical (const V360Context *s, const float *vec, int width, int height, int16_t us[4][4], int16_t vs[4][4], float *du, float *dv) |
Calculate frame position in cylindrical format for corresponding 3D coordinates on sphere. More... | |
static int | prepare_cylindricalea_out (AVFilterContext *ctx) |
Prepare data for processing cylindrical equal area output format. More... | |
static int | prepare_cylindricalea_in (AVFilterContext *ctx) |
Prepare data for processing cylindrical equal area input format. More... | |
static int | cylindricalea_to_xyz (const V360Context *s, int i, int j, int width, int height, float *vec) |
Calculate 3D coordinates on sphere for corresponding frame position in cylindrical equal area format. More... | |
static int | xyz_to_cylindricalea (const V360Context *s, const float *vec, int width, int height, int16_t us[4][4], int16_t vs[4][4], float *du, float *dv) |
Calculate frame position in cylindrical equal area format for corresponding 3D coordinates on sphere. More... | |
static int | perspective_to_xyz (const V360Context *s, int i, int j, int width, int height, float *vec) |
Calculate 3D coordinates on sphere for corresponding frame position in perspective format. More... | |
static int | tetrahedron_to_xyz (const V360Context *s, int i, int j, int width, int height, float *vec) |
Calculate 3D coordinates on sphere for corresponding frame position in tetrahedron format. More... | |
static int | xyz_to_tetrahedron (const V360Context *s, const float *vec, int width, int height, int16_t us[4][4], int16_t vs[4][4], float *du, float *dv) |
Calculate frame position in tetrahedron format for corresponding 3D coordinates on sphere. More... | |
static int | prepare_dfisheye_in (AVFilterContext *ctx) |
Prepare data for processing double fisheye input format. More... | |
static int | dfisheye_to_xyz (const V360Context *s, int i, int j, int width, int height, float *vec) |
Calculate 3D coordinates on sphere for corresponding frame position in dual fisheye format. More... | |
static int | xyz_to_dfisheye (const V360Context *s, const float *vec, int width, int height, int16_t us[4][4], int16_t vs[4][4], float *du, float *dv) |
Calculate frame position in dual fisheye format for corresponding 3D coordinates on sphere. More... | |
static int | barrel_to_xyz (const V360Context *s, int i, int j, int width, int height, float *vec) |
Calculate 3D coordinates on sphere for corresponding frame position in barrel facebook's format. More... | |
static int | xyz_to_barrel (const V360Context *s, const float *vec, int width, int height, int16_t us[4][4], int16_t vs[4][4], float *du, float *dv) |
Calculate frame position in barrel facebook's format for corresponding 3D coordinates on sphere. More... | |
static int | xyz_to_barrelsplit (const V360Context *s, const float *vec, int width, int height, int16_t us[4][4], int16_t vs[4][4], float *du, float *dv) |
Calculate frame position in barrel split facebook's format for corresponding 3D coordinates on sphere. More... | |
static int | barrelsplit_to_xyz (const V360Context *s, int i, int j, int width, int height, float *vec) |
Calculate 3D coordinates on sphere for corresponding frame position in barrel split facebook's format. More... | |
static int | tspyramid_to_xyz (const V360Context *s, int i, int j, int width, int height, float *vec) |
Calculate 3D coordinates on sphere for corresponding frame position in tspyramid format. More... | |
static int | xyz_to_tspyramid (const V360Context *s, const float *vec, int width, int height, int16_t us[4][4], int16_t vs[4][4], float *du, float *dv) |
Calculate frame position in tspyramid format for corresponding 3D coordinates on sphere. More... | |
static int | octahedron_to_xyz (const V360Context *s, int i, int j, int width, int height, float *vec) |
Calculate 3D coordinates on sphere for corresponding frame position in octahedron format. More... | |
static int | xyz_to_octahedron (const V360Context *s, const float *vec, int width, int height, int16_t us[4][4], int16_t vs[4][4], float *du, float *dv) |
Calculate frame position in octahedron format for corresponding 3D coordinates on sphere. More... | |
static void | multiply_quaternion (float c[4], const float a[4], const float b[4]) |
static void | conjugate_quaternion (float d[4], const float q[4]) |
static void | calculate_rotation (float yaw, float pitch, float roll, float rot_quaternion[2][4], const int rotation_order[3]) |
Calculate rotation quaternion for yaw/pitch/roll angles. More... | |
static void | rotate (const float rot_quaternion[2][4], float *vec) |
Rotate vector with given rotation quaternion. More... | |
static void | set_mirror_modifier (int h_flip, int v_flip, int d_flip, float *modifier) |
static void | mirror (const float *modifier, float *vec) |
static void | input_flip (int16_t u[4][4], int16_t v[4][4], int w, int h, int hflip, int vflip) |
static int | allocate_plane (V360Context *s, int sizeof_uv, int sizeof_ker, int sizeof_mask, int p) |
static void | fov_from_dfov (int format, float d_fov, float w, float h, float *h_fov, float *v_fov) |
static void | set_dimensions (int *outw, int *outh, int w, int h, const AVPixFmtDescriptor *desc) |
static int | v360_slice (AVFilterContext *ctx, void *arg, int jobnr, int nb_jobs) |
static int | config_output (AVFilterLink *outlink) |
static int | filter_frame (AVFilterLink *inlink, AVFrame *in) |
static void | reset_rot (V360Context *s) |
static int | process_command (AVFilterContext *ctx, const char *cmd, const char *args, char *res, int res_len, int flags) |
static av_cold int | init (AVFilterContext *ctx) |
static av_cold void | uninit (AVFilterContext *ctx) |
Variables | |
static const AVOption | v360_options [] |
static const AVFilterPad | inputs [] |
static const AVFilterPad | outputs [] |
const AVFilter | ff_vf_v360 |
360 video conversion filter. Principle of operation:
(for each pixel in output frame) 1) Calculate OpenGL-like coordinates (x, y, z) for pixel position (i, j) 2) Apply 360 operations (rotation, mirror) to (x, y, z) 3) Calculate pixel position (u, v) in input frame 4) Calculate interpolation window and weight for each pixel
(for each frame) 5) Remap input frame to output frame using precalculated data
Definition in file vf_v360.c.
#define OFFSET | ( | x | ) | offsetof(V360Context, x) |
#define FLAGS AV_OPT_FLAG_FILTERING_PARAM|AV_OPT_FLAG_VIDEO_PARAM |
#define DEFINE_REMAP1_LINE | ( | bits, | |
div | |||
) |
#define DEFINE_REMAP | ( | ws, | |
bits | |||
) |
#define DEFINE_REMAP_LINE | ( | ws, | |
bits, | |||
div | |||
) |
AVFILTER_DEFINE_CLASS | ( | v360 | ) |
|
static |
void ff_v360_init | ( | V360Context * | s, |
int | depth | ||
) |
Definition at line 371 of file vf_v360.c.
Referenced by config_output().
|
static |
Save nearest pixel coordinates for remapping.
du | horizontal relative coordinate |
dv | vertical relative coordinate |
rmap | calculated 4x4 window |
u | u remap data |
v | v remap data |
ker | ker remap data |
Definition at line 407 of file vf_v360.c.
Referenced by config_output().
|
static |
Calculate kernel for bilinear interpolation.
du | horizontal relative coordinate |
dv | vertical relative coordinate |
rmap | calculated 4x4 window |
u | u remap data |
v | v remap data |
ker | ker remap data |
Definition at line 427 of file vf_v360.c.
Referenced by config_output().
Calculate 1-dimensional lagrange coefficients.
t | relative coordinate |
coeffs | coefficients |
Definition at line 449 of file vf_v360.c.
Referenced by lagrange_kernel().
|
static |
Calculate kernel for lagrange interpolation.
du | horizontal relative coordinate |
dv | vertical relative coordinate |
rmap | calculated 4x4 window |
u | u remap data |
v | v remap data |
ker | ker remap data |
Definition at line 466 of file vf_v360.c.
Referenced by config_output().
Calculate 1-dimensional cubic coefficients.
t | relative coordinate |
coeffs | coefficients |
Definition at line 490 of file vf_v360.c.
Referenced by bicubic_kernel().
|
static |
Calculate kernel for bicubic interpolation.
du | horizontal relative coordinate |
dv | vertical relative coordinate |
rmap | calculated 4x4 window |
u | u remap data |
v | v remap data |
ker | ker remap data |
Definition at line 511 of file vf_v360.c.
Referenced by config_output().
Calculate 1-dimensional lanczos coefficients.
t | relative coordinate |
coeffs | coefficients |
Definition at line 535 of file vf_v360.c.
Referenced by lanczos_kernel().
|
static |
Calculate kernel for lanczos interpolation.
du | horizontal relative coordinate |
dv | vertical relative coordinate |
rmap | calculated 4x4 window |
u | u remap data |
v | v remap data |
ker | ker remap data |
Definition at line 564 of file vf_v360.c.
Referenced by config_output().
Calculate 1-dimensional spline16 coefficients.
t | relative coordinate |
coeffs | coefficients |
Definition at line 588 of file vf_v360.c.
Referenced by spline16_kernel().
|
static |
Calculate kernel for spline16 interpolation.
du | horizontal relative coordinate |
dv | vertical relative coordinate |
rmap | calculated 4x4 window |
u | u remap data |
v | v remap data |
ker | ker remap data |
Definition at line 606 of file vf_v360.c.
Referenced by config_output().
Calculate 1-dimensional gaussian coefficients.
t | relative coordinate |
coeffs | coefficients |
Definition at line 630 of file vf_v360.c.
Referenced by gaussian_kernel().
|
static |
Calculate kernel for gaussian interpolation.
du | horizontal relative coordinate |
dv | vertical relative coordinate |
rmap | calculated 4x4 window |
u | u remap data |
v | v remap data |
ker | ker remap data |
Definition at line 659 of file vf_v360.c.
Referenced by config_output().
Calculate 1-dimensional cubic_bc_spline coefficients.
t | relative coordinate |
coeffs | coefficients |
Definition at line 683 of file vf_v360.c.
Referenced by mitchell_kernel().
|
static |
Calculate kernel for mitchell interpolation.
du | horizontal relative coordinate |
dv | vertical relative coordinate |
rmap | calculated 4x4 window |
u | u remap data |
v | v remap data |
ker | ker remap data |
Definition at line 724 of file vf_v360.c.
Referenced by config_output().
Modulo operation with only positive remainders.
a | dividend |
b | divisor |
Definition at line 750 of file vf_v360.c.
Referenced by av_compare_mod(), check_extensions(), choose_vlc_set(), draw_sierpinski(), ereflectx(), filter(), l1_unscale(), l2_unscale_group(), mpegaudiodec_common_init_static(), reflectx(), and request_frame().
Reflect y operation.
y | input vertical position |
h | input height |
Definition at line 766 of file vf_v360.c.
Referenced by xyz_to_equirect(), xyz_to_tetrahedron(), and xyz_to_tspyramid().
Reflect x operation for equirect.
x | input horizontal position |
y | input vertical position |
w | input width |
h | input height |
Definition at line 785 of file vf_v360.c.
Referenced by xyz_to_equirect().
Reflect x operation.
x | input horizontal position |
y | input vertical position |
w | input width |
h | input height |
Definition at line 801 of file vf_v360.c.
Referenced by xyz_to_tetrahedron(), and xyz_to_tspyramid().
|
static |
Convert char to corresponding direction.
Used for cubemap options.
Definition at line 813 of file vf_v360.c.
Referenced by prepare_cube_in(), and prepare_cube_out().
|
static |
Convert char to corresponding rotation angle.
Used for cubemap options.
Definition at line 837 of file vf_v360.c.
Referenced by prepare_cube_in(), and prepare_cube_out().
|
static |
Convert char to corresponding rotation order.
Definition at line 856 of file vf_v360.c.
Referenced by config_output().
|
static |
Prepare data for processing cubemap input format.
ctx | filter context |
Definition at line 880 of file vf_v360.c.
Referenced by config_output().
|
static |
Prepare data for processing cubemap output format.
ctx | filter context |
Definition at line 934 of file vf_v360.c.
Referenced by config_output().
Definition at line 981 of file vf_v360.c.
Referenced by process_cube_coordinates(), and xyz_to_cube().
Definition at line 1007 of file vf_v360.c.
Referenced by cube_to_xyz(), and process_cube_coordinates().
Offset vector.
vec | vector |
Definition at line 1038 of file vf_v360.c.
Referenced by v360_slice().
|
static |
Normalize vector.
vec | vector |
Definition at line 1049 of file vf_v360.c.
Referenced by v360_slice().
|
static |
Calculate 3D coordinates on sphere for corresponding cubemap position.
Common operation for every cubemap.
s | filter private context |
uf | horizontal cubemap coordinate [0, 1) |
vf | vertical cubemap coordinate [0, 1) |
face | face of cubemap |
vec | coordinates on sphere |
scalew | scale for uf |
scaleh | scale for vf |
Definition at line 1070 of file vf_v360.c.
Referenced by cube1x6_to_xyz(), cube3x2_to_xyz(), and cube6x1_to_xyz().
|
static |
Calculate cubemap position for corresponding 3D coordinates on sphere.
Common operation for every cubemap.
s | filter private context |
vec | coordinated on sphere |
uf | horizontal cubemap coordinate [0, 1) |
vf | vertical cubemap coordinate [0, 1) |
direction | direction of view |
Definition at line 1132 of file vf_v360.c.
Referenced by xyz_to_cube1x6(), xyz_to_cube3x2(), xyz_to_cube6x1(), xyz_to_eac(), and xyz_to_tspyramid().
|
static |
Find position on another cube face in case of overflow/underflow.
Used for calculation of interpolation window.
s | filter private context |
uf | horizontal cubemap coordinate |
vf | vertical cubemap coordinate |
direction | direction of view |
new_uf | new horizontal cubemap coordinate |
new_vf | new vertical cubemap coordinate |
face | face position on cubemap |
Definition at line 1207 of file vf_v360.c.
Referenced by xyz_to_cube1x6(), xyz_to_cube3x2(), and xyz_to_cube6x1().
|
static |
Definition at line 1389 of file vf_v360.c.
Referenced by add_8x8basis_c(), add_8x8basis_TMPL(), adpcm_decode_frame(), adx_decode(), adx_encode(), amplify_frame(), analyze_plane(), apply_band_extension(), apply_intensity_stereo(), apply_scalefactors(), arith2_get_number(), arith2_get_prob(), asf_write_markers(), autocorrelation(), av_display_rotation_get(), av_tx_init(), barrel_to_xyz(), blur(), bmv_aud_decode_frame(), build_filter(), calc_channel_uphases(), check_diff(), check_exprs(), checkasm_check_synth_filter(), colorcontrast_slice16(), colorcontrast_slice16p(), colorcontrast_slice8(), colorcontrast_slice8p(), comp_adjust(), comp_autocorr(), comp_interp_index(), comp_ppf_coeff(), complex_xcorrelate(), compute_rates(), compute_vif2(), config_input(), config_output(), config_props(), convert_coeffs(), correlation(), dct_error(), decode_cce(), decode_hf_c(), decode_init(), decode_joint_c(), decode_p_block(), decode_segment(), decode_spectrum_and_dequant(), dequantize_coefficients(), dither_color(), dmix_scale_c(), dnxhd_decode_dct_block(), do_colorkey_pixel(), do_hsvhold16_slice(), do_hsvhold_slice(), do_hsvkey_pixel(), dot_dsp(), draw_mandelbrot(), dump_curves(), dwa_uncompress(), dxva2_hevc_end_frame(), encode_dcs(), encode_init(), equ_init(), estimate_best_b_count(), estimate_dcs(), exposure_slice(), extrapolate_isf(), ff_celt_bitalloc(), ff_dca_core_dequantize(), ff_dca_downmix_to_stereo_float(), ff_h263_encode_mb(), ff_hevc_hls_residual_coding(), ff_mdct15_init(), ff_mdct_init(), ff_mpeg4_pred_dc(), ff_msmpeg4_pred_dc(), ff_mss34_gen_quant_mat(), ff_opus_rc_dec_cdf(), ff_opus_rc_dec_laplace(), ff_opus_rc_dec_log(), ff_opus_rc_dec_uint(), ff_opus_rc_dec_uint_step(), ff_opus_rc_dec_uint_tri(), ff_print_debug_info2(), ff_set_fixed_vector(), ff_snow_pred_block(), ff_tx_fft_pfa_init(), ff_tx_fft_sr_init(), ff_tx_init_subtx(), ff_tx_mdct_inv_full_init(), ff_tx_mdct_naive_fwd(), ff_tx_mdct_naive_init(), ff_tx_mdct_naive_inv(), ff_tx_mdct_pfa_init(), ff_tx_mdct_sr_init(), ff_tx_rdft_init(), fill_from_cache(), filter16_kirsch(), filter16_prewitt(), filter16_roberts(), filter16_scharr(), filter16_sobel(), filter_channel(), filter_dbl(), filter_flt(), filter_frame_ref(), filter_kirsch(), filter_prewitt(), filter_rgb24(), filter_rgb48(), filter_rgba(), filter_rgba64(), filter_roberts(), filter_scharr(), filter_sobel(), filterfn(), fir_to_phase(), fits_decode_frame(), float_to_fixed24_c(), formant_postfilter(), FUNC(), gain_dequantization(), gather_input(), generate(), get_component(), get_dc(), get_fcb_param(), get_input(), get_input_packet(), get_iscale(), get_output(), get_scale(), get_xoutput(), get_zeropadded_input(), h263_pred_acdc(), hexfloat(), iac_generate_tabs(), import_block(), import_row16(), import_row8(), init_decoder(), init_dict(), init_sample_rate(), interpolate(), irdft_horizontal16(), irdft_horizontal8(), lin_calc(), load_data(), main(), make_lpf(), mcdc(), mdct_init(), mkv_write_chapters(), model256_update(), model2_update(), model_update(), mp_decode_layer2(), multiply(), multiply_slice(), noise_scale(), normalize(), nppscale_eval_dimensions(), nppscale_filter_frame_ref(), nppscale_init(), nppscale_parse_expr(), nppscale_scale(), on2avc_decode_band_scales(), on2avc_scale(), opus_rc_dec_update(), parse_3dl(), parse_dmix_coeffs(), parse_gradient(), parse_m3d(), parse_mantissas(), parse_points_str(), parse_subframe_audio(), parse_value(), parse_x96_subframe_audio(), parse_xbr_subframe(), pnm_decode_frame(), postProcess_TMPL(), pred_mv(), pred_temp_direct_motion(), predictor(), prescale_down_mix(), print_report(), process_command(), qdmc_decode_init(), quantize_lpc_coefs(), read_diff_float_data(), read_quant_table(), read_words(), remap_opencl_load(), rgb_to_xy(), run_psnr(), sb_decode(), scale_down_mix(), scale_eval_dimensions(), scale_field(), scale_frame(), scale_magnitudes(), scale_mat(), scale_parse_expr(), scaling_list(), search_for_pns(), signal_mul(), silk_decode_frame(), siren_init(), spectral_centroid(), spectral_kurtosis(), spectral_rolloff(), spectral_skewness(), spectral_spread(), speex_decode_frame(), sub_qmf32_float_c(), sub_qmf64_float_c(), subband_scale(), subtract_mean_predictor(), swri_dither_init(), swri_get_dither(), synth_filter_float(), synth_filter_float_64(), synth_grain_8x8_c(), synth_percept_filter(), to_linear(), try_8x8basis_c(), try_8x8basis_TMPL(), uninit(), unpack(), vc1_decode_i_block(), vc1_decode_i_block_adv(), vc1_decode_intra_block(), vc1_decode_p_block(), vc1_i_pred_dc(), vibrance_slice16(), vibrance_slice16p(), vibrance_slice8(), vibrance_slice8p(), VMUL2(), VMUL2S(), VMUL4(), VMUL4S(), w_c(), write_words(), X264_init(), xy_to_upvp(), xy_to_uv(), xyz_to_ball(), xyz_to_barrel(), xyz_to_cylindrical(), xyz_to_cylindricalea(), xyz_to_dfisheye(), xyz_to_equirect(), xyz_to_equisolid(), xyz_to_fisheye(), xyz_to_flat(), xyz_to_hequirect(), xyz_to_mercator(), xyz_to_octahedron(), xyz_to_orthographic(), xyz_to_pannini(), xyz_to_sinusoidal(), xyz_to_stereographic(), and yae_reset().
|
static |
Definition at line 1394 of file vf_v360.c.
Referenced by ball_to_xyz(), barrel_to_xyz(), cube1x6_to_xyz(), cube3x2_to_xyz(), cube6x1_to_xyz(), cylindrical_to_xyz(), cylindricalea_to_xyz(), dfisheye_to_xyz(), equirect_to_xyz(), equisolid_to_xyz(), fisheye_to_xyz(), flat_to_xyz(), hammer_to_xyz(), hequirect_to_xyz(), mercator_to_xyz(), octahedron_to_xyz(), orthographic_to_xyz(), pannini_to_xyz(), perspective_to_xyz(), sinusoidal_to_xyz(), and stereographic_to_xyz().
|
static |
Calculate 3D coordinates on sphere for corresponding frame position in cubemap3x2 format.
s | filter private context |
i | horizontal position on frame [0, width) |
j | vertical position on frame [0, height) |
width | frame width |
height | frame height |
vec | coordinates on sphere |
Definition at line 1409 of file vf_v360.c.
Referenced by config_output().
|
static |
Calculate frame position in cubemap3x2 format for corresponding 3D coordinates on sphere.
s | filter private context |
vec | coordinates on sphere |
width | frame width |
height | frame height |
us | horizontal coordinates for interpolation window |
vs | vertical coordinates for interpolation window |
du | horizontal relative coordinate |
dv | vertical relative coordinate |
Definition at line 1448 of file vf_v360.c.
Referenced by config_output().
|
static |
Calculate 3D coordinates on sphere for corresponding frame position in cubemap1x6 format.
s | filter private context |
i | horizontal position on frame [0, width) |
j | vertical position on frame [0, height) |
width | frame width |
height | frame height |
vec | coordinates on sphere |
Definition at line 1537 of file vf_v360.c.
Referenced by config_output().
|
static |
Calculate 3D coordinates on sphere for corresponding frame position in cubemap6x1 format.
s | filter private context |
i | horizontal position on frame [0, width) |
j | vertical position on frame [0, height) |
width | frame width |
height | frame height |
vec | coordinates on sphere |
Definition at line 1570 of file vf_v360.c.
Referenced by config_output().
|
static |
Calculate frame position in cubemap1x6 format for corresponding 3D coordinates on sphere.
s | filter private context |
vec | coordinates on sphere |
width | frame width |
height | frame height |
us | horizontal coordinates for interpolation window |
vs | vertical coordinates for interpolation window |
du | horizontal relative coordinate |
dv | vertical relative coordinate |
Definition at line 1605 of file vf_v360.c.
Referenced by config_output().
|
static |
Calculate frame position in cubemap6x1 format for corresponding 3D coordinates on sphere.
s | filter private context |
vec | coordinates on sphere |
width | frame width |
height | frame height |
us | horizontal coordinates for interpolation window |
vs | vertical coordinates for interpolation window |
du | horizontal relative coordinate |
dv | vertical relative coordinate |
Definition at line 1685 of file vf_v360.c.
Referenced by config_output().
|
static |
Prepare data for processing equirectangular output format.
ctx | filter context |
Definition at line 1760 of file vf_v360.c.
Referenced by config_output().
|
static |
Calculate 3D coordinates on sphere for corresponding frame position in equirectangular format.
s | filter private context |
i | horizontal position on frame [0, width) |
j | vertical position on frame [0, height) |
width | frame width |
height | frame height |
vec | coordinates on sphere |
Definition at line 1780 of file vf_v360.c.
Referenced by config_output().
|
static |
Calculate 3D coordinates on sphere for corresponding frame position in half equirectangular format.
s | filter private context |
i | horizontal position on frame [0, width) |
j | vertical position on frame [0, height) |
width | frame width |
height | frame height |
vec | coordinates on sphere |
Definition at line 1809 of file vf_v360.c.
Referenced by config_output().
|
static |
Prepare data for processing stereographic output format.
ctx | filter context |
Definition at line 1835 of file vf_v360.c.
Referenced by config_output().
|
static |
Calculate 3D coordinates on sphere for corresponding frame position in stereographic format.
s | filter private context |
i | horizontal position on frame [0, width) |
j | vertical position on frame [0, height) |
width | frame width |
height | frame height |
vec | coordinates on sphere |
Definition at line 1855 of file vf_v360.c.
Referenced by config_output().
|
static |
Prepare data for processing stereographic input format.
ctx | filter context |
Definition at line 1879 of file vf_v360.c.
Referenced by config_output().
|
static |
Calculate frame position in stereographic format for corresponding 3D coordinates on sphere.
s | filter private context |
vec | coordinates on sphere |
width | frame width |
height | frame height |
us | horizontal coordinates for interpolation window |
vs | vertical coordinates for interpolation window |
du | horizontal relative coordinate |
dv | vertical relative coordinate |
Definition at line 1901 of file vf_v360.c.
Referenced by config_output().
|
static |
Prepare data for processing equisolid output format.
ctx | filter context |
Definition at line 1939 of file vf_v360.c.
Referenced by config_output().
|
static |
Calculate 3D coordinates on sphere for corresponding frame position in equisolid format.
s | filter private context |
i | horizontal position on frame [0, width) |
j | vertical position on frame [0, height) |
width | frame width |
height | frame height |
vec | coordinates on sphere |
Definition at line 1959 of file vf_v360.c.
Referenced by config_output().
|
static |
Prepare data for processing equisolid input format.
ctx | filter context |
Definition at line 1983 of file vf_v360.c.
Referenced by config_output().
|
static |
Calculate frame position in equisolid format for corresponding 3D coordinates on sphere.
s | filter private context |
vec | coordinates on sphere |
width | frame width |
height | frame height |
us | horizontal coordinates for interpolation window |
vs | vertical coordinates for interpolation window |
du | horizontal relative coordinate |
dv | vertical relative coordinate |
Definition at line 2005 of file vf_v360.c.
Referenced by config_output().
|
static |
Prepare data for processing orthographic output format.
ctx | filter context |
Definition at line 2043 of file vf_v360.c.
Referenced by config_output().
|
static |
Calculate 3D coordinates on sphere for corresponding frame position in orthographic format.
s | filter private context |
i | horizontal position on frame [0, width) |
j | vertical position on frame [0, height) |
width | frame width |
height | frame height |
vec | coordinates on sphere |
Definition at line 2063 of file vf_v360.c.
Referenced by config_output().
|
static |
Prepare data for processing orthographic input format.
ctx | filter context |
Definition at line 2094 of file vf_v360.c.
Referenced by config_output().
|
static |
Calculate frame position in orthographic format for corresponding 3D coordinates on sphere.
s | filter private context |
vec | coordinates on sphere |
width | frame width |
height | frame height |
us | horizontal coordinates for interpolation window |
vs | vertical coordinates for interpolation window |
du | horizontal relative coordinate |
dv | vertical relative coordinate |
Definition at line 2116 of file vf_v360.c.
Referenced by config_output().
|
static |
Prepare data for processing equirectangular input format.
ctx | filter context |
Definition at line 2154 of file vf_v360.c.
Referenced by config_output().
|
static |
Calculate frame position in equirectangular format for corresponding 3D coordinates on sphere.
s | filter private context |
vec | coordinates on sphere |
width | frame width |
height | frame height |
us | horizontal coordinates for interpolation window |
vs | vertical coordinates for interpolation window |
du | horizontal relative coordinate |
dv | vertical relative coordinate |
Definition at line 2176 of file vf_v360.c.
Referenced by config_output().
|
static |
Calculate frame position in half equirectangular format for corresponding 3D coordinates on sphere.
s | filter private context |
vec | coordinates on sphere |
width | frame width |
height | frame height |
us | horizontal coordinates for interpolation window |
vs | vertical coordinates for interpolation window |
du | horizontal relative coordinate |
dv | vertical relative coordinate |
Definition at line 2217 of file vf_v360.c.
Referenced by config_output().
|
static |
Prepare data for processing flat input format.
ctx | filter context |
Definition at line 2252 of file vf_v360.c.
Referenced by config_output().
|
static |
Calculate frame position in flat format for corresponding 3D coordinates on sphere.
s | filter private context |
vec | coordinates on sphere |
width | frame width |
height | frame height |
us | horizontal coordinates for interpolation window |
vs | vertical coordinates for interpolation window |
du | horizontal relative coordinate |
dv | vertical relative coordinate |
Definition at line 2274 of file vf_v360.c.
Referenced by config_output().
|
static |
Calculate frame position in mercator format for corresponding 3D coordinates on sphere.
s | filter private context |
vec | coordinates on sphere |
width | frame width |
height | frame height |
us | horizontal coordinates for interpolation window |
vs | vertical coordinates for interpolation window |
du | horizontal relative coordinate |
dv | vertical relative coordinate |
Definition at line 2321 of file vf_v360.c.
Referenced by config_output().
|
static |
Calculate 3D coordinates on sphere for corresponding frame position in mercator format.
s | filter private context |
i | horizontal position on frame [0, width) |
j | vertical position on frame [0, height) |
width | frame width |
height | frame height |
vec | coordinates on sphere |
Definition at line 2357 of file vf_v360.c.
Referenced by config_output().
|
static |
Calculate frame position in ball format for corresponding 3D coordinates on sphere.
s | filter private context |
vec | coordinates on sphere |
width | frame width |
height | frame height |
us | horizontal coordinates for interpolation window |
vs | vertical coordinates for interpolation window |
du | horizontal relative coordinate |
dv | vertical relative coordinate |
Definition at line 2389 of file vf_v360.c.
Referenced by config_output().
|
static |
Calculate 3D coordinates on sphere for corresponding frame position in ball format.
s | filter private context |
i | horizontal position on frame [0, width) |
j | vertical position on frame [0, height) |
width | frame width |
height | frame height |
vec | coordinates on sphere |
Definition at line 2426 of file vf_v360.c.
Referenced by config_output().
|
static |
Calculate 3D coordinates on sphere for corresponding frame position in hammer format.
s | filter private context |
i | horizontal position on frame [0, width) |
j | vertical position on frame [0, height) |
width | frame width |
height | frame height |
vec | coordinates on sphere |
Definition at line 2460 of file vf_v360.c.
Referenced by config_output().
|
static |
Calculate frame position in hammer format for corresponding 3D coordinates on sphere.
s | filter private context |
vec | coordinates on sphere |
width | frame width |
height | frame height |
us | horizontal coordinates for interpolation window |
vs | vertical coordinates for interpolation window |
du | horizontal relative coordinate |
dv | vertical relative coordinate |
Definition at line 2499 of file vf_v360.c.
Referenced by config_output().
|
static |
Calculate 3D coordinates on sphere for corresponding frame position in sinusoidal format.
s | filter private context |
i | horizontal position on frame [0, width) |
j | vertical position on frame [0, height) |
width | frame width |
height | frame height |
vec | coordinates on sphere |
Definition at line 2538 of file vf_v360.c.
Referenced by config_output().
|
static |
Calculate frame position in sinusoidal format for corresponding 3D coordinates on sphere.
s | filter private context |
vec | coordinates on sphere |
width | frame width |
height | frame height |
us | horizontal coordinates for interpolation window |
vs | vertical coordinates for interpolation window |
du | horizontal relative coordinate |
dv | vertical relative coordinate |
Definition at line 2569 of file vf_v360.c.
Referenced by config_output().
|
static |
Prepare data for processing equi-angular cubemap input format.
ctx | filter context |
Definition at line 2602 of file vf_v360.c.
Referenced by config_output().
|
static |
Prepare data for processing equi-angular cubemap output format.
ctx | filter context |
Definition at line 2630 of file vf_v360.c.
Referenced by config_output().
|
static |
Calculate 3D coordinates on sphere for corresponding frame position in equi-angular cubemap format.
s | filter private context |
i | horizontal position on frame [0, width) |
j | vertical position on frame [0, height) |
width | frame width |
height | frame height |
vec | coordinates on sphere |
Definition at line 2661 of file vf_v360.c.
Referenced by config_output().
|
static |
Calculate frame position in equi-angular cubemap format for corresponding 3D coordinates on sphere.
s | filter private context |
vec | coordinates on sphere |
width | frame width |
height | frame height |
us | horizontal coordinates for interpolation window |
vs | vertical coordinates for interpolation window |
du | horizontal relative coordinate |
dv | vertical relative coordinate |
Definition at line 2764 of file vf_v360.c.
Referenced by config_output().
|
static |
Prepare data for processing flat output format.
ctx | filter context |
Definition at line 2819 of file vf_v360.c.
Referenced by config_output().
|
static |
Calculate 3D coordinates on sphere for corresponding frame position in flat format.
s | filter private context |
i | horizontal position on frame [0, width) |
j | vertical position on frame [0, height) |
width | frame width |
height | frame height |
vec | coordinates on sphere |
Definition at line 2839 of file vf_v360.c.
Referenced by config_output().
|
static |
Prepare data for processing fisheye output format.
ctx | filter context |
Definition at line 2860 of file vf_v360.c.
Referenced by config_output().
|
static |
Calculate 3D coordinates on sphere for corresponding frame position in fisheye format.
s | filter private context |
i | horizontal position on frame [0, width) |
j | vertical position on frame [0, height) |
width | frame width |
height | frame height |
vec | coordinates on sphere |
Definition at line 2880 of file vf_v360.c.
Referenced by config_output().
|
static |
Prepare data for processing fisheye input format.
ctx | filter context |
Definition at line 2909 of file vf_v360.c.
Referenced by config_output().
|
static |
Calculate frame position in fisheye format for corresponding 3D coordinates on sphere.
s | filter private context |
vec | coordinates on sphere |
width | frame width |
height | frame height |
us | horizontal coordinates for interpolation window |
vs | vertical coordinates for interpolation window |
du | horizontal relative coordinate |
dv | vertical relative coordinate |
Definition at line 2931 of file vf_v360.c.
Referenced by config_output().
|
static |
Calculate 3D coordinates on sphere for corresponding frame position in pannini format.
s | filter private context |
i | horizontal position on frame [0, width) |
j | vertical position on frame [0, height) |
width | frame width |
height | frame height |
vec | coordinates on sphere |
Definition at line 2974 of file vf_v360.c.
Referenced by config_output().
|
static |
Calculate frame position in pannini format for corresponding 3D coordinates on sphere.
s | filter private context |
vec | coordinates on sphere |
width | frame width |
height | frame height |
us | horizontal coordinates for interpolation window |
vs | vertical coordinates for interpolation window |
du | horizontal relative coordinate |
dv | vertical relative coordinate |
Definition at line 3008 of file vf_v360.c.
Referenced by config_output().
|
static |
Prepare data for processing cylindrical output format.
ctx | filter context |
Definition at line 3049 of file vf_v360.c.
Referenced by config_output().
|
static |
Calculate 3D coordinates on sphere for corresponding frame position in cylindrical format.
s | filter private context |
i | horizontal position on frame [0, width) |
j | vertical position on frame [0, height) |
width | frame width |
height | frame height |
vec | coordinates on sphere |
Definition at line 3069 of file vf_v360.c.
Referenced by config_output().
|
static |
Prepare data for processing cylindrical input format.
ctx | filter context |
Definition at line 3098 of file vf_v360.c.
Referenced by config_output().
|
static |
Calculate frame position in cylindrical format for corresponding 3D coordinates on sphere.
s | filter private context |
vec | coordinates on sphere |
width | frame width |
height | frame height |
us | horizontal coordinates for interpolation window |
vs | vertical coordinates for interpolation window |
du | horizontal relative coordinate |
dv | vertical relative coordinate |
Definition at line 3120 of file vf_v360.c.
Referenced by config_output().
|
static |
Prepare data for processing cylindrical equal area output format.
ctx | filter context |
Definition at line 3157 of file vf_v360.c.
Referenced by config_output().
|
static |
Prepare data for processing cylindrical equal area input format.
ctx | filter context |
Definition at line 3174 of file vf_v360.c.
Referenced by config_output().
|
static |
Calculate 3D coordinates on sphere for corresponding frame position in cylindrical equal area format.
s | filter private context |
i | horizontal position on frame [0, width) |
j | vertical position on frame [0, height) |
width | frame width |
height | frame height |
vec | coordinates on sphere |
Definition at line 3194 of file vf_v360.c.
Referenced by config_output().
|
static |
Calculate frame position in cylindrical equal area format for corresponding 3D coordinates on sphere.
s | filter private context |
vec | coordinates on sphere |
width | frame width |
height | frame height |
us | horizontal coordinates for interpolation window |
vs | vertical coordinates for interpolation window |
du | horizontal relative coordinate |
dv | vertical relative coordinate |
Definition at line 3228 of file vf_v360.c.
Referenced by config_output().
|
static |
Calculate 3D coordinates on sphere for corresponding frame position in perspective format.
s | filter private context |
i | horizontal position on frame [0, width) |
j | vertical position on frame [0, height) |
width | frame width |
height | frame height |
vec | coordinates on sphere |
Definition at line 3268 of file vf_v360.c.
Referenced by config_output().
|
static |
Calculate 3D coordinates on sphere for corresponding frame position in tetrahedron format.
s | filter private context |
i | horizontal position on frame [0, width) |
j | vertical position on frame [0, height) |
width | frame width |
height | frame height |
vec | coordinates on sphere |
Definition at line 3314 of file vf_v360.c.
Referenced by config_output().
|
static |
Calculate frame position in tetrahedron format for corresponding 3D coordinates on sphere.
s | filter private context |
vec | coordinates on sphere |
width | frame width |
height | frame height |
us | horizontal coordinates for interpolation window |
vs | vertical coordinates for interpolation window |
du | horizontal relative coordinate |
dv | vertical relative coordinate |
Definition at line 3340 of file vf_v360.c.
Referenced by config_output().
|
static |
Prepare data for processing double fisheye input format.
ctx | filter context |
Definition at line 3392 of file vf_v360.c.
Referenced by config_output().
|
static |
Calculate 3D coordinates on sphere for corresponding frame position in dual fisheye format.
s | filter private context |
i | horizontal position on frame [0, width) |
j | vertical position on frame [0, height) |
width | frame width |
height | frame height |
vec | coordinates on sphere |
Definition at line 3412 of file vf_v360.c.
Referenced by config_output().
|
static |
Calculate frame position in dual fisheye format for corresponding 3D coordinates on sphere.
s | filter private context |
vec | coordinates on sphere |
width | frame width |
height | frame height |
us | horizontal coordinates for interpolation window |
vs | vertical coordinates for interpolation window |
du | horizontal relative coordinate |
dv | vertical relative coordinate |
Definition at line 3451 of file vf_v360.c.
Referenced by config_output().
|
static |
Calculate 3D coordinates on sphere for corresponding frame position in barrel facebook's format.
s | filter private context |
i | horizontal position on frame [0, width) |
j | vertical position on frame [0, height) |
width | frame width |
height | frame height |
vec | coordinates on sphere |
Definition at line 3501 of file vf_v360.c.
Referenced by config_output().
|
static |
Calculate frame position in barrel facebook's format for corresponding 3D coordinates on sphere.
s | filter private context |
vec | coordinates on sphere |
width | frame width |
height | frame height |
us | horizontal coordinates for interpolation window |
vs | vertical coordinates for interpolation window |
du | horizontal relative coordinate |
dv | vertical relative coordinate |
Definition at line 3573 of file vf_v360.c.
Referenced by config_output().
|
static |
Calculate frame position in barrel split facebook's format for corresponding 3D coordinates on sphere.
s | filter private context |
vec | coordinates on sphere |
width | frame width |
height | frame height |
us | horizontal coordinates for interpolation window |
vs | vertical coordinates for interpolation window |
du | horizontal relative coordinate |
dv | vertical relative coordinate |
Definition at line 3645 of file vf_v360.c.
Referenced by config_output().
|
static |
Calculate 3D coordinates on sphere for corresponding frame position in barrel split facebook's format.
s | filter private context |
i | horizontal position on frame [0, width) |
j | vertical position on frame [0, height) |
width | frame width |
height | frame height |
vec | coordinates on sphere |
Definition at line 3741 of file vf_v360.c.
Referenced by config_output().
|
static |
Calculate 3D coordinates on sphere for corresponding frame position in tspyramid format.
s | filter private context |
i | horizontal position on frame [0, width) |
j | vertical position on frame [0, height) |
width | frame width |
height | frame height |
vec | coordinates on sphere |
Definition at line 3814 of file vf_v360.c.
Referenced by config_output().
|
static |
Calculate frame position in tspyramid format for corresponding 3D coordinates on sphere.
s | filter private context |
vec | coordinates on sphere |
width | frame width |
height | frame height |
us | horizontal coordinates for interpolation window |
vs | vertical coordinates for interpolation window |
du | horizontal relative coordinate |
dv | vertical relative coordinate |
Definition at line 3872 of file vf_v360.c.
Referenced by config_output().
|
static |
Calculate 3D coordinates on sphere for corresponding frame position in octahedron format.
s | filter private context |
i | horizontal position on frame [0, width) |
j | vertical position on frame [0, height) |
width | frame width |
height | frame height |
vec | coordinates on sphere |
Definition at line 3940 of file vf_v360.c.
Referenced by config_output().
|
static |
Calculate frame position in octahedron format for corresponding 3D coordinates on sphere.
s | filter private context |
vec | coordinates on sphere |
width | frame width |
height | frame height |
us | horizontal coordinates for interpolation window |
vs | vertical coordinates for interpolation window |
du | horizontal relative coordinate |
dv | vertical relative coordinate |
Definition at line 3973 of file vf_v360.c.
Referenced by config_output().
Definition at line 4010 of file vf_v360.c.
Referenced by calculate_rotation(), and rotate().
Definition at line 4018 of file vf_v360.c.
Referenced by calculate_rotation().
|
inlinestatic |
Calculate rotation quaternion for yaw/pitch/roll angles.
Definition at line 4029 of file vf_v360.c.
Referenced by config_output().
Rotate vector with given rotation quaternion.
rot_quaternion | rotation quaternion |
vec | vector |
Definition at line 4064 of file vf_v360.c.
Referenced by hq3x_interp_2x1(), and v360_slice().
|
inlinestatic |
Definition at line 4082 of file vf_v360.c.
Referenced by config_output().
Definition at line 4090 of file vf_v360.c.
Referenced by acolor(), acolor16(), chroma(), chroma16(), color(), color16(), flat(), flat16(), lowpass(), lowpass16(), and v360_slice().
|
inlinestatic |
Definition at line 4097 of file vf_v360.c.
Referenced by v360_slice().
|
static |
Definition at line 4114 of file vf_v360.c.
Referenced by config_output().
|
static |
Definition at line 4148 of file vf_v360.c.
Referenced by config_output().
|
static |
Definition at line 4221 of file vf_v360.c.
Referenced by config_output().
|
static |
Definition at line 4230 of file vf_v360.c.
Referenced by config_output().
|
static |
Definition at line 4291 of file vf_v360.c.
Referenced by process_command().
|
static |
|
static |
Definition at line 4920 of file vf_v360.c.
Referenced by init(), and process_command().
|
static |
|
static |
|
static |
|
static |
|
static |
const AVFilter ff_vf_v360 |