FFmpeg  2.5.4
Functions
display.h File Reference
#include <stdint.h>

Go to the source code of this file.

Functions

double av_display_rotation_get (const int32_t matrix[9])
 The display transformation matrix specifies an affine transformation that should be applied to video frames for correct presentation. More...
 
void av_display_rotation_set (int32_t matrix[9], double angle)
 Initialize a transformation matrix describing a pure 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...
 

Function Documentation

double av_display_rotation_get ( const int32_t  matrix[9])

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:

                             | a b u |

(a, b, u, c, d, v, x, y, w) -> | c d v | | x y w |

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: | a b u | (p, q, 1) . | c d v | = z * (p', q', 1) | x y w |

The transformation can also be more explicitly written in components as follows: p' = (a * p + c * q + x) / z; q' = (b * p + d * q + y) / z; z = u * p + v * q + w Extract the rotation component of the transformation matrix.

Parameters
matrixthe transformation matrix
Returns
the angle (in degrees) by which the transformation rotates the frame. The angle will be in range [-180.0, 180.0], or NaN if the matrix is singular.
Note
floating point numbers are inherently inexact, so callers are recommended to round the return value to nearest integer before use.
void av_display_rotation_set ( int32_t  matrix[9],
double  angle 
)

Initialize a transformation matrix describing a pure rotation by the specified angle (in degrees).

Parameters
matrixan allocated transformation matrix (will be fully overwritten by this function)
anglerotation angle in degrees.
void av_display_matrix_flip ( int32_t  matrix[9],
int  hflip,
int  vflip 
)

Flip the input matrix horizontally and/or vertically.

Parameters
matrixan allocated transformation matrix
hflipwhether the matrix should be flipped horizontally
vflipwhether the matrix should be flipped vertically