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:
Extract the rotation component of the transformation matrix.
Definition at line 35 of file display.c.
Referenced by av_exif_matrix_to_orientation(), dump_sidedata(), filter_frame(), get_rotation(), main(), and print_displaymatrix().
Initialize a transformation matrix describing a pure clockwise rotation by the specified angle (in degrees).
Definition at line 51 of file display.c.
Referenced by add_display_matrix(), add_display_matrix_to_stream(), av_exif_orientation_to_matrix(), cri_decode_frame(), ff_h2645_sei_to_frame(), h264_metadata_handle_display_orientation(), main(), and set_display_matrix_from_item().
Flip the input matrix horizontally and/or vertically.
Definition at line 66 of file display.c.
Referenced by add_display_matrix(), add_display_matrix_to_stream(), av_exif_orientation_to_matrix(), cri_decode_frame(), ff_h2645_sei_to_frame(), h264_metadata_handle_display_orientation(), libjxl_preprocess_stream(), main(), and set_display_matrix_from_item().