caffeinism-utils 0.0.182__tar.gz → 0.0.183__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (17) hide show
  1. {caffeinism_utils-0.0.182 → caffeinism_utils-0.0.183}/PKG-INFO +1 -1
  2. {caffeinism_utils-0.0.182 → caffeinism_utils-0.0.183}/pyproject.toml +1 -1
  3. {caffeinism_utils-0.0.182 → caffeinism_utils-0.0.183}/src/caffeinism_utils/av/io.py +72 -0
  4. {caffeinism_utils-0.0.182 → caffeinism_utils-0.0.183}/README.md +0 -0
  5. {caffeinism_utils-0.0.182 → caffeinism_utils-0.0.183}/src/caffeinism_utils/__init__.py +0 -0
  6. {caffeinism_utils-0.0.182 → caffeinism_utils-0.0.183}/src/caffeinism_utils/aiteration.py +0 -0
  7. {caffeinism_utils-0.0.182 → caffeinism_utils-0.0.183}/src/caffeinism_utils/asyncio.py +0 -0
  8. {caffeinism_utils-0.0.182 → caffeinism_utils-0.0.183}/src/caffeinism_utils/av/__init__.py +0 -0
  9. {caffeinism_utils-0.0.182 → caffeinism_utils-0.0.183}/src/caffeinism_utils/av/codecs.py +0 -0
  10. {caffeinism_utils-0.0.182 → caffeinism_utils-0.0.183}/src/caffeinism_utils/av/filters.py +0 -0
  11. {caffeinism_utils-0.0.182 → caffeinism_utils-0.0.183}/src/caffeinism_utils/av/utils.py +0 -0
  12. {caffeinism_utils-0.0.182 → caffeinism_utils-0.0.183}/src/caffeinism_utils/http.py +0 -0
  13. {caffeinism_utils-0.0.182 → caffeinism_utils-0.0.183}/src/caffeinism_utils/io.py +0 -0
  14. {caffeinism_utils-0.0.182 → caffeinism_utils-0.0.183}/src/caffeinism_utils/iteration.py +0 -0
  15. {caffeinism_utils-0.0.182 → caffeinism_utils-0.0.183}/src/caffeinism_utils/prefetch.py +0 -0
  16. {caffeinism_utils-0.0.182 → caffeinism_utils-0.0.183}/src/caffeinism_utils/utils.py +0 -0
  17. {caffeinism_utils-0.0.182 → caffeinism_utils-0.0.183}/src/caffeinism_utils/zip.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: caffeinism-utils
3
- Version: 0.0.182
3
+ Version: 0.0.183
4
4
  Summary:
5
5
  Author: Kim Minjong
6
6
  Author-email: make.dirty.code@gmail.com
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "caffeinism-utils"
3
- version = "0.0.182"
3
+ version = "0.0.183"
4
4
  description = ""
5
5
  authors = ["Kim Minjong <make.dirty.code@gmail.com>"]
6
6
  readme = "README.md"
@@ -20,6 +20,62 @@ from .filters import AlphaExtractor, AlphaMerger, BaseAlphaMerger, NotAlphaMerge
20
20
 
21
21
  TIME_BASE = fractions.Fraction(1, 90000)
22
22
 
23
+ ffmpeg_color_info = {
24
+ "color_range": {0: "unknown", 1: "tv", 2: "pc"},
25
+ "colorspace": {
26
+ 0: "rgb",
27
+ 1: "bt709",
28
+ 2: "unknown",
29
+ 4: "fcc",
30
+ 5: "bt470bg",
31
+ 6: "smpte170m",
32
+ 7: "smpte240m",
33
+ 8: "ycgco",
34
+ 9: "bt2020nc",
35
+ 10: "bt2020c",
36
+ 11: "smpte2085",
37
+ 12: "chroma-derived-nc",
38
+ 13: "chroma-derived-c",
39
+ 14: "ictcp",
40
+ 15: "ipt-c2",
41
+ 16: "ycgco-re",
42
+ 17: "ycgco-ro",
43
+ },
44
+ "color_primaries": {
45
+ 1: "bt709",
46
+ 2: "unknown",
47
+ 4: "bt470m",
48
+ 5: "bt470bg",
49
+ 6: "smpte170m",
50
+ 7: "smpte240m",
51
+ 8: "film",
52
+ 9: "bt2020",
53
+ 10: "smpte428",
54
+ 11: "smpte431",
55
+ 12: "smpte432",
56
+ 22: "jedec-p22",
57
+ },
58
+ "color_trc": {
59
+ 1: "bt709",
60
+ 2: "unknown",
61
+ 4: "gamma22",
62
+ 5: "gamma28",
63
+ 6: "smpte170m",
64
+ 7: "smpte240m",
65
+ 8: "linear",
66
+ 9: "log100",
67
+ 10: "log316",
68
+ 11: "iec61966-2-4",
69
+ 12: "bt1361e",
70
+ 13: "iec61966-2-1",
71
+ 14: "bt2020-10",
72
+ 15: "bt2020-12",
73
+ 16: "smpte2084",
74
+ 17: "smpte428",
75
+ 18: "arib-std-b67",
76
+ },
77
+ }
78
+
23
79
 
24
80
  class PyAVInterface(ABC):
25
81
  _container: av.container.Container
@@ -47,6 +103,22 @@ class PyAVInterface(ABC):
47
103
  self._init_container()
48
104
  return self._streams
49
105
 
106
+ @property
107
+ def colorspace(self) -> str:
108
+ return ffmpeg_color_info["colorspace"][self.streams[0].colorspace]
109
+
110
+ @property
111
+ def color_trc(self) -> str:
112
+ return ffmpeg_color_info["color_trc"][self.streams[0].color_trc]
113
+
114
+ @property
115
+ def color_primaries(self) -> str:
116
+ return ffmpeg_color_info["color_primaries"][self.streams[0].color_primaries]
117
+
118
+ @property
119
+ def color_range(self) -> str:
120
+ return ffmpeg_color_info["color_range"][self.streams[0].color_range]
121
+
50
122
  @property
51
123
  def fps(self):
52
124
  return self.streams[0].base_rate or self.streams[0].codec_context.framerate