World of Might and Magic
0.2.0
Open reimplementation of Might and Magic 6 7 8 game engine
|
Функции | |
double | av_display_rotation_get (const int32_t matrix[9]) |
void | av_display_rotation_set (int32_t matrix[9], double angle) |
void | av_display_matrix_flip (int32_t matrix[9], int hflip, int vflip) |
The display transformation matrix specifies an affine transformation that should be applied to video frames for correct presentation. It is compatible with the matrices stored in the ISO/IEC 14496-12 container format.
The data is a 3x3 matrix represented as a 9-element array:
All numbers are stored in native endianness, as 16.16 fixed-point values, except for u, v and w, which are stored as 2.30 fixed-point values.
The transformation maps a point (p, q) in the source (pre-transformation) frame to the point (p', q') in the destination (post-transformation) frame as follows:
The transformation can also be more explicitly written in components as follows:
double av_display_rotation_get | ( | const int32_t | matrix[9] | ) |
#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libavutil/display.h>
Extract the rotation component of the transformation matrix.
matrix | the transformation matrix |
#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libavutil/display.h>
Initialize a transformation matrix describing a pure counterclockwise rotation by the specified angle (in degrees).
matrix | an allocated transformation matrix (will be fully overwritten by this function) |
angle | rotation angle in degrees. |
#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libavutil/display.h>
Flip the input matrix horizontally and/or vertically.
matrix | an allocated transformation matrix |
hflip | whether the matrix should be flipped horizontally |
vflip | whether the matrix should be flipped vertically |