HwCodecDetect 0.0.3__tar.gz → 0.0.4__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.
- {hwcodecdetect-0.0.3/src/HwCodecDetect.egg-info → hwcodecdetect-0.0.4}/PKG-INFO +4 -5
- {hwcodecdetect-0.0.3 → hwcodecdetect-0.0.4}/README.md +3 -4
- hwcodecdetect-0.0.4/VERSION +1 -0
- {hwcodecdetect-0.0.3 → hwcodecdetect-0.0.4}/pyproject.toml +1 -1
- {hwcodecdetect-0.0.3 → hwcodecdetect-0.0.4}/src/HwCodecDetect/run_tests.py +18 -1
- hwcodecdetect-0.0.4/src/HwCodecDetect/version.py +1 -0
- {hwcodecdetect-0.0.3 → hwcodecdetect-0.0.4/src/HwCodecDetect.egg-info}/PKG-INFO +4 -5
- hwcodecdetect-0.0.3/VERSION +0 -1
- hwcodecdetect-0.0.3/src/HwCodecDetect/version.py +0 -1
- {hwcodecdetect-0.0.3 → hwcodecdetect-0.0.4}/LICENSE +0 -0
- {hwcodecdetect-0.0.3 → hwcodecdetect-0.0.4}/MANIFEST.in +0 -0
- {hwcodecdetect-0.0.3 → hwcodecdetect-0.0.4}/setup.cfg +0 -0
- {hwcodecdetect-0.0.3 → hwcodecdetect-0.0.4}/setup.py +0 -0
- {hwcodecdetect-0.0.3 → hwcodecdetect-0.0.4}/src/HwCodecDetect/__init__.py +0 -0
- {hwcodecdetect-0.0.3 → hwcodecdetect-0.0.4}/src/HwCodecDetect/install_ffmpeg_if_needed.py +0 -0
- {hwcodecdetect-0.0.3 → hwcodecdetect-0.0.4}/src/HwCodecDetect.egg-info/SOURCES.txt +0 -0
- {hwcodecdetect-0.0.3 → hwcodecdetect-0.0.4}/src/HwCodecDetect.egg-info/dependency_links.txt +0 -0
- {hwcodecdetect-0.0.3 → hwcodecdetect-0.0.4}/src/HwCodecDetect.egg-info/entry_points.txt +0 -0
- {hwcodecdetect-0.0.3 → hwcodecdetect-0.0.4}/src/HwCodecDetect.egg-info/requires.txt +0 -0
- {hwcodecdetect-0.0.3 → hwcodecdetect-0.0.4}/src/HwCodecDetect.egg-info/top_level.txt +0 -0
- {hwcodecdetect-0.0.3 → hwcodecdetect-0.0.4}/src/HwCodecDetect.egg-info/zip-safe +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: HwCodecDetect
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.4
|
|
4
4
|
Summary: A cross-platform tool to automatically detect and test hardware video decoders/encoders using FFmpeg.
|
|
5
5
|
Home-page: https://github.com/whyb/HwCodecDetect
|
|
6
6
|
Author: whyb
|
|
@@ -23,7 +23,7 @@ Dynamic: license-file
|
|
|
23
23
|
Dynamic: requires-python
|
|
24
24
|
|
|
25
25
|
# FFmpeg Hardware Codec Test Script(HwCodecDetect)
|
|
26
|
-
[中文版](README.zh.md)
|
|
26
|
+
[中文版](https://github.com/whyb/HwCodecDetect/blob/main/README.zh.md)
|
|
27
27
|
|
|
28
28
|
Today's hardware-accelerated video codec landscape is a "field of a hundred schools of thought." To leverage the immense power of GPUs, hardware manufacturers have introduced their own acceleration frameworks and encoding standards, such as NVIDIA's NVEnc/NVDec, Intel's QSV, and AMD's AMF. Additionally, operating systems provide universal APIs like Microsoft's Media Foundation, DXVA, and D3D12VA, while the open-source community has developed cross-platform standards like VAAPI and Vulkan.
|
|
29
29
|
|
|
@@ -69,7 +69,6 @@ HwCodecDetect
|
|
|
69
69
|
|
|
70
70
|
## Demo
|
|
71
71
|
Here are some possible results from a local test run:
|
|
72
|
+

|
|
72
73
|
|
|
73
|
-

|
|
74
|
+

|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
# FFmpeg Hardware Codec Test Script(HwCodecDetect)
|
|
2
|
-
[中文版](README.zh.md)
|
|
2
|
+
[中文版](https://github.com/whyb/HwCodecDetect/blob/main/README.zh.md)
|
|
3
3
|
|
|
4
4
|
Today's hardware-accelerated video codec landscape is a "field of a hundred schools of thought." To leverage the immense power of GPUs, hardware manufacturers have introduced their own acceleration frameworks and encoding standards, such as NVIDIA's NVEnc/NVDec, Intel's QSV, and AMD's AMF. Additionally, operating systems provide universal APIs like Microsoft's Media Foundation, DXVA, and D3D12VA, while the open-source community has developed cross-platform standards like VAAPI and Vulkan.
|
|
5
5
|
|
|
@@ -45,7 +45,6 @@ HwCodecDetect
|
|
|
45
45
|
|
|
46
46
|
## Demo
|
|
47
47
|
Here are some possible results from a local test run:
|
|
48
|
+

|
|
48
49
|
|
|
49
|
-

|
|
50
|
+

|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
0.0.4
|
|
@@ -144,7 +144,13 @@ def _run_encoder_tests(test_dir):
|
|
|
144
144
|
title = ENCODER_TITLES.get((encoder, codec), f"{encoder.upper()} Encoder:")
|
|
145
145
|
print(f"\n{title}")
|
|
146
146
|
|
|
147
|
+
skip_rest = False
|
|
147
148
|
for res_name, res_size in RESOLUTIONS.items():
|
|
149
|
+
if skip_rest:
|
|
150
|
+
results[title][res_name] = "failed"
|
|
151
|
+
print(f" {res_name}: {RED}skipped due to earlier failure{RESET}")
|
|
152
|
+
continue
|
|
153
|
+
|
|
148
154
|
# Encoder tests generate the output file
|
|
149
155
|
file_ext = ".webm" if codec in ["vp8", "vp9"] else ".mp4"
|
|
150
156
|
output_file = os.path.join(test_dir, f"{encoder}_{res_name}{file_ext}")
|
|
@@ -169,6 +175,9 @@ def _run_encoder_tests(test_dir):
|
|
|
169
175
|
|
|
170
176
|
status = "succeeded" if _run_ffmpeg_command(command) else "failed"
|
|
171
177
|
results[title][res_name] = status
|
|
178
|
+
|
|
179
|
+
if res_name == "240p" and status == "failed":
|
|
180
|
+
skip_rest = True
|
|
172
181
|
|
|
173
182
|
color_code = GREEN if status == "succeeded" else RED
|
|
174
183
|
print(f" {res_name}: {color_code}{status}{RESET}")
|
|
@@ -193,7 +202,12 @@ def _run_decoder_tests(test_dir):
|
|
|
193
202
|
title = DECODER_TITLES.get((hw_decoder, codec), f"{hw_decoder.upper()} Decoder:")
|
|
194
203
|
print(f"\n{title}")
|
|
195
204
|
|
|
205
|
+
skip_rest = False
|
|
196
206
|
for res_name, res_size in RESOLUTIONS.items():
|
|
207
|
+
if skip_rest:
|
|
208
|
+
results[title][res_name] = "failed"
|
|
209
|
+
print(f" {res_name}: {RED}skipped due to earlier failure{RESET}")
|
|
210
|
+
continue
|
|
197
211
|
file_ext = ".webm" if codec in ["vp8", "vp9"] else ".mp4"
|
|
198
212
|
|
|
199
213
|
# We need to find *any* existing file for this codec/resolution combo
|
|
@@ -240,6 +254,9 @@ def _run_decoder_tests(test_dir):
|
|
|
240
254
|
|
|
241
255
|
status = "succeeded" if _run_ffmpeg_command(command) else "failed"
|
|
242
256
|
results[title][res_name] = status
|
|
257
|
+
|
|
258
|
+
if res_name == "240p" and status == "failed":
|
|
259
|
+
skip_rest = True
|
|
243
260
|
|
|
244
261
|
color_code = GREEN if status == "succeeded" else RED
|
|
245
262
|
print(f" {res_name}: {color_code}{status}{RESET}")
|
|
@@ -348,7 +365,7 @@ def run_all_tests():
|
|
|
348
365
|
shutil.rmtree(temp_dir)
|
|
349
366
|
print("Cleanup complete.")
|
|
350
367
|
|
|
351
|
-
return
|
|
368
|
+
return
|
|
352
369
|
|
|
353
370
|
if __name__ == "__main__":
|
|
354
371
|
run_all_tests()
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "0.0.4"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: HwCodecDetect
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.4
|
|
4
4
|
Summary: A cross-platform tool to automatically detect and test hardware video decoders/encoders using FFmpeg.
|
|
5
5
|
Home-page: https://github.com/whyb/HwCodecDetect
|
|
6
6
|
Author: whyb
|
|
@@ -23,7 +23,7 @@ Dynamic: license-file
|
|
|
23
23
|
Dynamic: requires-python
|
|
24
24
|
|
|
25
25
|
# FFmpeg Hardware Codec Test Script(HwCodecDetect)
|
|
26
|
-
[中文版](README.zh.md)
|
|
26
|
+
[中文版](https://github.com/whyb/HwCodecDetect/blob/main/README.zh.md)
|
|
27
27
|
|
|
28
28
|
Today's hardware-accelerated video codec landscape is a "field of a hundred schools of thought." To leverage the immense power of GPUs, hardware manufacturers have introduced their own acceleration frameworks and encoding standards, such as NVIDIA's NVEnc/NVDec, Intel's QSV, and AMD's AMF. Additionally, operating systems provide universal APIs like Microsoft's Media Foundation, DXVA, and D3D12VA, while the open-source community has developed cross-platform standards like VAAPI and Vulkan.
|
|
29
29
|
|
|
@@ -69,7 +69,6 @@ HwCodecDetect
|
|
|
69
69
|
|
|
70
70
|
## Demo
|
|
71
71
|
Here are some possible results from a local test run:
|
|
72
|
+

|
|
72
73
|
|
|
73
|
-

|
|
74
|
+

|
hwcodecdetect-0.0.3/VERSION
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
0.0.3
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "0.0.3"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|