Browse Source

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>
tags/n3.1
Petru Rares Sincraian Michael Niedermayer 9 years ago
parent
commit
124526ba1a
5 changed files with 65 additions and 0 deletions
  1. +1
    -0
      libavutil/Makefile
  2. +43
    -0
      libavutil/display.c
  3. +1
    -0
      libavutil/display.h
  4. +4
    -0
      tests/fate/libavutil.mak
  5. +16
    -0
      tests/ref/fate/display

+ 1
- 0
libavutil/Makefile View File

@@ -181,6 +181,7 @@ TESTPROGS = adler32 \
crc \
des \
dict \
display \
error \
eval \
file \


+ 43
- 0
libavutil/display.c View 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

+ 1
- 0
libavutil/display.h View File

@@ -22,6 +22,7 @@
#define AVUTIL_DISPLAY_H

#include <stdint.h>
#include "common.h"

/**
* The display transformation matrix specifies an affine transformation that


+ 4
- 0
tests/fate/libavutil.mak View File

@@ -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
- 0
tests/ref/fate/display View 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…
Cancel
Save