FFmpeg
Main Page
Related Pages
Modules
Namespaces
Namespace List
Namespace Members
All
Functions
Variables
Data Structures
Data Structures
Data Structure Index
Class Hierarchy
Data Fields
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
_
a
c
d
g
i
o
q
r
s
v
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Enumerations
Enumerator
a
d
e
f
i
j
l
m
n
p
r
s
v
Files
File List
Globals
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
l
m
o
p
q
r
s
t
u
v
w
x
y
Enumerations
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Macros
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Examples
•
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Modules
Pages
libavutil
tests
display.c
Go to the documentation of this file.
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
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
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
}
av_display_matrix_flip
void av_display_matrix_flip(int32_t matrix[9], int hflip, int vflip)
Flip the input matrix horizontally and/or vertically.
Definition:
display.c:65
av_display_rotation_set
void av_display_rotation_set(int32_t matrix[9], double angle)
Initialize a transformation matrix describing a pure clockwise rotation by the specified angle (in de...
Definition:
display.c:50
print_matrix
static void print_matrix(int32_t matrix[9])
Definition:
display.c:23
printf
printf("static const uint8_t my_array[100] = {\n")
display.c
i
#define i(width, name, range_min, range_max)
Definition:
cbs_h2645.c:271
main
int main(void)
Definition:
display.c:35
int32_t
int32_t
Definition:
audioconvert.c:56
av_display_rotation_get
double av_display_rotation_get(const int32_t matrix[9])
Extract the rotation component of the transformation matrix.
Definition:
display.c:34
Generated on Wed Aug 24 2022 21:38:29 for FFmpeg by
1.8.17