summaryrefslogtreecommitdiff
path: root/libavutil
diff options
context:
space:
mode:
authorPetru Rares Sincraian <psincraian@outlook.com>2016-03-20 09:54:07 +0100
committerMichael Niedermayer <michael@niedermayer.cc>2016-03-22 17:24:55 +0100
commit124526ba1aee5b616b9f6cf2da6b5db85d05711d (patch)
tree7b1582ad638e8c4812330c9ebbde9ce20f2e3a2b /libavutil
parent2aebdfb451bb01165473f9b4d8e6a2c4997e3bf2 (diff)
Added a selftest to libavutil/display.c
- Check if av_display_rotation_get() gets the correct degrees - Check if av_display_rotation_set() sets the correct matrix - Check if av_display_matrix_flip() changes correct the matrix Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Diffstat (limited to 'libavutil')
-rw-r--r--libavutil/Makefile1
-rw-r--r--libavutil/display.c43
-rw-r--r--libavutil/display.h1
3 files changed, 45 insertions, 0 deletions
diff --git a/libavutil/Makefile b/libavutil/Makefile
index 58df75a94e..7a3076fe10 100644
--- a/libavutil/Makefile
+++ b/libavutil/Makefile
@@ -181,6 +181,7 @@ TESTPROGS = adler32 \
crc \
des \
dict \
+ display \
error \
eval \
file \
diff --git a/libavutil/display.c b/libavutil/display.c
index a0076e067b..ceed492756 100644
--- a/libavutil/display.c
+++ b/libavutil/display.c
@@ -71,3 +71,46 @@ void av_display_matrix_flip(int32_t matrix[9], int hflip, int vflip)
for (i = 0; i < 9; i++)
matrix[i] *= flip[i % 3];
}
+
+#ifdef TEST
+
+static void print_matrix(int32_t matrix[9])
+{
+ int i, j;
+
+ for (i = 0; i < 3; ++i) {
+ for (j = 0; j < 3 - 1; ++j)
+ printf("%d ", matrix[i*3 + j]);
+
+ printf("%d\n", matrix[i*3 + j]);
+ }
+}
+
+int main(void)
+{
+ int32_t matrix[9];
+
+ // Set the matrix to 90 degrees
+ av_display_rotation_set(matrix, 90);
+ print_matrix(matrix);
+ printf("degrees: %f\n", av_display_rotation_get(matrix));
+
+ // Set the matrix to -45 degrees
+ av_display_rotation_set(matrix, -45);
+ print_matrix(matrix);
+ printf("degrees: %f\n", av_display_rotation_get(matrix));
+
+ // flip horizontal
+ av_display_matrix_flip(matrix, 1, 0);
+ print_matrix(matrix);
+ printf("degrees: %f\n", av_display_rotation_get(matrix));
+
+ // flip vertical
+ av_display_matrix_flip(matrix, 0, 1);
+ print_matrix(matrix);
+ printf("degrees: %f\n", av_display_rotation_get(matrix));
+
+ return 0;
+
+}
+#endif
diff --git a/libavutil/display.h b/libavutil/display.h
index c0cfee326d..39c15ee6b8 100644
--- a/libavutil/display.h
+++ b/libavutil/display.h
@@ -22,6 +22,7 @@
#define AVUTIL_DISPLAY_H
#include <stdint.h>
+#include "common.h"
/**
* The display transformation matrix specifies an affine transformation that