mirror of
https://github.com/xenia-project/FFmpeg.git
synced 2024-11-27 21:40:34 +00:00
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 \
|
||||
des \
|
||||
dict \
|
||||
display \
|
||||
error \
|
||||
eval \
|
||||
file \
|
||||
|
@ -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
|
||||
|
@ -22,6 +22,7 @@
|
||||
#define AVUTIL_DISPLAY_H
|
||||
|
||||
#include <stdint.h>
|
||||
#include "common.h"
|
||||
|
||||
/**
|
||||
* 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: 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-random_seed: libavutil/random_seed-test$(EXESUF)
|
||||
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…
Reference in New Issue
Block a user