FFmpeg
|
Functions | |
double | av_display_rotation_get (const int32_t matrix[9]) |
Extract the rotation component of the transformation matrix. More... | |
void | av_display_rotation_set (int32_t matrix[9], double angle) |
Initialize a transformation matrix describing a pure clockwise rotation by the specified angle (in degrees). More... | |
void | av_display_matrix_flip (int32_t matrix[9], int hflip, int vflip) |
Flip the input matrix horizontally and/or vertically. More... | |
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] | ) |
Extract the rotation component of the transformation matrix.
matrix | the transformation matrix |
Definition at line 34 of file display.c.
Referenced by dump_sidedata(), filter_frame(), get_rotation(), main(), print_pkt_side_data(), and show_frame().
void av_display_rotation_set | ( | int32_t | matrix[9], |
double | angle | ||
) |
Initialize a transformation matrix describing a pure clockwise rotation by the specified angle (in degrees).
matrix | an allocated transformation matrix (will be fully overwritten by this function) |
angle | rotation angle in degrees. |
Definition at line 50 of file display.c.
Referenced by add_display_matrix(), cri_decode_frame(), ff_mjpeg_receive_frame(), h264_export_frame_props(), h264_metadata_handle_display_orientation(), init_output_stream(), init_output_stream_streamcopy(), main(), and set_side_data().
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 |
Definition at line 65 of file display.c.
Referenced by add_display_matrix(), cri_decode_frame(), ff_mjpeg_receive_frame(), h264_export_frame_props(), h264_metadata_handle_display_orientation(), main(), and set_side_data().