index 7a338d7..39c15ee 100644 (file)
@@ -22,6 +22,7 @@
#define AVUTIL_DISPLAY_H

#include <stdint.h>
+#include "common.h"

/**
* The display transformation matrix specifies an affine transformation that
@@ -55,9 +56,9 @@
* Extract the rotation component of the transformation matrix.
*
* @param matrix the transformation matrix
- * @return 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.
+ * @return the angle (in degrees) by which the transformation rotates the frame
+ *         counterclockwise. 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.
@@ -65,8 +66,8 @@
double av_display_rotation_get(const int32_t matrix);

/**
- * Initialize a transformation matrix describing a pure rotation by the
- * specified angle (in degrees).
+ * Initialize a transformation matrix describing a pure counterclockwise
+ * rotation by the specified angle (in degrees).
*
* @param matrix an allocated transformation matrix (will be fully overwritten
*               by this function)
@@ -74,4 +75,13 @@ double av_display_rotation_get(const int32_t matrix);
*/
void av_display_rotation_set(int32_t matrix, double angle);

+/**
+ * Flip the input matrix horizontally and/or vertically.
+ *
+ * @param matrix an allocated transformation matrix
+ * @param hflip whether the matrix should be flipped horizontally
+ * @param vflip whether the matrix should be flipped vertically
+ */
+void av_display_matrix_flip(int32_t matrix, int hflip, int vflip);
+
#endif /* AVUTIL_DISPLAY_H */