1 /*
2 * Copyright (c) 2014 Vittorio Giovara <vittorio.giovara@gmail.com>
3 *
4 * This file is part of FFmpeg.
5 *
6 * FFmpeg is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
10 *
11 * FFmpeg is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
15 *
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with FFmpeg; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19 */
20
21 #include "libavutil/display.c"
22
print_matrix(int32_t matrix[9])23 static void print_matrix(int32_t matrix[9])
24 {
25 int i, j;
26
27 for (i = 0; i < 3; ++i) {
28 for (j = 0; j < 3 - 1; ++j)
29 printf("%d ", matrix[i*3 + j]);
30
31 printf("%d\n", matrix[i*3 + j]);
32 }
33 }
34
main(void)35 int main(void)
36 {
37 int32_t matrix[9];
38
39 // Set the matrix to 90 degrees
40 av_display_rotation_set(matrix, 90);
41 print_matrix(matrix);
42 printf("degrees: %f\n", av_display_rotation_get(matrix));
43
44 // Set the matrix to -45 degrees
45 av_display_rotation_set(matrix, -45);
46 print_matrix(matrix);
47 printf("degrees: %f\n", av_display_rotation_get(matrix));
48
49 // flip horizontal
50 av_display_matrix_flip(matrix, 1, 0);
51 print_matrix(matrix);
52 printf("degrees: %f\n", av_display_rotation_get(matrix));
53
54 // flip vertical
55 av_display_matrix_flip(matrix, 0, 1);
56 print_matrix(matrix);
57 printf("degrees: %f\n", av_display_rotation_get(matrix));
58
59 return 0;
60
61 }
62