-
Notifications
You must be signed in to change notification settings - Fork 9
Expand file tree
/
Copy pathtest_caps.py
More file actions
70 lines (50 loc) · 1.61 KB
/
test_caps.py
File metadata and controls
70 lines (50 loc) · 1.61 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
import pytest
import ffmpegio.caps as caps
from pprint import pprint
def test_all():
filters = caps.filters()
assert "vstack" in filters
caps.bsfilters()
# print(filters)
caps.codecs()
encs = caps.encoders()
decs = caps.decoders()
caps.formats()
caps.devices()
muxes = caps.muxers()
demuxes = caps.demuxers()
caps.protocols()
caps.pix_fmts()
caps.sample_fmts()
caps.layouts()
caps.colors()
@pytest.mark.parametrize("name", caps.demuxers())
def test_demuxer(name):
assert caps.demuxer_info(name) is not None
@pytest.mark.parametrize("name", caps.muxers())
def test_muxer(name):
assert caps.muxer_info(name) is not None
@pytest.mark.parametrize("name", caps.encoders())
def test_encoder(name):
assert caps.encoder_info(name) is not None
@pytest.mark.parametrize("name", caps.decoders())
def test_decoder(name):
assert caps.decoder_info(name) is not None
@pytest.mark.parametrize("name", caps.filters())
def test_filter(name):
info = caps.filter_info(name)
assert isinstance(info, caps.FilterInfo)
for opt in info.options:
assert isinstance(opt, caps.FilterOption)
def test_filter_recall():
assert caps.filter_info("vstack") == caps.filter_info("vstack")
@pytest.mark.parametrize("name", caps.bsfilters())
def test_bsf(name):
assert isinstance(caps.bsfilter_info(name), caps.BSFInfo)
def test_options():
pprint(caps.options(name_only=True))
pprint(caps.options("global"))
pprint(caps.options("video", True))
pprint(caps.options("per-file"))
if __name__ == "__main__":
caps.encoder_info("mpeg1video")