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>
This commit is contained in:
parent
2aebdfb451
commit
124526ba1a
@ -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)
|
|||||||
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 @@
|
|||||||
#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
|
|||||||
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
|
||||||
|
16
tests/ref/fate/display
Normal file
16
tests/ref/fate/display
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
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
|
Loading…
x
Reference in New Issue
Block a user