diff options
author | Petru Rares Sincraian <psincraian@outlook.com> | 2016-03-20 11:54:07 +0300 |
---|---|---|
committer | Michael Niedermayer <michael@niedermayer.cc> | 2016-03-22 19:24:55 +0300 |
commit | 124526ba1aee5b616b9f6cf2da6b5db85d05711d (patch) | |
tree | 7b1582ad638e8c4812330c9ebbde9ce20f2e3a2b /libavutil/display.c | |
parent | 2aebdfb451bb01165473f9b4d8e6a2c4997e3bf2 (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/display.c')
-rw-r--r-- | libavutil/display.c | 43 |
1 files changed, 43 insertions, 0 deletions
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 |