revela 0.1.0__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.
- revela-0.1.0/.gitignore +106 -0
- revela-0.1.0/LICENSE +45 -0
- revela-0.1.0/LICENSE-APACHE +202 -0
- revela-0.1.0/NOTICE +83 -0
- revela-0.1.0/PKG-INFO +295 -0
- revela-0.1.0/README.md +268 -0
- revela-0.1.0/TRADEMARK.md +57 -0
- revela-0.1.0/docs/LICENSING.md +145 -0
- revela-0.1.0/docs/README.md +30 -0
- revela-0.1.0/docs/RELEASING.md +134 -0
- revela-0.1.0/docs/Revela_Logo.png +0 -0
- revela-0.1.0/docs/Revela_Logo.svg +981 -0
- revela-0.1.0/docs/THIRD-PARTY.md +155 -0
- revela-0.1.0/docs/design-rules.md +470 -0
- revela-0.1.0/docs/logo/prep.py +109 -0
- revela-0.1.0/examples/build_pipeline.py +96 -0
- revela-0.1.0/examples/three_a_loop.py +149 -0
- revela-0.1.0/pyproject.toml +82 -0
- revela-0.1.0/revela/__init__.py +38 -0
- revela-0.1.0/revela/blocks/__init__.py +628 -0
- revela-0.1.0/revela/blocks/assets/revela_mark.npz +0 -0
- revela-0.1.0/revela/blocks/blacklevel.py +165 -0
- revela-0.1.0/revela/blocks/ccm.py +123 -0
- revela-0.1.0/revela/blocks/defect.py +43 -0
- revela-0.1.0/revela/blocks/demosaic/__init__.py +63 -0
- revela-0.1.0/revela/blocks/demosaic/bicubic.py +139 -0
- revela-0.1.0/revela/blocks/demosaic/bilinear.py +148 -0
- revela-0.1.0/revela/blocks/demosaic/hamilton_adams.py +167 -0
- revela-0.1.0/revela/blocks/demosaic/malvar.py +42 -0
- revela-0.1.0/revela/blocks/demosaic/menon.py +45 -0
- revela-0.1.0/revela/blocks/gamma.py +168 -0
- revela-0.1.0/revela/blocks/logo.py +126 -0
- revela-0.1.0/revela/blocks/lsc.py +41 -0
- revela-0.1.0/revela/blocks/pipe.py +168 -0
- revela-0.1.0/revela/blocks/rgb2yuv.py +40 -0
- revela-0.1.0/revela/blocks/sharpen.py +44 -0
- revela-0.1.0/revela/blocks/stats.py +335 -0
- revela-0.1.0/revela/blocks/whitebalance.py +162 -0
- revela-0.1.0/revela/cli.py +122 -0
- revela-0.1.0/revela/compose.py +935 -0
- revela-0.1.0/revela/control/__init__.py +51 -0
- revela-0.1.0/revela/control/ae.py +193 -0
- revela-0.1.0/revela/control/af.py +66 -0
- revela-0.1.0/revela/control/awb.py +163 -0
- revela-0.1.0/revela/designs/__init__.py +284 -0
- revela-0.1.0/revela/designs/schema.json +421 -0
- revela-0.1.0/revela/fusesoc.py +109 -0
- revela-0.1.0/revela/host/__init__.py +427 -0
- revela-0.1.0/revela/host/curves.py +64 -0
- revela-0.1.0/revela/host/pynq.py +51 -0
- revela-0.1.0/revela/host/spi.py +49 -0
- revela-0.1.0/revela/host/udp.py +49 -0
- revela-0.1.0/revela/params.py +787 -0
- revela-0.1.0/revela/profiles/__init__.py +298 -0
- revela-0.1.0/revela/profiles/schema.json +103 -0
- revela-0.1.0/revela/run.py +595 -0
- revela-0.1.0/revela/sensors/__init__.py +272 -0
- revela-0.1.0/revela/sensors/imx219/sensor.json +117 -0
- revela-0.1.0/revela/sensors/imx477/README.md +29 -0
- revela-0.1.0/revela/sensors/schema.json +332 -0
- revela-0.1.0/revela/stream.py +291 -0
- revela-0.1.0/tests/conftest.py +157 -0
- revela-0.1.0/tests/tb_block.py +147 -0
- revela-0.1.0/tests/tb_regfile.py +198 -0
- revela-0.1.0/tests/test_address_allocation.py +280 -0
- revela-0.1.0/tests/test_blacklevel.py +173 -0
- revela-0.1.0/tests/test_build_parameters.py +188 -0
- revela-0.1.0/tests/test_ccm.py +211 -0
- revela-0.1.0/tests/test_control.py +294 -0
- revela-0.1.0/tests/test_demosaic_bicubic.py +203 -0
- revela-0.1.0/tests/test_demosaic_bilinear.py +199 -0
- revela-0.1.0/tests/test_demosaic_ha_properties.py +167 -0
- revela-0.1.0/tests/test_demosaic_hamilton_adams.py +217 -0
- revela-0.1.0/tests/test_designs.py +473 -0
- revela-0.1.0/tests/test_docs.py +50 -0
- revela-0.1.0/tests/test_fusesoc.py +86 -0
- revela-0.1.0/tests/test_gamma.py +129 -0
- revela-0.1.0/tests/test_host.py +233 -0
- revela-0.1.0/tests/test_ip_notes.py +43 -0
- revela-0.1.0/tests/test_profiles.py +286 -0
- revela-0.1.0/tests/test_regfile.py +254 -0
- revela-0.1.0/tests/test_run_cli.py +142 -0
- revela-0.1.0/tests/test_sensors.py +235 -0
- revela-0.1.0/tests/test_spdx_headers.py +124 -0
- revela-0.1.0/tests/test_systemrdl.py +141 -0
- revela-0.1.0/tests/test_whitebalance.py +155 -0
revela-0.1.0/.gitignore
ADDED
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
# Python
|
|
2
|
+
__pycache__/
|
|
3
|
+
*.py[cod]
|
|
4
|
+
*$py.class
|
|
5
|
+
*.so
|
|
6
|
+
.Python
|
|
7
|
+
build/
|
|
8
|
+
develop-eggs/
|
|
9
|
+
dist/
|
|
10
|
+
downloads/
|
|
11
|
+
eggs/
|
|
12
|
+
.eggs/
|
|
13
|
+
lib64/
|
|
14
|
+
parts/
|
|
15
|
+
sdist/
|
|
16
|
+
var/
|
|
17
|
+
wheels/
|
|
18
|
+
share/python-wheels/
|
|
19
|
+
*.egg-info/
|
|
20
|
+
.installed.cfg
|
|
21
|
+
*.egg
|
|
22
|
+
MANIFEST
|
|
23
|
+
|
|
24
|
+
# Virtual environments
|
|
25
|
+
.venv/
|
|
26
|
+
venv/
|
|
27
|
+
env/
|
|
28
|
+
ENV/
|
|
29
|
+
|
|
30
|
+
# Testing and tooling
|
|
31
|
+
.pytest_cache/
|
|
32
|
+
.tox/
|
|
33
|
+
.nox/
|
|
34
|
+
.coverage
|
|
35
|
+
.coverage.*
|
|
36
|
+
htmlcov/
|
|
37
|
+
.cache
|
|
38
|
+
.mypy_cache/
|
|
39
|
+
.ruff_cache/
|
|
40
|
+
.hypothesis/
|
|
41
|
+
|
|
42
|
+
# Simulation and generated output
|
|
43
|
+
obj_dir/
|
|
44
|
+
sim_build/
|
|
45
|
+
*.vcd
|
|
46
|
+
*.fst
|
|
47
|
+
*.ghw
|
|
48
|
+
results.xml
|
|
49
|
+
*.result.xml
|
|
50
|
+
verilator.log
|
|
51
|
+
dump.vcd
|
|
52
|
+
|
|
53
|
+
# Generated Verilog and register maps. The NumPy model is the source; a
|
|
54
|
+
# generated file checked in is a second source of truth waiting to go stale.
|
|
55
|
+
/build/
|
|
56
|
+
pipelines/*/*/*/build/
|
|
57
|
+
*.v.bak
|
|
58
|
+
|
|
59
|
+
# Image and capture data. Raw frames are large, are usually somebody's camera
|
|
60
|
+
# calibration, and are not the specification -- reference images for pipeline-
|
|
61
|
+
# level quality checks are fetched or generated, not committed.
|
|
62
|
+
#
|
|
63
|
+
# The licensing half matters more than the size half, and is why the rendered
|
|
64
|
+
# formats are here too: the standard demosaic reference sets are distributed as
|
|
65
|
+
# PNG (Kodak) and TIFF (McMaster) under terms that do not permit redistribution.
|
|
66
|
+
# One of those committed by accident is in the history permanently, and it is
|
|
67
|
+
# the first thing a partner's open-source review will find.
|
|
68
|
+
*.raw
|
|
69
|
+
*.dng
|
|
70
|
+
*.npy
|
|
71
|
+
*.npz
|
|
72
|
+
*.png
|
|
73
|
+
*.jpg
|
|
74
|
+
*.jpeg
|
|
75
|
+
*.tif
|
|
76
|
+
*.tiff
|
|
77
|
+
*.bmp
|
|
78
|
+
*.pgm
|
|
79
|
+
*.ppm
|
|
80
|
+
*.pfm
|
|
81
|
+
|
|
82
|
+
# EXCEPTIONS, deliberately narrow. The ban above is about third-party
|
|
83
|
+
# reference imagery whose licence forbids redistribution; these two are
|
|
84
|
+
# the project's own mark, and the block that draws it cannot import
|
|
85
|
+
# without its table. Nothing else here is exempt -- previews and
|
|
86
|
+
# captures stay ignored, and docs/logo/prep.py regenerates them from
|
|
87
|
+
# the vector source.
|
|
88
|
+
!docs/Revela_Logo.png
|
|
89
|
+
!revela/blocks/assets/revela_mark.npz
|
|
90
|
+
*.exr
|
|
91
|
+
*.webp
|
|
92
|
+
*.mp4
|
|
93
|
+
*.mov
|
|
94
|
+
*.y4m
|
|
95
|
+
# Documentation illustrations are the exception: committed deliberately, by
|
|
96
|
+
# path, so that adding one is a visible decision rather than a slip.
|
|
97
|
+
!docs/images/*.png
|
|
98
|
+
!docs/images/*.svg
|
|
99
|
+
|
|
100
|
+
# Editors and OS
|
|
101
|
+
.vscode/
|
|
102
|
+
.idea/
|
|
103
|
+
*.swp
|
|
104
|
+
*.swo
|
|
105
|
+
.DS_Store
|
|
106
|
+
Thumbs.db
|
revela-0.1.0/LICENSE
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
SOLDERPAD HARDWARE LICENSE VERSION 2.1
|
|
2
|
+
|
|
3
|
+
This license operates as a wraparound license to the Apache License Version 2.0 (the "Apache License") and incorporates the terms and conditions of the Apache License (which can be found here: http://apache.org/licenses/LICENSE-2.0), with the following additions and modifications. It must be read in conjunction with the Apache License. Section 1 below modifies definitions and terminology in the Apache License and Section 2 below replaces Section 2 of the Apache License. The Appendix replaces the Appendix in the Apache License. You may, at your option, choose to treat any Work released under this license as released under the Apache License (thus ignoring all sections written below entirely).
|
|
4
|
+
|
|
5
|
+
1. Terminology in the Apache License is supplemented or modified as follows:
|
|
6
|
+
|
|
7
|
+
"Authorship": any reference to 'authorship' shall be taken to read "authorship or design".
|
|
8
|
+
|
|
9
|
+
"Copyright owner": any reference to 'copyright owner' shall be taken to read "Rights owner".
|
|
10
|
+
|
|
11
|
+
"Copyright statement": the reference to 'copyright statement' shall be taken to read 'copyright or other statement pertaining to Rights'
|
|
12
|
+
|
|
13
|
+
The following new definition shall be added to the Definitions section of the Apache License:
|
|
14
|
+
|
|
15
|
+
"Rights" means copyright and any similar right including design right (whether registered or unregistered), rights in semiconductor topographies (mask works) and database rights (but excluding Patents and Trademarks).
|
|
16
|
+
|
|
17
|
+
The following definitions shall replace the corresponding definitions in the Apache License:
|
|
18
|
+
|
|
19
|
+
"License" shall mean this Solderpad Hardware License version 2.1, being the terms and conditions for use, manufacture, instantiation, adaptation, reproduction, and distribution as defined by Sections 1 through 9 of this document.
|
|
20
|
+
|
|
21
|
+
"Licensor" shall mean the Rights owner or entity authorized by the Rights owner that is granting the License.
|
|
22
|
+
|
|
23
|
+
"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship or design. For the purposes of this License, Derivative Works shall not include works that remain reversibly separable from, or merely link (or bind by name) or physically connect to or interoperate with the Work and Derivative Works thereof.
|
|
24
|
+
|
|
25
|
+
"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form or the application of a Source form to physical material, including but not limited to compiled object code, generated documentation, the instantiation of a hardware design or physical object or material and conversions to other media types, including intermediate forms such as bytecodes, FPGA bitstreams, moulds, artwork and semiconductor topographies (mask works).
|
|
26
|
+
|
|
27
|
+
"Source" form shall mean the preferred form for making modifications, including but not limited to source code, net lists, board layouts, CAD files, documentation source, and configuration files.
|
|
28
|
+
|
|
29
|
+
"Work" shall mean the work of authorship or design, whether in Source or Object form, made available under the License, as indicated by a notice relating to Rights that is included in or attached to the work (an example is provided in the Appendix below).
|
|
30
|
+
|
|
31
|
+
2. Grant of License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable license under the Rights to reproduce, prepare Derivative Works of, make, adapt, repair, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form and do anything in relation to the Work as if the Rights did not exist.
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
APPENDIX
|
|
35
|
+
|
|
36
|
+
Copyright [yyyy] [name of copyright owner]
|
|
37
|
+
SPDX-License-Identifier: Apache-2.0 WITH SHL-2.1
|
|
38
|
+
|
|
39
|
+
Licensed under the Solderpad Hardware License v 2.1 (the "License"); you may not use this file except in compliance with the License, or, at your option, the Apache License version 2.0.
|
|
40
|
+
You may obtain a copy of the License at
|
|
41
|
+
|
|
42
|
+
https://solderpad.org/licenses/SHL-2.1/
|
|
43
|
+
|
|
44
|
+
Unless required by applicable law or agreed to in writing, any work distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
45
|
+
See the License for the specific language governing permissions and limitations under the License.
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
|
|
2
|
+
Apache License
|
|
3
|
+
Version 2.0, January 2004
|
|
4
|
+
http://www.apache.org/licenses/
|
|
5
|
+
|
|
6
|
+
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
|
7
|
+
|
|
8
|
+
1. Definitions.
|
|
9
|
+
|
|
10
|
+
"License" shall mean the terms and conditions for use, reproduction,
|
|
11
|
+
and distribution as defined by Sections 1 through 9 of this document.
|
|
12
|
+
|
|
13
|
+
"Licensor" shall mean the copyright owner or entity authorized by
|
|
14
|
+
the copyright owner that is granting the License.
|
|
15
|
+
|
|
16
|
+
"Legal Entity" shall mean the union of the acting entity and all
|
|
17
|
+
other entities that control, are controlled by, or are under common
|
|
18
|
+
control with that entity. For the purposes of this definition,
|
|
19
|
+
"control" means (i) the power, direct or indirect, to cause the
|
|
20
|
+
direction or management of such entity, whether by contract or
|
|
21
|
+
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
|
22
|
+
outstanding shares, or (iii) beneficial ownership of such entity.
|
|
23
|
+
|
|
24
|
+
"You" (or "Your") shall mean an individual or Legal Entity
|
|
25
|
+
exercising permissions granted by this License.
|
|
26
|
+
|
|
27
|
+
"Source" form shall mean the preferred form for making modifications,
|
|
28
|
+
including but not limited to software source code, documentation
|
|
29
|
+
source, and configuration files.
|
|
30
|
+
|
|
31
|
+
"Object" form shall mean any form resulting from mechanical
|
|
32
|
+
transformation or translation of a Source form, including but
|
|
33
|
+
not limited to compiled object code, generated documentation,
|
|
34
|
+
and conversions to other media types.
|
|
35
|
+
|
|
36
|
+
"Work" shall mean the work of authorship, whether in Source or
|
|
37
|
+
Object form, made available under the License, as indicated by a
|
|
38
|
+
copyright notice that is included in or attached to the work
|
|
39
|
+
(an example is provided in the Appendix below).
|
|
40
|
+
|
|
41
|
+
"Derivative Works" shall mean any work, whether in Source or Object
|
|
42
|
+
form, that is based on (or derived from) the Work and for which the
|
|
43
|
+
editorial revisions, annotations, elaborations, or other modifications
|
|
44
|
+
represent, as a whole, an original work of authorship. For the purposes
|
|
45
|
+
of this License, Derivative Works shall not include works that remain
|
|
46
|
+
separable from, or merely link (or bind by name) to the interfaces of,
|
|
47
|
+
the Work and Derivative Works thereof.
|
|
48
|
+
|
|
49
|
+
"Contribution" shall mean any work of authorship, including
|
|
50
|
+
the original version of the Work and any modifications or additions
|
|
51
|
+
to that Work or Derivative Works thereof, that is intentionally
|
|
52
|
+
submitted to Licensor for inclusion in the Work by the copyright owner
|
|
53
|
+
or by an individual or Legal Entity authorized to submit on behalf of
|
|
54
|
+
the copyright owner. For the purposes of this definition, "submitted"
|
|
55
|
+
means any form of electronic, verbal, or written communication sent
|
|
56
|
+
to the Licensor or its representatives, including but not limited to
|
|
57
|
+
communication on electronic mailing lists, source code control systems,
|
|
58
|
+
and issue tracking systems that are managed by, or on behalf of, the
|
|
59
|
+
Licensor for the purpose of discussing and improving the Work, but
|
|
60
|
+
excluding communication that is conspicuously marked or otherwise
|
|
61
|
+
designated in writing by the copyright owner as "Not a Contribution."
|
|
62
|
+
|
|
63
|
+
"Contributor" shall mean Licensor and any individual or Legal Entity
|
|
64
|
+
on behalf of whom a Contribution has been received by Licensor and
|
|
65
|
+
subsequently incorporated within the Work.
|
|
66
|
+
|
|
67
|
+
2. Grant of Copyright License. Subject to the terms and conditions of
|
|
68
|
+
this License, each Contributor hereby grants to You a perpetual,
|
|
69
|
+
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
70
|
+
copyright license to reproduce, prepare Derivative Works of,
|
|
71
|
+
publicly display, publicly perform, sublicense, and distribute the
|
|
72
|
+
Work and such Derivative Works in Source or Object form.
|
|
73
|
+
|
|
74
|
+
3. Grant of Patent License. Subject to the terms and conditions of
|
|
75
|
+
this License, each Contributor hereby grants to You a perpetual,
|
|
76
|
+
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
77
|
+
(except as stated in this section) patent license to make, have made,
|
|
78
|
+
use, offer to sell, sell, import, and otherwise transfer the Work,
|
|
79
|
+
where such license applies only to those patent claims licensable
|
|
80
|
+
by such Contributor that are necessarily infringed by their
|
|
81
|
+
Contribution(s) alone or by combination of their Contribution(s)
|
|
82
|
+
with the Work to which such Contribution(s) was submitted. If You
|
|
83
|
+
institute patent litigation against any entity (including a
|
|
84
|
+
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
|
85
|
+
or a Contribution incorporated within the Work constitutes direct
|
|
86
|
+
or contributory patent infringement, then any patent licenses
|
|
87
|
+
granted to You under this License for that Work shall terminate
|
|
88
|
+
as of the date such litigation is filed.
|
|
89
|
+
|
|
90
|
+
4. Redistribution. You may reproduce and distribute copies of the
|
|
91
|
+
Work or Derivative Works thereof in any medium, with or without
|
|
92
|
+
modifications, and in Source or Object form, provided that You
|
|
93
|
+
meet the following conditions:
|
|
94
|
+
|
|
95
|
+
(a) You must give any other recipients of the Work or
|
|
96
|
+
Derivative Works a copy of this License; and
|
|
97
|
+
|
|
98
|
+
(b) You must cause any modified files to carry prominent notices
|
|
99
|
+
stating that You changed the files; and
|
|
100
|
+
|
|
101
|
+
(c) You must retain, in the Source form of any Derivative Works
|
|
102
|
+
that You distribute, all copyright, patent, trademark, and
|
|
103
|
+
attribution notices from the Source form of the Work,
|
|
104
|
+
excluding those notices that do not pertain to any part of
|
|
105
|
+
the Derivative Works; and
|
|
106
|
+
|
|
107
|
+
(d) If the Work includes a "NOTICE" text file as part of its
|
|
108
|
+
distribution, then any Derivative Works that You distribute must
|
|
109
|
+
include a readable copy of the attribution notices contained
|
|
110
|
+
within such NOTICE file, excluding those notices that do not
|
|
111
|
+
pertain to any part of the Derivative Works, in at least one
|
|
112
|
+
of the following places: within a NOTICE text file distributed
|
|
113
|
+
as part of the Derivative Works; within the Source form or
|
|
114
|
+
documentation, if provided along with the Derivative Works; or,
|
|
115
|
+
within a display generated by the Derivative Works, if and
|
|
116
|
+
wherever such third-party notices normally appear. The contents
|
|
117
|
+
of the NOTICE file are for informational purposes only and
|
|
118
|
+
do not modify the License. You may add Your own attribution
|
|
119
|
+
notices within Derivative Works that You distribute, alongside
|
|
120
|
+
or as an addendum to the NOTICE text from the Work, provided
|
|
121
|
+
that such additional attribution notices cannot be construed
|
|
122
|
+
as modifying the License.
|
|
123
|
+
|
|
124
|
+
You may add Your own copyright statement to Your modifications and
|
|
125
|
+
may provide additional or different license terms and conditions
|
|
126
|
+
for use, reproduction, or distribution of Your modifications, or
|
|
127
|
+
for any such Derivative Works as a whole, provided Your use,
|
|
128
|
+
reproduction, and distribution of the Work otherwise complies with
|
|
129
|
+
the conditions stated in this License.
|
|
130
|
+
|
|
131
|
+
5. Submission of Contributions. Unless You explicitly state otherwise,
|
|
132
|
+
any Contribution intentionally submitted for inclusion in the Work
|
|
133
|
+
by You to the Licensor shall be under the terms and conditions of
|
|
134
|
+
this License, without any additional terms or conditions.
|
|
135
|
+
Notwithstanding the above, nothing herein shall supersede or modify
|
|
136
|
+
the terms of any separate license agreement you may have executed
|
|
137
|
+
with Licensor regarding such Contributions.
|
|
138
|
+
|
|
139
|
+
6. Trademarks. This License does not grant permission to use the trade
|
|
140
|
+
names, trademarks, service marks, or product names of the Licensor,
|
|
141
|
+
except as required for reasonable and customary use in describing the
|
|
142
|
+
origin of the Work and reproducing the content of the NOTICE file.
|
|
143
|
+
|
|
144
|
+
7. Disclaimer of Warranty. Unless required by applicable law or
|
|
145
|
+
agreed to in writing, Licensor provides the Work (and each
|
|
146
|
+
Contributor provides its Contributions) on an "AS IS" BASIS,
|
|
147
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
|
148
|
+
implied, including, without limitation, any warranties or conditions
|
|
149
|
+
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
|
150
|
+
PARTICULAR PURPOSE. You are solely responsible for determining the
|
|
151
|
+
appropriateness of using or redistributing the Work and assume any
|
|
152
|
+
risks associated with Your exercise of permissions under this License.
|
|
153
|
+
|
|
154
|
+
8. Limitation of Liability. In no event and under no legal theory,
|
|
155
|
+
whether in tort (including negligence), contract, or otherwise,
|
|
156
|
+
unless required by applicable law (such as deliberate and grossly
|
|
157
|
+
negligent acts) or agreed to in writing, shall any Contributor be
|
|
158
|
+
liable to You for damages, including any direct, indirect, special,
|
|
159
|
+
incidental, or consequential damages of any character arising as a
|
|
160
|
+
result of this License or out of the use or inability to use the
|
|
161
|
+
Work (including but not limited to damages for loss of goodwill,
|
|
162
|
+
work stoppage, computer failure or malfunction, or any and all
|
|
163
|
+
other commercial damages or losses), even if such Contributor
|
|
164
|
+
has been advised of the possibility of such damages.
|
|
165
|
+
|
|
166
|
+
9. Accepting Warranty or Additional Liability. While redistributing
|
|
167
|
+
the Work or Derivative Works thereof, You may choose to offer,
|
|
168
|
+
and charge a fee for, acceptance of support, warranty, indemnity,
|
|
169
|
+
or other liability obligations and/or rights consistent with this
|
|
170
|
+
License. However, in accepting such obligations, You may act only
|
|
171
|
+
on Your own behalf and on Your sole responsibility, not on behalf
|
|
172
|
+
of any other Contributor, and only if You agree to indemnify,
|
|
173
|
+
defend, and hold each Contributor harmless for any liability
|
|
174
|
+
incurred by, or claims asserted against, such Contributor by reason
|
|
175
|
+
of your accepting any such warranty or additional liability.
|
|
176
|
+
|
|
177
|
+
END OF TERMS AND CONDITIONS
|
|
178
|
+
|
|
179
|
+
APPENDIX: How to apply the Apache License to your work.
|
|
180
|
+
|
|
181
|
+
To apply the Apache License to your work, attach the following
|
|
182
|
+
boilerplate notice, with the fields enclosed by brackets "[]"
|
|
183
|
+
replaced with your own identifying information. (Don't include
|
|
184
|
+
the brackets!) The text should be enclosed in the appropriate
|
|
185
|
+
comment syntax for the file format. We also recommend that a
|
|
186
|
+
file or class name and description of purpose be included on the
|
|
187
|
+
same "printed page" as the copyright notice for easier
|
|
188
|
+
identification within third-party archives.
|
|
189
|
+
|
|
190
|
+
Copyright [yyyy] [name of copyright owner]
|
|
191
|
+
|
|
192
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
|
193
|
+
you may not use this file except in compliance with the License.
|
|
194
|
+
You may obtain a copy of the License at
|
|
195
|
+
|
|
196
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
|
197
|
+
|
|
198
|
+
Unless required by applicable law or agreed to in writing, software
|
|
199
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
200
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
201
|
+
See the License for the specific language governing permissions and
|
|
202
|
+
limitations under the License.
|
revela-0.1.0/NOTICE
ADDED
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
revela — an image signal processing pipeline in NumPy, generating synthesisable Verilog.
|
|
2
|
+
|
|
3
|
+
Copyright 2026 Serge Rabyking
|
|
4
|
+
|
|
5
|
+
Licensed under the Solderpad Hardware License v2.1 (the "License"), a wraparound
|
|
6
|
+
licence over the Apache License, Version 2.0. You may not use this work except in
|
|
7
|
+
compliance with the License. You may obtain a copy of the License at:
|
|
8
|
+
|
|
9
|
+
https://solderpad.org/licenses/SHL-2.1/
|
|
10
|
+
|
|
11
|
+
and a copy is distributed with this work as the file LICENSE. The Apache License,
|
|
12
|
+
Version 2.0, whose terms the License incorporates and modifies, is distributed with
|
|
13
|
+
this work as the file LICENSE-APACHE and may be obtained at:
|
|
14
|
+
|
|
15
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
|
16
|
+
|
|
17
|
+
Unless required by applicable law or agreed to in writing, any work distributed
|
|
18
|
+
under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
|
|
19
|
+
CONDITIONS OF ANY KIND, either express or implied. See the License for the specific
|
|
20
|
+
language governing permissions and limitations under the License.
|
|
21
|
+
|
|
22
|
+
Per SHL-2.1, you may at your option choose to treat any work released under this
|
|
23
|
+
licence as released under the Apache License, Version 2.0.
|
|
24
|
+
|
|
25
|
+
Every source file carries the SPDX identifier:
|
|
26
|
+
|
|
27
|
+
SPDX-License-Identifier: Apache-2.0 WITH SHL-2.1
|
|
28
|
+
|
|
29
|
+
--------------------------------------------------------------------------------
|
|
30
|
+
Verilog generated by revela
|
|
31
|
+
--------------------------------------------------------------------------------
|
|
32
|
+
|
|
33
|
+
Verilog emitted by this project carries this project's licence, because its
|
|
34
|
+
datapath is derived from the models in revela/blocks/. Generated files include an
|
|
35
|
+
SPDX header identifying this.
|
|
36
|
+
|
|
37
|
+
The surrounding structure -- the streaming handshake, line buffers, register file
|
|
38
|
+
and top level -- is emitted by np2hw, which grants its output unconditionally
|
|
39
|
+
under the Output Exception in its own licence: that part carries no obligation,
|
|
40
|
+
not even attribution. See docs/LICENSING.md.
|
|
41
|
+
|
|
42
|
+
--------------------------------------------------------------------------------
|
|
43
|
+
Third-party components
|
|
44
|
+
--------------------------------------------------------------------------------
|
|
45
|
+
|
|
46
|
+
This project depends on, but does not include or redistribute:
|
|
47
|
+
|
|
48
|
+
np2hw MIT https://github.com/lanserge/np2hw
|
|
49
|
+
NumPy BSD-3-Clause AND 0BSD AND MIT AND Zlib AND CC0-1.0
|
|
50
|
+
https://numpy.org
|
|
51
|
+
jsonschema MIT https://github.com/python-jsonschema/jsonschema
|
|
52
|
+
jsonschema-specifications MIT https://github.com/python-jsonschema/jsonschema-specifications
|
|
53
|
+
referencing MIT https://github.com/python-jsonschema/referencing
|
|
54
|
+
rpds-py MIT https://github.com/crate-py/rpds
|
|
55
|
+
attrs MIT https://github.com/python-attrs/attrs
|
|
56
|
+
typing-extensions PSF-2.0 https://github.com/python/typing_extensions
|
|
57
|
+
|
|
58
|
+
Required only to run the tests:
|
|
59
|
+
|
|
60
|
+
pytest MIT https://pytest.org
|
|
61
|
+
cocotb BSD-3-Clause https://cocotb.org
|
|
62
|
+
|
|
63
|
+
Every dependency of this project, at every depth, is under a permissive licence.
|
|
64
|
+
Continuous integration enforces that with an allow-list, so a dependency whose
|
|
65
|
+
licence is not among the permitted ones fails the build.
|
|
66
|
+
|
|
67
|
+
The full audit -- every transitive dependency, its role, and the licences of the
|
|
68
|
+
external simulators used for verification -- is in docs/THIRD-PARTY.md. It is
|
|
69
|
+
kept there rather than here because this file is an attribution notice under
|
|
70
|
+
section 4(d) of the Apache License, and a dependency audit is a different
|
|
71
|
+
document with a different audience.
|
|
72
|
+
|
|
73
|
+
--------------------------------------------------------------------------------
|
|
74
|
+
Sensor descriptions
|
|
75
|
+
--------------------------------------------------------------------------------
|
|
76
|
+
|
|
77
|
+
The sensor descriptions under revela/sensors/ are derived from publicly available
|
|
78
|
+
manufacturer datasheets and from the sensor vendors' published documentation. They
|
|
79
|
+
are NOT transcribed from the Linux kernel media drivers (drivers/media/i2c/imx219.c
|
|
80
|
+
and its siblings), whose licence is incompatible with this project's and whose
|
|
81
|
+
register tables therefore must not appear here. Every sensor description carries a
|
|
82
|
+
provenance declaration stating its derivation, enforced by the schema.
|
|
83
|
+
Contributions to revela/sensors/ must do the same; see CONTRIBUTING.md.
|