diff options
49 files changed, 215 insertions, 0 deletions
diff --git a/Documentation/meson.build b/Documentation/meson.build index c4e98924..b3b4f0b6 100644 --- a/Documentation/meson.build +++ b/Documentation/meson.build @@ -1,3 +1,5 @@ +# SPDX-License-Identifier: CC0-1.0 + doc_install_dir = join_paths(get_option('datadir'), 'doc', 'libcamera-@0@'.format(libcamera_version)) diff --git a/LICENSES/CC0-1.0.txt b/LICENSES/CC0-1.0.txt new file mode 100644 index 00000000..a343ccd4 --- /dev/null +++ b/LICENSES/CC0-1.0.txt @@ -0,0 +1,119 @@ +Creative Commons Legal Code + +CC0 1.0 Universal CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES +NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE +AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION +ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE USE +OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER, AND DISCLAIMS +LIABILITY FOR DAMAGES RESULTING FROM THE USE OF THIS DOCUMENT OR THE INFORMATION +OR WORKS PROVIDED HEREUNDER. + +Statement of Purpose + +The laws of most jurisdictions throughout the world automatically confer exclusive +Copyright and Related Rights (defined below) upon the creator and subsequent +owner(s) (each and all, an "owner") of an original work of authorship and/or +a database (each, a "Work"). + +Certain owners wish to permanently relinquish those rights to a Work for the +purpose of contributing to a commons of creative, cultural and scientific +works ("Commons") that the public can reliably and without fear of later claims +of infringement build upon, modify, incorporate in other works, reuse and +redistribute as freely as possible in any form whatsoever and for any purposes, +including without limitation commercial purposes. These owners may contribute +to the Commons to promote the ideal of a free culture and the further production +of creative, cultural and scientific works, or to gain reputation or greater +distribution for their Work in part through the use and efforts of others. + +For these and/or other purposes and motivations, and without any expectation +of additional consideration or compensation, the person associating CC0 with +a Work (the "Affirmer"), to the extent that he or she is an owner of Copyright +and Related Rights in the Work, voluntarily elects to apply CC0 to the Work +and publicly distribute the Work under its terms, with knowledge of his or +her Copyright and Related Rights in the Work and the meaning and intended +legal effect of CC0 on those rights. + +1. Copyright and Related Rights. A Work made available under CC0 may be protected +by copyright and related or neighboring rights ("Copyright and Related Rights"). +Copyright and Related Rights include, but are not limited to, the following: + +i. the right to reproduce, adapt, distribute, perform, display, communicate, +and translate a Work; + + ii. moral rights retained by the original author(s) and/or performer(s); + +iii. publicity and privacy rights pertaining to a person's image or likeness +depicted in a Work; + +iv. rights protecting against unfair competition in regards to a Work, subject +to the limitations in paragraph 4(a), below; + +v. rights protecting the extraction, dissemination, use and reuse of data +in a Work; + +vi. database rights (such as those arising under Directive 96/9/EC of the +European Parliament and of the Council of 11 March 1996 on the legal protection +of databases, and under any national implementation thereof, including any +amended or successor version of such directive); and + +vii. other similar, equivalent or corresponding rights throughout the world +based on applicable law or treaty, and any national implementations thereof. + +2. Waiver. To the greatest extent permitted by, but not in contravention of, +applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and +unconditionally waives, abandons, and surrenders all of Affirmer's Copyright +and Related Rights and associated claims and causes of action, whether now +known or unknown (including existing as well as future claims and causes of +action), in the Work (i) in all territories worldwide, (ii) for the maximum +duration provided by applicable law or treaty (including future time extensions), +(iii) in any current or future medium and for any number of copies, and (iv) +for any purpose whatsoever, including without limitation commercial, advertising +or promotional purposes (the "Waiver"). Affirmer makes the Waiver for the +benefit of each member of the public at large and to the detriment of Affirmer's +heirs and successors, fully intending that such Waiver shall not be subject +to revocation, rescission, cancellation, termination, or any other legal or +equitable action to disrupt the quiet enjoyment of the Work by the public +as contemplated by Affirmer's express Statement of Purpose. + +3. Public License Fallback. Should any part of the Waiver for any reason be +judged legally invalid or ineffective under applicable law, then the Waiver +shall be preserved to the maximum extent permitted taking into account Affirmer's +express Statement of Purpose. In addition, to the extent the Waiver is so +judged Affirmer hereby grants to each affected person a royalty-free, non +transferable, non sublicensable, non exclusive, irrevocable and unconditional +license to exercise Affirmer's Copyright and Related Rights in the Work (i) +in all territories worldwide, (ii) for the maximum duration provided by applicable +law or treaty (including future time extensions), (iii) in any current or +future medium and for any number of copies, and (iv) for any purpose whatsoever, +including without limitation commercial, advertising or promotional purposes +(the "License"). The License shall be deemed effective as of the date CC0 +was applied by Affirmer to the Work. Should any part of the License for any +reason be judged legally invalid or ineffective under applicable law, such +partial invalidity or ineffectiveness shall not invalidate the remainder of +the License, and in such case Affirmer hereby affirms that he or she will +not (i) exercise any of his or her remaining Copyright and Related Rights +in the Work or (ii) assert any associated claims and causes of action with +respect to the Work, in either case contrary to Affirmer's express Statement +of Purpose. + + 4. Limitations and Disclaimers. + +a. No trademark or patent rights held by Affirmer are waived, abandoned, surrendered, +licensed or otherwise affected by this document. + +b. Affirmer offers the Work as-is and makes no representations or warranties +of any kind concerning the Work, express, implied, statutory or otherwise, +including without limitation warranties of title, merchantability, fitness +for a particular purpose, non infringement, or the absence of latent or other +defects, accuracy, or the present or absence of errors, whether or not discoverable, +all to the greatest extent permissible under applicable law. + +c. Affirmer disclaims responsibility for clearing rights of other persons +that may apply to the Work or any use thereof, including without limitation +any person's Copyright and Related Rights in the Work. Further, Affirmer disclaims +responsibility for obtaining any necessary consents, permissions or other +rights required for any use of the Work. + +d. Affirmer understands and acknowledges that Creative Commons is not a party +to this document and has no duty or obligation with respect to this CC0 or +use of the Work. diff --git a/include/android/meson.build b/include/android/meson.build index 69f1c38e..da2504f2 100644 --- a/include/android/meson.build +++ b/include/android/meson.build @@ -1,3 +1,5 @@ +# SPDX-License-Identifier: CC0-1.0 + android_includes = ([ include_directories('hardware/libhardware/include/'), include_directories('metadata/'), diff --git a/include/ipa/meson.build b/include/ipa/meson.build index 695a4183..3d5c0dd6 100644 --- a/include/ipa/meson.build +++ b/include/ipa/meson.build @@ -1,3 +1,5 @@ +# SPDX-License-Identifier: CC0-1.0 + libcamera_ipa_api = files([ 'ipa_controls.h', 'ipa_interface.h', diff --git a/include/libcamera/meson.build b/include/libcamera/meson.build index 23c01d38..cea47eb8 100644 --- a/include/libcamera/meson.build +++ b/include/libcamera/meson.build @@ -1,3 +1,5 @@ +# SPDX-License-Identifier: CC0-1.0 + libcamera_api = files([ 'bound_method.h', 'buffer.h', diff --git a/include/meson.build b/include/meson.build index 42b24534..4f41c9ce 100644 --- a/include/meson.build +++ b/include/meson.build @@ -1,3 +1,5 @@ +# SPDX-License-Identifier: CC0-1.0 + libcamera_include_dir = 'libcamera' subdir('android') diff --git a/meson.build b/meson.build index 59829e19..e898782a 100644 --- a/meson.build +++ b/meson.build @@ -1,3 +1,5 @@ +# SPDX-License-Identifier: CC0-1.0 + project('libcamera', 'c', 'cpp', meson_version : '>= 0.47', version : '0.0.0', diff --git a/meson_options.txt b/meson_options.txt index 68f4f480..badace15 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -1,3 +1,5 @@ +# SPDX-License-Identifier: CC0-1.0 + option('android', type : 'boolean', value : false, diff --git a/src/android/meson.build b/src/android/meson.build index 5a5a332e..822cad62 100644 --- a/src/android/meson.build +++ b/src/android/meson.build @@ -1,3 +1,5 @@ +# SPDX-License-Identifier: CC0-1.0 + android_hal_sources = files([ 'camera3_hal.cpp', 'camera_hal_manager.cpp', diff --git a/src/cam/meson.build b/src/cam/meson.build index 162d6333..89e124fb 100644 --- a/src/cam/meson.build +++ b/src/cam/meson.build @@ -1,3 +1,5 @@ +# SPDX-License-Identifier: CC0-1.0 + cam_sources = files([ 'buffer_writer.cpp', 'capture.cpp', diff --git a/src/gstreamer/meson.build b/src/gstreamer/meson.build index e119e472..c9f0c13d 100644 --- a/src/gstreamer/meson.build +++ b/src/gstreamer/meson.build @@ -1,3 +1,5 @@ +# SPDX-License-Identifier: CC0-1.0 + libcamera_gst_sources = [ 'gstlibcamera-utils.cpp', 'gstlibcamera.cpp', diff --git a/src/ipa/libipa/meson.build b/src/ipa/libipa/meson.build index 6f3cd486..22626405 100644 --- a/src/ipa/libipa/meson.build +++ b/src/ipa/libipa/meson.build @@ -1,3 +1,5 @@ +# SPDX-License-Identifier: CC0-1.0 + libipa_headers = files([ 'ipa_interface_wrapper.h', ]) diff --git a/src/ipa/meson.build b/src/ipa/meson.build index b103479c..64deb601 100644 --- a/src/ipa/meson.build +++ b/src/ipa/meson.build @@ -1,3 +1,5 @@ +# SPDX-License-Identifier: CC0-1.0 + ipa_install_dir = join_paths(get_option('libdir'), 'libcamera') ipa_data_dir = join_paths(get_option('datadir'), 'libcamera', 'ipa') ipa_sysconf_dir = join_paths(get_option('sysconfdir'), 'libcamera', 'ipa') diff --git a/src/ipa/raspberrypi/meson.build b/src/ipa/raspberrypi/meson.build index 2dece3a4..697902e9 100644 --- a/src/ipa/raspberrypi/meson.build +++ b/src/ipa/raspberrypi/meson.build @@ -1,3 +1,5 @@ +# SPDX-License-Identifier: CC0-1.0 + ipa_name = 'ipa_rpi' rpi_ipa_deps = [ diff --git a/src/ipa/rkisp1/meson.build b/src/ipa/rkisp1/meson.build index d7127ea8..ed9a6b6b 100644 --- a/src/ipa/rkisp1/meson.build +++ b/src/ipa/rkisp1/meson.build @@ -1,3 +1,5 @@ +# SPDX-License-Identifier: CC0-1.0 + ipa_name = 'ipa_rkisp1' mod = shared_module(ipa_name, diff --git a/src/ipa/vimc/data/meson.build b/src/ipa/vimc/data/meson.build index c844926d..6532662c 100644 --- a/src/ipa/vimc/data/meson.build +++ b/src/ipa/vimc/data/meson.build @@ -1,3 +1,5 @@ +# SPDX-License-Identifier: CC0-1.0 + conf_files = files([ 'vimc.conf', ]) diff --git a/src/ipa/vimc/meson.build b/src/ipa/vimc/meson.build index 22296a02..8c9df854 100644 --- a/src/ipa/vimc/meson.build +++ b/src/ipa/vimc/meson.build @@ -1,3 +1,5 @@ +# SPDX-License-Identifier: CC0-1.0 + ipa_name = 'ipa_vimc' mod = shared_module(ipa_name, diff --git a/src/libcamera/include/meson.build b/src/libcamera/include/meson.build index 683d0613..1f6af579 100644 --- a/src/libcamera/include/meson.build +++ b/src/libcamera/include/meson.build @@ -1,3 +1,5 @@ +# SPDX-License-Identifier: CC0-1.0 + libcamera_headers = files([ 'byte_stream_buffer.h', 'camera_controls.h', diff --git a/src/libcamera/meson.build b/src/libcamera/meson.build index d8b4d720..d42e9720 100644 --- a/src/libcamera/meson.build +++ b/src/libcamera/meson.build @@ -1,3 +1,5 @@ +# SPDX-License-Identifier: CC0-1.0 + libcamera_sources = files([ 'bound_method.cpp', 'buffer.cpp', diff --git a/src/libcamera/pipeline/ipu3/meson.build b/src/libcamera/pipeline/ipu3/meson.build index 0ab766a2..0e8c5a14 100644 --- a/src/libcamera/pipeline/ipu3/meson.build +++ b/src/libcamera/pipeline/ipu3/meson.build @@ -1,3 +1,5 @@ +# SPDX-License-Identifier: CC0-1.0 + libcamera_sources += files([ 'ipu3.cpp', ]) diff --git a/src/libcamera/pipeline/meson.build b/src/libcamera/pipeline/meson.build index 190ca5a8..46424493 100644 --- a/src/libcamera/pipeline/meson.build +++ b/src/libcamera/pipeline/meson.build @@ -1,3 +1,5 @@ +# SPDX-License-Identifier: CC0-1.0 + foreach pipeline : get_option('pipelines') subdir(pipeline) endforeach diff --git a/src/libcamera/pipeline/raspberrypi/meson.build b/src/libcamera/pipeline/raspberrypi/meson.build index 73785797..fc117b77 100644 --- a/src/libcamera/pipeline/raspberrypi/meson.build +++ b/src/libcamera/pipeline/raspberrypi/meson.build @@ -1,3 +1,5 @@ +# SPDX-License-Identifier: CC0-1.0 + libcamera_sources += files([ 'raspberrypi.cpp' ]) diff --git a/src/libcamera/pipeline/rkisp1/meson.build b/src/libcamera/pipeline/rkisp1/meson.build index d04fb452..1ab3964a 100644 --- a/src/libcamera/pipeline/rkisp1/meson.build +++ b/src/libcamera/pipeline/rkisp1/meson.build @@ -1,3 +1,5 @@ +# SPDX-License-Identifier: CC0-1.0 + libcamera_sources += files([ 'rkisp1.cpp', 'timeline.cpp', diff --git a/src/libcamera/pipeline/simple/meson.build b/src/libcamera/pipeline/simple/meson.build index 8372f24e..9c99b32f 100644 --- a/src/libcamera/pipeline/simple/meson.build +++ b/src/libcamera/pipeline/simple/meson.build @@ -1,3 +1,5 @@ +# SPDX-License-Identifier: CC0-1.0 + libcamera_sources += files([ 'converter.cpp', 'simple.cpp', diff --git a/src/libcamera/pipeline/uvcvideo/meson.build b/src/libcamera/pipeline/uvcvideo/meson.build index c19ae238..a3c2efd4 100644 --- a/src/libcamera/pipeline/uvcvideo/meson.build +++ b/src/libcamera/pipeline/uvcvideo/meson.build @@ -1,3 +1,5 @@ +# SPDX-License-Identifier: CC0-1.0 + libcamera_sources += files([ 'uvcvideo.cpp', ]) diff --git a/src/libcamera/pipeline/vimc/meson.build b/src/libcamera/pipeline/vimc/meson.build index 615ecd20..290eefb5 100644 --- a/src/libcamera/pipeline/vimc/meson.build +++ b/src/libcamera/pipeline/vimc/meson.build @@ -1,3 +1,5 @@ +# SPDX-License-Identifier: CC0-1.0 + libcamera_sources += files([ 'vimc.cpp', ]) diff --git a/src/libcamera/proxy/meson.build b/src/libcamera/proxy/meson.build index 6c00d5f3..bd804750 100644 --- a/src/libcamera/proxy/meson.build +++ b/src/libcamera/proxy/meson.build @@ -1,3 +1,5 @@ +# SPDX-License-Identifier: CC0-1.0 + libcamera_sources += files([ 'ipa_proxy_linux.cpp', 'ipa_proxy_thread.cpp', diff --git a/src/libcamera/proxy/worker/meson.build b/src/libcamera/proxy/worker/meson.build index 839156f7..1b1bee5e 100644 --- a/src/libcamera/proxy/worker/meson.build +++ b/src/libcamera/proxy/worker/meson.build @@ -1,3 +1,5 @@ +# SPDX-License-Identifier: CC0-1.0 + ipa_proxy_sources = [ ['ipa_proxy_linux', 'ipa_proxy_linux_worker.cpp'] ] diff --git a/src/meson.build b/src/meson.build index c9c10085..d69b4c1e 100644 --- a/src/meson.build +++ b/src/meson.build @@ -1,3 +1,5 @@ +# SPDX-License-Identifier: CC0-1.0 + if get_option('android') subdir('android') endif diff --git a/src/qcam/meson.build b/src/qcam/meson.build index 949ef614..045db52a 100644 --- a/src/qcam/meson.build +++ b/src/qcam/meson.build @@ -1,3 +1,5 @@ +# SPDX-License-Identifier: CC0-1.0 + qcam_sources = files([ '../cam/options.cpp', '../cam/stream_options.cpp', diff --git a/src/v4l2/meson.build b/src/v4l2/meson.build index efab968f..fc1be82d 100644 --- a/src/v4l2/meson.build +++ b/src/v4l2/meson.build @@ -1,3 +1,5 @@ +# SPDX-License-Identifier: CC0-1.0 + v4l2_compat_sources = files([ 'v4l2_camera.cpp', 'v4l2_camera_proxy.cpp', diff --git a/test/camera/meson.build b/test/camera/meson.build index e2a6660a..0395e7dd 100644 --- a/test/camera/meson.build +++ b/test/camera/meson.build @@ -1,3 +1,5 @@ +# SPDX-License-Identifier: CC0-1.0 + # Tests are listed in order of complexity. # They are not alphabetically sorted. camera_tests = [ diff --git a/test/controls/meson.build b/test/controls/meson.build index 7fff2413..545fb03b 100644 --- a/test/controls/meson.build +++ b/test/controls/meson.build @@ -1,3 +1,5 @@ +# SPDX-License-Identifier: CC0-1.0 + control_tests = [ [ 'control_info', 'control_info.cpp' ], [ 'control_info_map', 'control_info_map.cpp' ], diff --git a/test/ipa/meson.build b/test/ipa/meson.build index f925c50a..ba672f3f 100644 --- a/test/ipa/meson.build +++ b/test/ipa/meson.build @@ -1,3 +1,5 @@ +# SPDX-License-Identifier: CC0-1.0 + ipa_test = [ ['ipa_module_test', 'ipa_module_test.cpp'], ['ipa_interface_test', 'ipa_interface_test.cpp'], diff --git a/test/ipc/meson.build b/test/ipc/meson.build index cc46b41c..650df1d6 100644 --- a/test/ipc/meson.build +++ b/test/ipc/meson.build @@ -1,3 +1,5 @@ +# SPDX-License-Identifier: CC0-1.0 + ipc_tests = [ [ 'unixsocket', 'unixsocket.cpp' ], ] diff --git a/test/libtest/meson.build b/test/libtest/meson.build index 33565e0e..481f6d6b 100644 --- a/test/libtest/meson.build +++ b/test/libtest/meson.build @@ -1,3 +1,5 @@ +# SPDX-License-Identifier: CC0-1.0 + libtest_sources = files([ 'buffer_source.cpp', 'camera_test.cpp', diff --git a/test/log/meson.build b/test/log/meson.build index 95f6c1a2..8cd664e0 100644 --- a/test/log/meson.build +++ b/test/log/meson.build @@ -1,3 +1,5 @@ +# SPDX-License-Identifier: CC0-1.0 + log_test = [ ['log_api', 'log_api.cpp'], ['log_process', 'log_process.cpp'], diff --git a/test/media_device/meson.build b/test/media_device/meson.build index 6a0e4684..1dfcdd8b 100644 --- a/test/media_device/meson.build +++ b/test/media_device/meson.build @@ -1,3 +1,5 @@ +# SPDX-License-Identifier: CC0-1.0 + lib_mdev_test_sources = files([ 'media_device_test.cpp', ]) diff --git a/test/meson.build b/test/meson.build index 5a45a85e..bd7da147 100644 --- a/test/meson.build +++ b/test/meson.build @@ -1,3 +1,5 @@ +# SPDX-License-Identifier: CC0-1.0 + subdir('libtest') subdir('camera') diff --git a/test/pipeline/ipu3/meson.build b/test/pipeline/ipu3/meson.build index d02927c9..d062ecd2 100644 --- a/test/pipeline/ipu3/meson.build +++ b/test/pipeline/ipu3/meson.build @@ -1,3 +1,5 @@ +# SPDX-License-Identifier: CC0-1.0 + ipu3_test = [ ['ipu3_pipeline_test', 'ipu3_pipeline_test.cpp'], ] diff --git a/test/pipeline/meson.build b/test/pipeline/meson.build index 157f789c..6e7901fe 100644 --- a/test/pipeline/meson.build +++ b/test/pipeline/meson.build @@ -1,2 +1,4 @@ +# SPDX-License-Identifier: CC0-1.0 + subdir('ipu3') subdir('rkisp1') diff --git a/test/pipeline/rkisp1/meson.build b/test/pipeline/rkisp1/meson.build index d3f97496..ece147b0 100644 --- a/test/pipeline/rkisp1/meson.build +++ b/test/pipeline/rkisp1/meson.build @@ -1,3 +1,5 @@ +# SPDX-License-Identifier: CC0-1.0 + rkisp1_test = [ ['rkisp1_pipeline_test', 'rkisp1_pipeline_test.cpp'], ] diff --git a/test/process/meson.build b/test/process/meson.build index c4d83d6c..c215fa7e 100644 --- a/test/process/meson.build +++ b/test/process/meson.build @@ -1,3 +1,5 @@ +# SPDX-License-Identifier: CC0-1.0 + process_tests = [ [ 'process_test', 'process_test.cpp' ], ] diff --git a/test/serialization/meson.build b/test/serialization/meson.build index d78d92e6..a9d9cbcb 100644 --- a/test/serialization/meson.build +++ b/test/serialization/meson.build @@ -1,3 +1,5 @@ +# SPDX-License-Identifier: CC0-1.0 + serialization_tests = [ [ 'control_serialization', 'control_serialization.cpp' ], ] diff --git a/test/stream/meson.build b/test/stream/meson.build index 005f4aa4..2b9b29a9 100644 --- a/test/stream/meson.build +++ b/test/stream/meson.build @@ -1,3 +1,5 @@ +# SPDX-License-Identifier: CC0-1.0 + stream_tests = [ [ 'stream_formats', 'stream_formats.cpp' ], ] diff --git a/test/v4l2_subdevice/meson.build b/test/v4l2_subdevice/meson.build index 0521984b..5f0882ca 100644 --- a/test/v4l2_subdevice/meson.build +++ b/test/v4l2_subdevice/meson.build @@ -1,3 +1,5 @@ +# SPDX-License-Identifier: CC0-1.0 + v4l2_subdevice_tests = [ [ 'list_formats', 'list_formats.cpp'], [ 'test_formats', 'test_formats.cpp'], diff --git a/test/v4l2_videodevice/meson.build b/test/v4l2_videodevice/meson.build index 685fcf6d..b4bb3090 100644 --- a/test/v4l2_videodevice/meson.build +++ b/test/v4l2_videodevice/meson.build @@ -1,3 +1,5 @@ +# SPDX-License-Identifier: CC0-1.0 + # Tests are listed in order of complexity. # They are not alphabetically sorted. v4l2_videodevice_tests = [ diff --git a/utils/ipu3/meson.build b/utils/ipu3/meson.build index 49c45856..88049f58 100644 --- a/utils/ipu3/meson.build +++ b/utils/ipu3/meson.build @@ -1 +1,3 @@ +# SPDX-License-Identifier: CC0-1.0 + ipu3_unpack = executable('ipu3-unpack', 'ipu3-unpack.c') diff --git a/utils/meson.build b/utils/meson.build index f434c79c..c3cd9d69 100644 --- a/utils/meson.build +++ b/utils/meson.build @@ -1 +1,3 @@ +# SPDX-License-Identifier: CC0-1.0 + subdir('ipu3') |