-
Notifications
You must be signed in to change notification settings - Fork 9
Expand file tree
/
Copy pathtest_filtergraph_convert.py
More file actions
105 lines (91 loc) · 2.92 KB
/
Copy pathtest_filtergraph_convert.py
File metadata and controls
105 lines (91 loc) · 2.92 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
import pytest
from ffmpegio import filtergraph as fgb
@pytest.mark.parametrize("filter_spec", ["scale", fgb.scale()])
def test_as_filter(filter_spec):
assert isinstance(fgb.as_filter(filter_spec), fgb.Filter)
@pytest.mark.parametrize(
"filter_spec,copy",
[
("scale,fps", True),
(fgb.Chain("scale,fps"), False),
(fgb.Chain("scale,fps"), True),
],
)
def test_as_filterchain(filter_spec, copy):
obj = fgb.as_filterchain(filter_spec, copy)
assert isinstance(obj, fgb.Chain)
if copy:
assert id(obj) != id(filter_spec)
else:
assert id(obj) == id(filter_spec)
@pytest.mark.parametrize(
"filter_spec,copy",
[
("scale,fps", True),
(fgb.Graph("scale,fps"), False),
(fgb.Graph("scale,fps"), True),
],
)
def test_as_filtergraph(filter_spec, copy):
obj = fgb.as_filtergraph(filter_spec, copy)
assert isinstance(obj, fgb.Graph)
if copy:
assert id(obj) != id(filter_spec)
else:
assert id(obj) == id(filter_spec)
@pytest.mark.parametrize(
"filter_spec,copy,res",
[
("", True, fgb.Chain),
("scale", True, fgb.Filter),
("scale,fps", True, fgb.Chain),
("scale;fps", True, fgb.Graph),
(fgb.scale(), False, fgb.Filter),
(fgb.Chain("scale,fps"), False, fgb.Chain),
(fgb.Graph("scale,fps"), False, fgb.Graph),
(fgb.Graph("scale,fps"), True, fgb.Graph),
],
)
def test_as_filtergraph_object(filter_spec, copy, res):
obj = fgb.as_filtergraph_object(filter_spec, copy)
assert isinstance(obj, res)
if copy:
assert id(obj) != id(filter_spec)
else:
assert id(obj) == id(filter_spec)
@pytest.mark.parametrize(
"filter_spec,like,copy",
[
(fgb.Chain("scale,fps"), fgb.Chain("scale,fps"), False),
(fgb.Chain("scale,fps"), fgb.Chain("scale,fps"), True),
(fgb.Chain("scale,fps"), fgb.Graph("scale,fps"), True),
],
)
def test_as_filtergraph_object_like(filter_spec, like, copy):
obj = fgb.as_filtergraph_object_like(filter_spec, like, copy)
assert isinstance(obj, type(like))
if copy:
assert id(obj) != id(filter_spec)
else:
assert id(obj) == id(filter_spec)
@pytest.mark.parametrize(
"filter_spec,copy,res",
[
("scale", True, fgb.Chain),
("[in]scale[out]", True, fgb.Graph),
("sws_flags=linear;scale", True, fgb.Graph),
("scale;fps", True, fgb.Graph),
(fgb.scale(), True, fgb.Chain),
(fgb.Chain("scale,fps"), False, fgb.Chain),
(fgb.Chain("scale,fps"), True, fgb.Chain),
(fgb.Graph("scale,fps"), False, fgb.Graph),
(fgb.Graph("scale,fps"), True, fgb.Graph),
],
)
def test_atleast_filterchain(filter_spec, copy, res):
obj = fgb.atleast_filterchain(filter_spec, copy)
assert isinstance(obj, res)
if copy:
assert id(obj) != id(filter_spec)
else:
assert id(obj) == id(filter_spec)