|
FFmpeg
|
transform input video More...
Go to the source code of this file.
Macros | |
| #define | INTERPOLATE_METHOD(name) |
| #define | PIXEL(img, x, y, w, h, stride, def) |
Functions | |
| INTERPOLATE_METHOD (interpolate_nearest) | |
| Nearest neighbor interpolation. | |
| INTERPOLATE_METHOD (interpolate_bilinear) | |
| Bilinear interpolation. | |
| INTERPOLATE_METHOD (interpolate_biquadratic) | |
| Biquadratic interpolation. | |
| 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. | |
| void | avfilter_add_matrix (const float *m1, const float *m2, float *result) |
| Add two matrices together. | |
| void | avfilter_sub_matrix (const float *m1, const float *m2, float *result) |
| Subtract one matrix from another. | |
| void | avfilter_mul_matrix (const float *m1, float scalar, float *result) |
| Multiply a matrix by a scalar value. | |
| static int | mirror (int v, int m) |
| int | avfilter_transform (const uint8_t *src, uint8_t *dst, int src_stride, int dst_stride, int width, int height, const float *matrix, enum InterpolateMethod interpolate, enum FillMethod fill) |
| Do an affine transformation with the given interpolation method. | |
transform input video
Definition in file transform.c.
| #define INTERPOLATE_METHOD | ( | name | ) |
Definition at line 36 of file transform.c.
Referenced by INTERPOLATE_METHOD().
| INTERPOLATE_METHOD | ( | interpolate_nearest | ) |
Nearest neighbor interpolation.
Definition at line 44 of file transform.c.
| INTERPOLATE_METHOD | ( | interpolate_bilinear | ) |
Bilinear interpolation.
Definition at line 52 of file transform.c.
| INTERPOLATE_METHOD | ( | interpolate_biquadratic | ) |
Biquadratic interpolation.
Definition at line 79 of file transform.c.
| 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 ]
| 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.
| 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.
| 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.
| m1 | 9-item transformation matrix |
| scalar | a number |
| result | 9-item transformation matrix |
Definition at line 132 of file transform.c.
|
inlinestatic |
Definition at line 139 of file transform.c.
Referenced by avfilter_transform().
| int avfilter_transform | ( | const uint8_t * | src, |
| uint8_t * | dst, | ||
| int | src_stride, | ||
| int | dst_stride, | ||
| int | width, | ||
| int | height, | ||
| const float * | matrix, | ||
| enum InterpolateMethod | interpolate, | ||
| enum FillMethod | fill | ||
| ) |
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.
| 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 |
Definition at line 149 of file transform.c.
Referenced by deshake_transform_c().
1.8.2