vc6 7.29.4__py3-none-any.whl
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.
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: vc6
|
|
3
|
+
Version: 7.29.4
|
|
4
|
+
Summary: V-Nova VC-6 codec Python bindings.
|
|
5
|
+
Author-email: V-Nova <info@v-nova.com>
|
|
6
|
+
License: Proprietary - see LICENSE.txt
|
|
7
|
+
Project-URL: Homepage, https://www.v-nova.com/
|
|
8
|
+
Classifier: Development Status :: 4 - Beta
|
|
9
|
+
Classifier: Intended Audience :: Developers
|
|
10
|
+
Classifier: License :: Other/Proprietary License
|
|
11
|
+
Classifier: Operating System :: POSIX :: Linux
|
|
12
|
+
Classifier: Operating System :: Microsoft :: Windows
|
|
13
|
+
Classifier: Operating System :: MacOS :: MacOS X
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.8
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
19
|
+
Classifier: Topic :: Scientific/Engineering
|
|
20
|
+
Classifier: Topic :: Multimedia :: Video
|
|
21
|
+
Requires-Python: >=3.8
|
|
22
|
+
Description-Content-Type: text/markdown
|
|
23
|
+
License-File: LICENSE.txt
|
|
24
|
+
Provides-Extra: cu12
|
|
25
|
+
Requires-Dist: vc6_cu12==7.29.4; extra == "cu12"
|
|
26
|
+
Provides-Extra: opencl
|
|
27
|
+
Requires-Dist: vc6_opencl==7.29.4; extra == "opencl"
|
|
28
|
+
Provides-Extra: metal
|
|
29
|
+
Requires-Dist: vc6_metal==7.29.4; extra == "metal"
|
|
30
|
+
Dynamic: license-file
|
|
31
|
+
|
|
32
|
+
# V-Nova VC-6 codec python module
|
|
33
|
+
|
|
34
|
+
## Usage
|
|
35
|
+
|
|
36
|
+
Main codec functionality is inside the `codec` module that can be imported as follow:
|
|
37
|
+
|
|
38
|
+
```python
|
|
39
|
+
from vnova.vc6_opencl import codec as vc6codec
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
or if you have installed the CUDA codec:
|
|
43
|
+
|
|
44
|
+
```python
|
|
45
|
+
from vnova.vc6_cu12 import codec as vc6codec
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
Then you can create codecs and start transcoding. For complete examples see provided sample codes
|
|
49
|
+
|
|
50
|
+
```python
|
|
51
|
+
# setup encoder and decoder instances
|
|
52
|
+
encoder = vc6codec.EncoderSync(
|
|
53
|
+
1920, 1080, vc6codec.CodecBackendType.CPU, vc6codec.PictureFormat.RGB_8, vc6codec.ImageMemoryType.CPU)
|
|
54
|
+
encoder.set_generic_preset(vc6codec.EncoderGenericPreset.LOSSLESS)
|
|
55
|
+
# Using double resolution to demonstrate reconfiguration later
|
|
56
|
+
decoder = vc6codec.DecoderSync(1920, 1080, vc6codec.CodecBackendType.CPU, vc6codec.PictureFormat.RGB_8, vc6codec.ImageMemoryType.CPU)
|
|
57
|
+
# encode file to memory
|
|
58
|
+
encoded_image = encoder.read("example_1920x1080_rgb8.rgb")
|
|
59
|
+
# decode memory to memory
|
|
60
|
+
decoder.write(encoded_image.memoryview, "reconstruction_example_1920x1080_rgb8.rgb")
|
|
61
|
+
encoded_image.release()
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
### GPU memory output
|
|
65
|
+
In case of cuda package (vc6_cu12), decoder output can be a device memory. To enable this feature create the decoder with specifying `GPU_DEVICE` as the output memory type. With that, the output images will have `__cuda_array_interface__` and can be used with other libraries like cupy, pytorch and nvimagecodec.
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
```python
|
|
69
|
+
import cupy
|
|
70
|
+
# setup GPU decoder instances with CUDA device output
|
|
71
|
+
decoder = vc6codec.DecoderSync(1920, 1080, vc6codec.CodecBackendType.GPU, vc6codec.PictureFormat.RGB_8, vc6codec.ImageMemoryType.CUDA_DEVICE)
|
|
72
|
+
# decode from file
|
|
73
|
+
decoded_image = decoder.read("example_1920x1080_rgb8.vc6")
|
|
74
|
+
# Make a cupy array from decoded image, download to cpu and write to file
|
|
75
|
+
cuarray = cupy.asarray(decoded_image)
|
|
76
|
+
with open("reconstruction_example_1920x1080_rgb8.rgb", "wb") as decoded_file:
|
|
77
|
+
decoded_file.write(cuarray.get())
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
Both for sync and async decoders, accessing `__cuda_array_interface__` is blocking and implicitly waits on the result to be ready in the image.
|
|
81
|
+
|
|
82
|
+
The `__cuda_array_interface__` always contains a one-dimension data of unsigned-8bit type like the CPU version. Adjusting dimensions (or the type in case of 10-bit formats) is up to the user.
|
|
83
|
+
|
|
84
|
+
### Environment variables
|
|
85
|
+
|
|
86
|
+
Variables OCL_BIN_LOC and OCL_DEVICE can be set to be used as gpu binary cache location and hint to selecting target GPU respectively. For more details refer to VC6-SDK documentation.
|
|
87
|
+
|
|
88
|
+
```cmd
|
|
89
|
+
export OCL_BIN_LOC=./tmp/clbin
|
|
90
|
+
export OCL_DEVICE=nvidia
|
|
91
|
+
```
|
|
92
|
+
Variable CUDA_BIN_LOC serves the same purpose for CUDA version
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
vc6-7.29.4.dist-info/licenses/LICENSE.txt,sha256=rpb9MMMf-5_hKr2xsHxcAMMpHmWkQSn2Is8uiLWXLMY,4369
|
|
2
|
+
vc6-7.29.4.dist-info/METADATA,sha256=M5h5JWUfA1-Fh4qzKcSWSIiu-XT_YukvO63IpAkpQjU,3862
|
|
3
|
+
vc6-7.29.4.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
4
|
+
vc6-7.29.4.dist-info/top_level.txt,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
|
5
|
+
vc6-7.29.4.dist-info/RECORD,,
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
V-Nova VC-6 SDK - Evaluation License
|
|
2
|
+
Copyright (c) 2014-2025, V-Nova International Limited.
|
|
3
|
+
Published by V-Nova Limited. All rights reserved.
|
|
4
|
+
|
|
5
|
+
1. Definitions.
|
|
6
|
+
"Software" means the VC-6 SDK Python wheel package and any associated binaries, libraries, headers, tools and documentation delivered by V-Nova Limited.
|
|
7
|
+
"Licensee" means the person or entity installing or using the Software.
|
|
8
|
+
|
|
9
|
+
2. Grant.
|
|
10
|
+
Subject to this License, V-Nova Limited grants Licensee a personal, non-exclusive, non-transferable, non-sublicensable, time-limited evaluation licence to use the Software in object-code form only, for internal testing, integration and demonstration solely to assess suitability for commercial deployment, for fourteen (14) days from first activation (the "Evaluation Period"). Commercial or production use is not permitted and requires a separate written agreement with V-Nova.
|
|
11
|
+
|
|
12
|
+
3. Technical time-limit
|
|
13
|
+
The Software may include technical measures that count down from first activation and automatically disable functionality when the Evaluation Period ends. Licensee must not circumvent any technical limit, time check, rate-limit or security.
|
|
14
|
+
|
|
15
|
+
4. Restrictions
|
|
16
|
+
Licensee shall not: (a) use the Software in production or for any commercial or revenue-generating purpose; (b) copy, distribute, host, resell or provide the Software to third parties; (c) reverse-engineer, decompile or disassemble, or attempt to derive source code or underlying ideas, except where this restriction is prohibited by applicable law; (d) remove or alter notices or identifiers; (e) publish or disclose benchmarks or performance results without V-Nova's prior written consent; (f) use the Software to create a competing product; (g) bypass evaluation limits.
|
|
17
|
+
|
|
18
|
+
5. Ownership; no patent licences; feedback.
|
|
19
|
+
The Software is licensed, not sold. All intellectual-property rights are owned by V-Nova International Limited. Except for the limited rights granted here, no other rights are granted, including no patent licences. If Licensee provides feedback, Licensee grants V-Nova a worldwide, irrevocable, perpetual, royalty-free licence to use and incorporate it without restriction.
|
|
20
|
+
|
|
21
|
+
6. Confidentiality
|
|
22
|
+
Non-public features, SDK interfaces, documentation and performance data are V-Nova confidential information. Licensee shall protect them with at least reasonable care and use them only as permitted here.
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
7. Telemetry
|
|
26
|
+
The Software may collect limited operational data (e.g., IP address, license/activation identifiers, SDK version, picture format, resolution, encode/decode counts, timestamps) for security and service operation. No media content is collected. Processing is described in PRIVACY.md included with the Software and referenced in the GitHub Release.
|
|
27
|
+
|
|
28
|
+
8. Warranty disclaimer.
|
|
29
|
+
TO THE MAXIMUM EXTENT PERMITTED BY LAW, THE SOFTWARE IS PROVIDED "AS IS" AND "AS AVAILABLE", WITH ALL FAULTS, AND WITHOUT ANY WARRANTIES OR CONDITIONS OF ANY KIND, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING WITHOUT LIMITATION WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT.
|
|
30
|
+
|
|
31
|
+
9. Liability.
|
|
32
|
+
TO THE MAXIMUM EXTENT PERMITTED BY LAW, V-NOVA SHALL NOT BE LIABLE FOR ANY INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY OR CONSEQUENTIAL DAMAGES, OR LOSS OF PROFITS, REVENUE, DATA OR GOODWILL. V-Nova's aggregate liability for direct damages is limited to GBP 1,000. Nothing limits liability that cannot be limited by law.
|
|
33
|
+
|
|
34
|
+
10. Termination
|
|
35
|
+
This License automatically terminates at the end of the Evaluation Period, or immediately upon breach. Upon termination or expiry, Licensee must stop using the Software and destroy all copies and keys. Sections 3-12 survive termination.
|
|
36
|
+
|
|
37
|
+
11. Export & compliance
|
|
38
|
+
Licensee will comply with applicable export-control, sanctions and technology-control laws and will not use or export the Software in violation of such laws.
|
|
39
|
+
|
|
40
|
+
12. Governing law
|
|
41
|
+
This License and any non-contractual obligations arising out of or in connection with it are governed by the laws of England and Wales, and the courts of England have exclusive jurisdiction.
|
|
42
|
+
|
|
43
|
+
13. Entire agreement; changes. This License is the entire agreement for evaluation use of the Software and supersedes prior understandings on that subject. No waiver or modification is binding unless in writing signed by V-Nova.
|
|
44
|
+
|
|
45
|
+
For extensions or a commercial licence, contact licensing@v-nova.com.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|