Commit 124526ba authored by Petru Rares Sincraian's avatar Petru Rares Sincraian Committed by Michael Niedermayer

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: 's avatarMichael Niedermayer <michael@niedermayer.cc>
parent 2aebdfb4
...@@ -181,6 +181,7 @@ TESTPROGS = adler32 \ ...@@ -181,6 +181,7 @@ TESTPROGS = adler32 \
crc \ crc \
des \ des \
dict \ dict \
display \
error \ error \
eval \ eval \
file \ file \
......
...@@ -71,3 +71,46 @@ void av_display_matrix_flip(int32_t matrix[9], int hflip, int vflip) ...@@ -71,3 +71,46 @@ void av_display_matrix_flip(int32_t matrix[9], int hflip, int vflip)
for (i = 0; i < 9; i++) for (i = 0; i < 9; i++)
matrix[i] *= flip[i % 3]; 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
...@@ -22,6 +22,7 @@ ...@@ -22,6 +22,7 @@
#define AVUTIL_DISPLAY_H #define AVUTIL_DISPLAY_H
#include <stdint.h> #include <stdint.h>
#include "common.h"
/** /**
* The display transformation matrix specifies an affine transformation that * The display transformation matrix specifies an affine transformation that
......
...@@ -99,6 +99,10 @@ FATE_LIBAVUTIL-$(CONFIG_PIXELUTILS) += fate-pixelutils ...@@ -99,6 +99,10 @@ FATE_LIBAVUTIL-$(CONFIG_PIXELUTILS) += fate-pixelutils
fate-pixelutils: libavutil/pixelutils-test$(EXESUF) fate-pixelutils: libavutil/pixelutils-test$(EXESUF)
fate-pixelutils: CMD = run libavutil/pixelutils-test fate-pixelutils: CMD = run libavutil/pixelutils-test
FATE_LIBAVUTIL += fate-display
fate-display: libavutil/display-test$(EXESUF)
fate-display: CMD = run libavutil/display-test
FATE_LIBAVUTIL += fate-random_seed FATE_LIBAVUTIL += fate-random_seed
fate-random_seed: libavutil/random_seed-test$(EXESUF) fate-random_seed: libavutil/random_seed-test$(EXESUF)
fate-random_seed: CMD = run libavutil/random_seed-test fate-random_seed: CMD = run libavutil/random_seed-test
......
0 65536 0
-65536 0 0
0 0 1073741824
degrees: -90.000000
46340 -46340 0
46340 46340 0
0 0 1073741824
degrees: 45.000000
-46340 -46340 0
-46340 46340 0
0 0 1073741824
degrees: 135.000000
-46340 46340 0
-46340 -46340 0
0 0 1073741824
degrees: -135.000000
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment