Added a selftest to libavutil/display.c
[ffmpeg.git] / libavutil / display.h
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[9]);
 
 /**
- * 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[9]);
  */
 void av_display_rotation_set(int32_t matrix[9], 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[9], int hflip, int vflip);
+
 #endif /* AVUTIL_DISPLAY_H */