transform input video
More...
#include <stdint.h>
Go to the source code of this file.
Macros
Enumerations
Functions
Get an affine transformation matrix from a given translation, rotation, and zoom factor.
Add two matrices together.
Subtract one matrix from another.
Multiply a matrix by a scalar value.
Do an affine transformation with the given interpolation method.
Detailed Description
transform input video
All matrices are defined as a single 9-item block of contiguous memory. For example, the identity matrix would be:
float *matrix = {1, 0, 0,
0, 1, 0,
0, 0, 1};
Definition in file transform.h.
Macro Definition Documentation
Enumeration Type Documentation
- Enumerator:
-
INTERPOLATE_NEAREST
INTERPOLATE_BILINEAR
INTERPOLATE_BIQUADRATIC
INTERPOLATE_COUNT
Definition at line 39 of file transform.h.
- Enumerator:
-
FILL_BLANK
FILL_ORIGINAL
FILL_CLAMP
FILL_MIRROR
FILL_COUNT
Definition at line 51 of file transform.h.
Function Documentation
void avfilter_get_matrix
(
float
x_shift,
float
y_shift,
float
angle,
float
zoom,
float *
matrix
)
Get an affine transformation matrix from a given translation, rotation, and zoom factor.
The matrix will look like:
[ zoom * cos(angle), -sin(angle), x_shift, sin(angle), zoom * cos(angle), y_shift, 0, 0, 1 ]
- Parameters
-
x_shift horizontal translation
y_shift vertical translation
angle rotation in radians
zoom scale percent (1.0 = 100%)
matrix 9-item affine transformation matrix
Definition at line 106 of file transform.c.
Referenced by filter_frame().
void avfilter_add_matrix
(
const float *
m1,
const float *
m2,
float *
result
)
Add two matrices together.
result = m1 + m2.
- Parameters
-
m1 9-item transformation matrix
m2 9-item transformation matrix
result 9-item transformation matrix
Definition at line 118 of file transform.c.
void avfilter_sub_matrix
(
const float *
m1,
const float *
m2,
float *
result
)
Subtract one matrix from another.
result = m1 - m2.
- Parameters
-
m1 9-item transformation matrix
m2 9-item transformation matrix
result 9-item transformation matrix
Definition at line 125 of file transform.c.
void avfilter_mul_matrix
(
const float *
m1,
float
scalar,
float *
result
)
Multiply a matrix by a scalar value.
result = m1 * scalar.
- Parameters
-
m1 9-item transformation matrix
scalar a number
result 9-item transformation matrix
Definition at line 132 of file transform.c.
int avfilter_transform
(
const
uint8_t *
src,
int
src_stride,
int
dst_stride,
int
width,
int
height,
const float *
matrix,
)
Do an affine transformation with the given interpolation method.
This multiplies each vector [x,y,1] by the matrix and then interpolates to get the final value.
- Parameters
-
src source image
dst destination image
src_stride source image line size in bytes
dst_stride destination image line size in bytes
width image width in pixels
height image height in pixels
matrix 9-item affine transformation matrix
interpolate pixel interpolation method
fill edge fill method
- Returns
- negative on error
Definition at line 149 of file transform.c.
Referenced by deshake_transform_c().