diff options
author | Jeongmo Yang <jm80.yang@samsung.com> | 2017-06-22 16:52:58 +0900 |
---|---|---|
committer | Jeongmo Yang <jm80.yang@samsung.com> | 2017-06-23 10:41:58 +0900 |
commit | 8c8b2f331dc0ceb725337a0b209322633e2e3aa0 (patch) | |
tree | a2a7096e836f141725bdbd2db651fa5227ff2860 | |
parent | ad72e08f7165dcef00589e593537d465397fac0e (diff) | |
download | gst-plugins-camera-n4-8c8b2f331dc0ceb725337a0b209322633e2e3aa0.tar.gz gst-plugins-camera-n4-8c8b2f331dc0ceb725337a0b209322633e2e3aa0.tar.bz2 gst-plugins-camera-n4-8c8b2f331dc0ceb725337a0b209322633e2e3aa0.zip |
Correct licensesubmit/tizen_4.0_unified/20170814.115522submit/tizen_4.0/20170828.110001submit/tizen_4.0/20170814.115522submit/tizen_4.0/20170811.094300submit/tizen/20170705.021418submit/tizen/20170704.003057submit/tizen/20170630.012050accepted/tizen/unified/20170705.162638accepted/tizen/4.0/unified/20170828.224344accepted/tizen/4.0/unified/20170816.014942accepted/tizen/4.0/unified/20170816.011824
- Remove Apache-2.0 license and related file
[Version] 0.0.2
[Profile] Common
[Issue Type] Update
[Dependency module] N/A
Change-Id: I6802a1ff895eb973e0c262f20296aba3f0c51775
Signed-off-by: Jeongmo Yang <jm80.yang@samsung.com>
-rw-r--r-- | LICENSE.APLv2 | 206 | ||||
-rw-r--r-- | camerasrc/src/camerasrc.c | 2 | ||||
-rw-r--r-- | camerasrc/src/include/fimc-is-metadata.h | 1473 | ||||
-rw-r--r-- | packaging/gst-plugins-camera-n4.spec | 15 |
4 files changed, 7 insertions, 1689 deletions
diff --git a/LICENSE.APLv2 b/LICENSE.APLv2 deleted file mode 100644 index 8582300..0000000 --- a/LICENSE.APLv2 +++ /dev/null @@ -1,206 +0,0 @@ -Copyright (c) 2011 Samsung Electronics Co., Ltd. All rights reserved.
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "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. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright 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
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent 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
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
-
-
diff --git a/camerasrc/src/camerasrc.c b/camerasrc/src/camerasrc.c index 269e240..5d65189 100644 --- a/camerasrc/src/camerasrc.c +++ b/camerasrc/src/camerasrc.c @@ -27,10 +27,10 @@ #include <exynos_drm.h> #include <libdrm/drm.h> #include <linux/v4l2-subdev.h> +#include <linux/fimc-is-metadata.h> #include "camerasrc-common.h" #include "camerasrc-internal.h" -#include "fimc-is-metadata.h" #define S_FMT_COUNT 2 diff --git a/camerasrc/src/include/fimc-is-metadata.h b/camerasrc/src/include/fimc-is-metadata.h deleted file mode 100644 index eb657f0..0000000 --- a/camerasrc/src/include/fimc-is-metadata.h +++ /dev/null @@ -1,1473 +0,0 @@ -/* Copyright (c) 2011 Samsung Electronics Co, Ltd. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - - * - - * Alternatively, Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - - */ - -#ifndef FIMC_IS_METADATA_H_ -#define FIMC_IS_METADATA_H_ - -#ifndef _LINUX_TYPES_H -#error Incorrect definition of int64_t for aarch64 -typedef unsigned char uint8_t; -typedef unsigned short uint16_t; -typedef signed short int16_t; -typedef signed int int32_t; -typedef unsigned int uint32_t; -typedef unsigned long long uint64_t; -#endif - -struct rational { - uint32_t num; - uint32_t den; -}; - -#define CAMERA2_MAX_AVAILABLE_MODE 21 -#define CAMERA2_MAX_FACES 16 -#define CAMERA2_MAX_VENDER_LENGTH 400 -#define CAPTURE_NODE_MAX 2 -#define CAMERA2_MAX_PDAF_MULTIROI_COLUMN 9 -#define CAMERA2_MAX_PDAF_MULTIROI_ROW 5 - -#define OPEN_MAGIC_NUMBER 0x01020304 -#define SHOT_MAGIC_NUMBER 0x23456789 - -/* - *controls/dynamic metadata -*/ - -/* android.request */ - -enum metadata_mode { - METADATA_MODE_NONE, - METADATA_MODE_FULL -}; - -struct camera2_request_ctl { - uint32_t id; - enum metadata_mode metadataMode; - uint8_t outputStreams[16]; - uint32_t frameCount; - uint32_t requestCount; -}; - -struct camera2_request_dm { - uint32_t id; - enum metadata_mode metadataMode; - uint32_t frameCount; - uint32_t requestCount; -}; - -struct camera2_entry_ctl { - /** \brief - per-frame control for entry control - \remarks - low parameter is 0bit ~ 31bit flag - high parameter is 32bit ~ 63bit flag - */ - uint32_t lowIndexParam; - uint32_t highIndexParam; - uint32_t parameter[2048]; -}; - -struct camera2_entry_dm { - uint32_t lowIndexParam; - uint32_t highIndexParam; -}; - -/* android.lens */ - -enum optical_stabilization_mode { - OPTICAL_STABILIZATION_MODE_OFF = 1, - OPTICAL_STABILIZATION_MODE_ON = 2, - OPTICAL_STABILIZATION_MODE_STILL = 3, // Still mode - OPTICAL_STABILIZATION_MODE_STILL_ZOOM = 4, // Still Zoom mode - OPTICAL_STABILIZATION_MODE_VIDEO = 5, // Recording mode - OPTICAL_STABILIZATION_MODE_SINE_X = 6, // factory mode x - OPTICAL_STABILIZATION_MODE_SINE_Y = 7, // factory mode y - OPTICAL_STABILIZATION_MODE_CENTERING = 8 // Centering mode -}; - -enum lens_facing { - LENS_FACING_BACK, - LENS_FACING_FRONT -}; - -struct camera2_lens_ctl { - uint32_t focusDistance; - float aperture; - float focalLength; - float filterDensity; - enum optical_stabilization_mode opticalStabilizationMode; - -}; - -struct camera2_lens_dm { - uint32_t focusDistance; - float aperture; - float focalLength; - float filterDensity; - enum optical_stabilization_mode opticalStabilizationMode; - float focusRange[2]; -}; - -struct camera2_lens_sm { - float minimumFocusDistance; - float hyperfocalDistance; - float availableFocalLength[2]; - float availableApertures; - /*assuming 1 aperture*/ - float availableFilterDensities; - /*assuming 1 ND filter value*/ - enum optical_stabilization_mode availableOpticalStabilization; - /*assuming 1*/ - uint32_t shadingMapSize; - float shadingMap[3][40][30]; - uint32_t geometricCorrectionMapSize; - float geometricCorrectionMap[2][3][40][30]; - enum lens_facing facing; - float position[2]; -}; - -/* android.sensor */ - -enum sensor_colorfilterarrangement { - SENSOR_COLORFILTERARRANGEMENT_RGGB, - SENSOR_COLORFILTERARRANGEMENT_GRBG, - SENSOR_COLORFILTERARRANGEMENT_GBRG, - SENSOR_COLORFILTERARRANGEMENT_BGGR, - SENSOR_COLORFILTERARRANGEMENT_RGB -}; - -enum sensor_ref_illuminant { - SENSOR_ILLUMINANT_DAYLIGHT = 1, - SENSOR_ILLUMINANT_FLUORESCENT = 2, - SENSOR_ILLUMINANT_TUNGSTEN = 3, - SENSOR_ILLUMINANT_FLASH = 4, - SENSOR_ILLUMINANT_FINE_WEATHER = 9, - SENSOR_ILLUMINANT_CLOUDY_WEATHER = 10, - SENSOR_ILLUMINANT_SHADE = 11, - SENSOR_ILLUMINANT_DAYLIGHT_FLUORESCENT = 12, - SENSOR_ILLUMINANT_DAY_WHITE_FLUORESCENT = 13, - SENSOR_ILLUMINANT_COOL_WHITE_FLUORESCENT = 14, - SENSOR_ILLUMINANT_WHITE_FLUORESCENT = 15, - SENSOR_ILLUMINANT_STANDARD_A = 17, - SENSOR_ILLUMINANT_STANDARD_B = 18, - SENSOR_ILLUMINANT_STANDARD_C = 19, - SENSOR_ILLUMINANT_D55 = 20, - SENSOR_ILLUMINANT_D65 = 21, - SENSOR_ILLUMINANT_D75 = 22, - SENSOR_ILLUMINANT_D50 = 23, - SENSOR_ILLUMINANT_ISO_STUDIO_TUNGSTEN = 24 -}; - -struct camera2_sensor_ctl { - /* unit : nano */ - uint64_t exposureTime; - /* unit : nano(It's min frame duration */ - uint64_t frameDuration; - /* unit : percent(need to change ISO value?) */ - uint32_t sensitivity; -}; - -struct camera2_sensor_dm { - uint64_t exposureTime; - uint64_t frameDuration; - uint32_t sensitivity; - uint64_t timeStamp; - uint32_t analogGain; - uint32_t digitalGain; -}; - -struct camera2_sensor_sm { - uint32_t exposureTimeRange[2]; - uint32_t maxFrameDuration; - /* list of available sensitivities. */ - uint32_t availableSensitivities[10]; - enum sensor_colorfilterarrangement colorFilterArrangement; - float physicalSize[2]; - uint32_t pixelArraySize[2]; - uint32_t activeArraySize[4]; - uint32_t whiteLevel; - uint32_t blackLevelPattern[4]; - struct rational colorTransform1[9]; - struct rational colorTransform2[9]; - enum sensor_ref_illuminant referenceIlluminant1; - enum sensor_ref_illuminant referenceIlluminant2; - struct rational forwardMatrix1[9]; - struct rational forwardMatrix2[9]; - struct rational calibrationTransform1[9]; - struct rational calibrationTransform2[9]; - struct rational baseGainFactor; - uint32_t maxAnalogSensitivity; - float noiseModelCoefficients[2]; - uint32_t orientation; -}; - - - -/* android.flash */ - -enum flash_mode { - CAM2_FLASH_MODE_OFF = 1, - CAM2_FLASH_MODE_SINGLE, - CAM2_FLASH_MODE_TORCH, - CAM2_FLASH_MODE_BEST -}; - -enum capture_state { - CAPTURE_STATE_NONE = 0, - CAPTURE_STATE_FLASH = 1, - CAPTURE_STATE_HDR_DARK = 12, - CAPTURE_STATE_HDR_NORMAL = 13, - CAPTURE_STATE_HDR_BRIGHT = 14, - CAPTURE_STATE_ZSL_LIKE = 20, -}; - -struct camera2_flash_ctl { - enum flash_mode flashMode; - uint32_t firingPower; - uint64_t firingTime; -}; - -struct camera2_flash_dm { - enum flash_mode flashMode; - /*10 is max power*/ - uint32_t firingPower; - /*unit : microseconds*/ - uint64_t firingTime; - /*1 : stable, 0 : unstable*/ - uint32_t firingStable; - /*1 : success, 0 : fail*/ - uint32_t decision; - /*0: None, 1 : pre, 2 : main flash ready*/ - uint32_t flashReady; - /*0: None, 1 : pre, 2 : main flash off ready*/ - uint32_t flashOffReady; -}; - -struct camera2_flash_sm { - uint32_t available; - uint64_t chargeDuration; -}; - - -/* android.hotpixel */ - -enum processing_mode { - PROCESSING_MODE_OFF = 1, - PROCESSING_MODE_FAST, - PROCESSING_MODE_HIGH_QUALITY -}; - - -struct camera2_hotpixel_ctl { - enum processing_mode mode; -}; - -struct camera2_hotpixel_dm { - enum processing_mode mode; -}; - - - -/* android.demosaic */ - -struct camera2_demosaic_ctl { - enum processing_mode mode; -}; - -struct camera2_demosaic_dm { - enum processing_mode mode; -}; - - - -/* android.noiseReduction */ - -struct camera2_noisereduction_ctl { - enum processing_mode mode; - uint32_t strength; -}; - -struct camera2_noisereduction_dm { - enum processing_mode mode; - uint32_t strength; -}; - - - -/* android.shading */ - -struct camera2_shading_ctl { - enum processing_mode mode; -}; - -struct camera2_shading_dm { - enum processing_mode mode; -}; - - - -/* android.geometric */ - -struct camera2_geometric_ctl { - enum processing_mode mode; -}; - -struct camera2_geometric_dm { - enum processing_mode mode; -}; - - - -/* android.colorCorrection */ - -enum colorcorrection_mode { - COLORCORRECTION_MODE_FAST = 1, - COLORCORRECTION_MODE_HIGH_QUALITY, - COLORCORRECTION_MODE_TRANSFORM_MATRIX, - COLORCORRECTION_MODE_EFFECT_MONO, - COLORCORRECTION_MODE_EFFECT_NEGATIVE, - COLORCORRECTION_MODE_EFFECT_SOLARIZE, - COLORCORRECTION_MODE_EFFECT_SEPIA, - COLORCORRECTION_MODE_EFFECT_POSTERIZE, - COLORCORRECTION_MODE_EFFECT_WHITEBOARD, - COLORCORRECTION_MODE_EFFECT_BLACKBOARD, - COLORCORRECTION_MODE_EFFECT_AQUA, - COLORCORRECTION_MODE_EFFECT_EMBOSS, - COLORCORRECTION_MODE_EFFECT_EMBOSS_MONO, - COLORCORRECTION_MODE_EFFECT_SKETCH, - COLORCORRECTION_MODE_EFFECT_RED_YELLOW_POINT, - COLORCORRECTION_MODE_EFFECT_GREEN_POINT, - COLORCORRECTION_MODE_EFFECT_BLUE_POINT, - COLORCORRECTION_MODE_EFFECT_MAGENTA_POINT, - COLORCORRECTION_MODE_EFFECT_WARM_VINTAGE, - COLORCORRECTION_MODE_EFFECT_COLD_VINTAGE, - COLORCORRECTION_MODE_EFFECT_WASHED, - COLORCORRECTION_MODE_EFFECT_BEAUTY_FACE, - TOTAOCOUNT_COLORCORRECTION_MODE_EFFECT -}; - - -struct camera2_colorcorrection_ctl { - enum colorcorrection_mode mode; - float transform[9]; - uint32_t hue; - uint32_t saturation; - uint32_t brightness; - uint32_t contrast; -}; - -struct camera2_colorcorrection_dm { - enum colorcorrection_mode mode; - float transform[9]; - uint32_t hue; - uint32_t saturation; - uint32_t brightness; - uint32_t contrast; -}; - -struct camera2_colorcorrection_sm { - /*assuming 10 supported modes*/ - uint8_t availableModes[CAMERA2_MAX_AVAILABLE_MODE]; - uint32_t hueRange[2]; - uint32_t saturationRange[2]; - uint32_t brightnessRange[2]; - uint32_t contrastRange[2]; -}; - - -/* android.tonemap */ - -enum tonemap_mode { - TONEMAP_MODE_FAST = 1, - TONEMAP_MODE_HIGH_QUALITY, - TONEMAP_MODE_CONTRAST_CURVE -}; - -struct camera2_tonemap_ctl { - enum tonemap_mode mode; - /* assuming maxCurvePoints = 64 */ - float curveRed[64]; - float curveGreen[64]; - float curveBlue[64]; -}; - -struct camera2_tonemap_dm { - enum tonemap_mode mode; - /* assuming maxCurvePoints = 64 */ - float curveRed[64]; - float curveGreen[64]; - float curveBlue[64]; -}; - -struct camera2_tonemap_sm { - uint32_t maxCurvePoints; -}; - -/* android.edge */ - -struct camera2_edge_ctl { - enum processing_mode mode; - uint32_t strength; -}; - -struct camera2_edge_dm { - enum processing_mode mode; - uint32_t strength; -}; - - - -/* android.scaler */ - -enum scaler_availableformats { - SCALER_FORMAT_BAYER_RAW, - SCALER_FORMAT_YV12, - SCALER_FORMAT_NV21, - SCALER_FORMAT_JPEG, - SCALER_FORMAT_UNKNOWN -}; - -struct camera2_scaler_ctl { - uint32_t cropRegion[4]; - uint32_t orientation; -}; - -struct camera2_scaler_dm { - uint32_t cropRegion[4]; - uint32_t orientation; -}; - -struct camera2_scaler_sm { - enum scaler_availableformats availableFormats[4]; - /*assuming # of availableFormats = 4*/ - uint32_t availableRawSizes; - uint64_t availableRawMinDurations; - /* needs check */ - uint32_t availableProcessedSizes[8]; - uint64_t availableProcessedMinDurations[8]; - uint32_t availableJpegSizes[8][2]; - uint64_t availableJpegMinDurations[8]; - uint32_t availableMaxDigitalZoom[8]; -}; - -/* android.jpeg */ -struct camera2_jpeg_ctl { - uint32_t quality; - uint32_t thumbnailSize[2]; - uint32_t thumbnailQuality; - double gpsCoordinates[3]; - uint32_t gpsProcessingMethod; - uint64_t gpsTimestamp; - uint32_t orientation; -}; - -struct camera2_jpeg_dm { - uint32_t quality; - uint32_t thumbnailSize[2]; - uint32_t thumbnailQuality; - double gpsCoordinates[3]; - uint32_t gpsProcessingMethod; - uint64_t gpsTimestamp; - uint32_t orientation; -}; - -struct camera2_jpeg_sm { - uint32_t availableThumbnailSizes[8][2]; - uint32_t maxSize; - /*assuming supported size=8*/ -}; - - - -/* android.statistics */ - -enum facedetect_mode { - FACEDETECT_MODE_OFF = 1, - FACEDETECT_MODE_SIMPLE, - FACEDETECT_MODE_FULL -}; - -enum stats_mode { - STATS_MODE_OFF = 1, - STATS_MODE_ON -}; - -enum stats_lowlightmode { - STATE_LLS_LEVEL_ZSL = 0, - STATE_LLS_LEVEL_LOW = 1, - STATE_LLS_LEVEL_HIGH = 2, - STATE_LLS_LEVEL_SIS = 3, - STATE_LLS_LEVEL_ZSL_LIKE = 4, - STATE_LLS_LEVEL_ZSL_FLASH = 16, -}; - -struct camera2_stats_ctl { - enum facedetect_mode faceDetectMode; - enum stats_mode histogramMode; - enum stats_mode sharpnessMapMode; -}; - - -struct camera2_stats_dm { - enum facedetect_mode faceDetectMode; - uint32_t faceRectangles[CAMERA2_MAX_FACES][4]; - uint8_t faceScores[CAMERA2_MAX_FACES]; - uint32_t faceLandmarks[CAMERA2_MAX_FACES][6]; - uint32_t faceIds[CAMERA2_MAX_FACES]; -/* PAYTON_CHECK_20120712 : histogram_mode -> stats_mode */ - enum stats_mode histogramMode; -/* [hj529.kim, 2012/07/19] androd.statistics.histogram */ - uint32_t histogram[3 * 256]; -/* PAYTON_CHECK_20120712 : sharpnessmap_mode -> stats_mode */ - enum stats_mode sharpnessMapMode; - /*sharpnessMap*/ - enum stats_lowlightmode LowLightMode; - uint32_t lls_tuning_set_index; - uint32_t lls_brightness_index; -}; - - -struct camera2_stats_sm { - uint8_t availableFaceDetectModes[CAMERA2_MAX_AVAILABLE_MODE]; - /*assuming supported modes = 3;*/ - uint32_t maxFaceCount; - uint32_t histogramBucketCount; - uint32_t maxHistogramCount; - uint32_t sharpnessMapSize[2]; - uint32_t maxSharpnessMapValue; -}; - -/* android.control */ - -enum aa_capture_intent { - AA_CAPTURE_INTENT_CUSTOM = 0, - AA_CAPTURE_INTENT_PREVIEW, - AA_CAPTURE_INTENT_STILL_CAPTURE, - AA_CAPTURE_INTENT_VIDEO_RECORD, - AA_CAPTURE_INTENT_VIDEO_SNAPSHOT, - AA_CAPTURE_INTENT_ZERO_SHUTTER_LAG, - AA_CAPTURE_INTENT_STILL_CAPTURE_OIS_SINGLE, - AA_CAPTURE_INTENT_STILL_CAPTURE_OIS_MULTI -}; - -enum aa_mode { - AA_CONTROL_OFF = 1, - AA_CONTROL_AUTO, - AA_CONTROL_USE_SCENE_MODE -}; - -enum aa_scene_mode { - AA_SCENE_MODE_UNSUPPORTED = 1, - AA_SCENE_MODE_FACE_PRIORITY, - AA_SCENE_MODE_ACTION, - AA_SCENE_MODE_PORTRAIT, - AA_SCENE_MODE_LANDSCAPE, - AA_SCENE_MODE_NIGHT, - AA_SCENE_MODE_NIGHT_PORTRAIT, - AA_SCENE_MODE_THEATRE, - AA_SCENE_MODE_BEACH, - AA_SCENE_MODE_SNOW, - AA_SCENE_MODE_SUNSET, - AA_SCENE_MODE_STEADYPHOTO, - AA_SCENE_MODE_FIREWORKS, - AA_SCENE_MODE_SPORTS, - AA_SCENE_MODE_PARTY, - AA_SCENE_MODE_CANDLELIGHT, - AA_SCENE_MODE_BARCODE, - AA_SCENE_MODE_NIGHT_CAPTURE, - AA_SCENE_MODE_ANTISHAKE, - AA_SCENE_MODE_HDR, - AA_SCENE_MODE_LLS, - AA_SCENE_MODE_FDAE, - AA_SCENE_MODE_DUAL, - AA_SCENE_MODE_DRAMA, - AA_SCENE_MODE_ANIMATED, - AA_SCENE_MODE_PANORAMA, - AA_SCENE_MODE_GOLF, - AA_SCENE_MODE_PREVIEW, - AA_SCENE_MODE_VIDEO, - AA_SCENE_MODE_SLOWMOTION_2, - AA_SCENE_MODE_SLOWMOTION_4_8, - AA_SCENE_MODE_DUAL_PREVIEW, - AA_SCENE_MODE_DUAL_VIDEO, - AA_SCENE_MODE_120_PREVIEW, - AA_SCENE_MODE_LIGHT_TRACE -}; - -enum aa_effect_mode { - AA_EFFECT_OFF = 1, - AA_EFFECT_MONO, - AA_EFFECT_NEGATIVE, - AA_EFFECT_SOLARIZE, - AA_EFFECT_SEPIA, - AA_EFFECT_POSTERIZE, - AA_EFFECT_WHITEBOARD, - AA_EFFECT_BLACKBOARD, - AA_EFFECT_AQUA -}; - -enum aa_aemode { - AA_AEMODE_OFF = 1, - AA_AEMODE_LOCKED, - AA_AEMODE_CENTER, - AA_AEMODE_AVERAGE, - AA_AEMODE_MATRIX, - AA_AEMODE_SPOT, - AA_AEMODE_CENTER_TOUCH, - AA_AEMODE_AVERAGE_TOUCH, - AA_AEMODE_MATRIX_TOUCH, - AA_AEMODE_SPOT_TOUCH -}; - -enum aa_ae_flashmode { - /*all flash control stop*/ - AA_FLASHMODE_OFF = 1, - /*flash start*/ - AA_FLASHMODE_START, - /*flash cancle*/ - AA_FLASHMODE_CANCLE, - /*internal 3A can control flash*/ - AA_FLASHMODE_ON, - /*internal 3A can do auto flash algorithm*/ - AA_FLASHMODE_AUTO, - /*internal 3A can fire flash by auto result*/ - AA_FLASHMODE_CAPTURE, - /*internal 3A can control flash forced*/ - AA_FLASHMODE_ON_ALWAYS -}; - -enum aa_ae_antibanding_mode { - AA_AE_ANTIBANDING_OFF = 1, - AA_AE_ANTIBANDING_50HZ, - AA_AE_ANTIBANDING_60HZ, - AA_AE_ANTIBANDING_AUTO, - AA_AE_ANTIBANDING_AUTO_50HZ, /*50Hz + Auto*/ - AA_AE_ANTIBANDING_AUTO_60HZ /*60Hz + Auto*/ -}; - -enum aa_awbmode { - AA_AWBMODE_OFF = 1, - AA_AWBMODE_LOCKED, - AA_AWBMODE_WB_AUTO, - AA_AWBMODE_WB_INCANDESCENT, - AA_AWBMODE_WB_FLUORESCENT, - AA_AWBMODE_WB_WARM_FLUORESCENT, - AA_AWBMODE_WB_DAYLIGHT, - AA_AWBMODE_WB_CLOUDY_DAYLIGHT, - AA_AWBMODE_WB_TWILIGHT, - AA_AWBMODE_WB_SHADE -}; - -enum aa_afmode { - /* These modes are adjusted immediatly */ - AA_AFMODE_OFF = 1, - AA_AFMODE_SLEEP, - AA_AFMODE_INFINITY, - AA_AFMODE_MACRO, - AA_AFMODE_DELAYED_OFF, - - /* Single AF. These modes are adjusted when afTrigger is changed from 0 to 1 */ - AA_AFMODE_AUTO = 11, - AA_AFMODE_AUTO_MACRO, - AA_AFMODE_AUTO_VIDEO, - AA_AFMODE_AUTO_FACE, - - /* Continuous AF. These modes are adjusted when afTrigger is changed from 0 to 1 */ - AA_AFMODE_CONTINUOUS_PICTURE = 21, - AA_AFMODE_CONTINUOUS_VIDEO, - AA_AFMODE_CONTINUOUS_PICTURE_FACE, - - /* Special modes for PDAF */ - AA_AFMODE_PDAF_OUTFOCUSING = 31, - AA_AFMODE_PDAF_OUTFOCUSING_FACE, - AA_AFMODE_PDAF_OUTFOCUSING_CONTINUOUS_PICTURE, - AA_AFMODE_PDAF_OUTFOCUSING_CONTINUOUS_PICTURE_FACE, - - /* Not supported yet */ - AA_AFMODE_EDOF = 41, -}; - -/* camera2_aa_ctl.afRegions[4] */ -enum aa_afmode_ext { - AA_AFMODE_EXT_OFF = 1000, - /* Increase macro range for special app */ - AA_AFMODE_EXT_ADVANCED_MACRO_FOCUS = 1001, - /* Set AF region for OCR */ - AA_AFMODE_EXT_FOCUS_LOCATION = 1002, -}; - -enum aa_afstate { - AA_AFSTATE_INACTIVE = 1, - AA_AFSTATE_PASSIVE_SCAN, - AA_AFSTATE_ACTIVE_SCAN, - AA_AFSTATE_AF_ACQUIRED_FOCUS, - AA_AFSTATE_AF_FAILED_FOCUS -}; - -enum ae_state { - AE_STATE_INACTIVE = 1, - AE_STATE_SEARCHING, - AE_STATE_CONVERGED, - AE_STATE_LOCKED, - AE_STATE_FLASH_REQUIRED, - AE_STATE_PRECAPTURE -}; - -enum awb_state { - AWB_STATE_INACTIVE = 1, - AWB_STATE_SEARCHING, - AWB_STATE_CONVERGED, - AWB_STATE_LOCKED -}; - -enum aa_isomode { - AA_ISOMODE_AUTO = 1, - AA_ISOMODE_MANUAL, -}; - -struct camera2_aa_ctl { - enum aa_capture_intent captureIntent; - enum aa_mode mode; - /*enum aa_effect_mode effectMode;*/ - enum aa_scene_mode sceneMode; - uint32_t videoStabilizationMode; - enum aa_aemode aeMode; - uint32_t aeRegions[5]; - /*5 per region(x1,y1,x2,y2,weight). currently assuming 1 region.*/ - int32_t aeExpCompensation; - uint32_t aeTargetFpsRange[2]; - enum aa_ae_antibanding_mode aeAntibandingMode; - enum aa_ae_flashmode aeflashMode; - enum aa_awbmode awbMode; - uint32_t awbRegions[5]; - /*5 per region(x1,y1,x2,y2,weight). currently assuming 1 region.*/ - enum aa_afmode afMode; - uint32_t afRegions[5]; - /*5 per region(x1,y1,x2,y2,weight). currently assuming 1 region.*/ - uint32_t afTrigger; - enum aa_isomode isoMode; - uint32_t isoValue; - int32_t awbValue; - uint32_t reserved[10]; -}; - -struct camera2_aa_dm { - enum aa_mode mode; - enum aa_effect_mode effectMode; - enum aa_scene_mode sceneMode; - uint32_t videoStabilizationMode; - enum aa_aemode aeMode; - /*needs check*/ - uint32_t aeRegions[5]; - /*5 per region(x1,y1,x2,y2,weight). currently assuming 1 region.*/ - enum ae_state aeState; - enum aa_ae_flashmode aeflashMode; - /*needs check*/ - enum aa_awbmode awbMode; - uint32_t awbRegions[5]; - enum awb_state awbState; - /*5 per region(x1,y1,x2,y2,weight). currently assuming 1 region.*/ - enum aa_afmode afMode; - uint32_t afRegions[5]; - /*5 per region(x1,y1,x2,y2,weight). currently assuming 1 region*/ - enum aa_afstate afState; - enum aa_isomode isoMode; - uint32_t isoValue; - uint32_t reserved[10]; -}; - -struct camera2_aa_sm { - uint8_t availableSceneModes[CAMERA2_MAX_AVAILABLE_MODE]; - uint8_t availableEffects[CAMERA2_MAX_AVAILABLE_MODE]; - /*assuming # of available scene modes = 10*/ - uint32_t maxRegions; - uint8_t aeAvailableModes[CAMERA2_MAX_AVAILABLE_MODE]; - /*assuming # of available ae modes = 8*/ - struct rational aeCompensationStep; - int32_t aeCompensationRange[2]; - uint32_t aeAvailableTargetFpsRanges[CAMERA2_MAX_AVAILABLE_MODE][2]; - uint8_t aeAvailableAntibandingModes[CAMERA2_MAX_AVAILABLE_MODE]; - uint8_t awbAvailableModes[CAMERA2_MAX_AVAILABLE_MODE]; - /*assuming # of awbAvailableModes = 10*/ - uint8_t afAvailableModes[CAMERA2_MAX_AVAILABLE_MODE]; - /*assuming # of afAvailableModes = 4*/ - uint8_t availableVideoStabilizationModes[4]; - /*assuming # of availableVideoStabilizationModes = 4*/ - uint32_t isoRange[2]; -}; - -struct camera2_lens_usm { - /** Frame delay between sending command and applying frame data */ - uint32_t focusDistanceFrameDelay; -}; - -struct camera2_sensor_usm { - /** Frame delay between sending command and applying frame data */ - uint32_t exposureTimeFrameDelay; - uint32_t frameDurationFrameDelay; - uint32_t sensitivityFrameDelay; -}; - -struct camera2_flash_usm { - /** Frame delay between sending command and applying frame data */ - uint32_t flashModeFrameDelay; - uint32_t firingPowerFrameDelay; - uint64_t firingTimeFrameDelay; -}; - -struct camera2_ctl { - struct camera2_request_ctl request; - struct camera2_lens_ctl lens; - struct camera2_sensor_ctl sensor; - struct camera2_flash_ctl flash; - struct camera2_hotpixel_ctl hotpixel; - struct camera2_demosaic_ctl demosaic; - struct camera2_noisereduction_ctl noise; - struct camera2_shading_ctl shading; - struct camera2_geometric_ctl geometric; - struct camera2_colorcorrection_ctl color; - struct camera2_tonemap_ctl tonemap; - struct camera2_edge_ctl edge; - struct camera2_scaler_ctl scaler; - struct camera2_jpeg_ctl jpeg; - struct camera2_stats_ctl stats; - struct camera2_aa_ctl aa; - struct camera2_entry_ctl entry; -}; - -struct camera2_dm { - struct camera2_request_dm request; - struct camera2_lens_dm lens; - struct camera2_sensor_dm sensor; - struct camera2_flash_dm flash; - struct camera2_hotpixel_dm hotpixel; - struct camera2_demosaic_dm demosaic; - struct camera2_noisereduction_dm noise; - struct camera2_shading_dm shading; - struct camera2_geometric_dm geometric; - struct camera2_colorcorrection_dm color; - struct camera2_tonemap_dm tonemap; - struct camera2_edge_dm edge; - struct camera2_scaler_dm scaler; - struct camera2_jpeg_dm jpeg; - struct camera2_stats_dm stats; - struct camera2_aa_dm aa; - struct camera2_entry_dm entry; -}; - -struct camera2_sm { - struct camera2_lens_sm lens; - struct camera2_sensor_sm sensor; - struct camera2_flash_sm flash; - struct camera2_colorcorrection_sm color; - struct camera2_tonemap_sm tonemap; - struct camera2_scaler_sm scaler; - struct camera2_jpeg_sm jpeg; - struct camera2_stats_sm stats; - struct camera2_aa_sm aa; - - /** User-defined(ispfw specific) static metadata. */ - struct camera2_lens_usm lensUd; - struct camera2_sensor_usm sensorUd; - struct camera2_flash_usm flashUd; -}; - -/** \brief - User-defined control for lens. -*/ -struct camera2_lens_uctl { - struct camera2_lens_ctl ctl; - - /** It depends by posSize */ - uint32_t pos; - /** It depends by af algorithm(AF pos bit. normally 8 or 9 or 10) */ - uint32_t posSize; - /** It depends by af algorithm */ - uint32_t direction; - /** Some actuator support slew rate control. */ - uint32_t slewRate; -}; - -/** \brief - User-defined metadata for lens. -*/ -struct camera2_lens_udm { - /** It depends by posSize */ - uint32_t pos; - /** It depends by af algorithm(AF pos bit. normally 8 or 9 or 10) */ - uint32_t posSize; - /** It depends by af algorithm */ - uint32_t direction; - /** Some actuator support slew rate control. */ - uint32_t slewRate; -}; - -/** \brief - User-defined metadata for ae. -*/ -struct camera2_ae_udm { - /** vendor specific length */ - uint32_t vsLength; - /** vendor specific data array */ - uint32_t vendorSpecific[CAMERA2_MAX_VENDER_LENGTH]; -}; - -/** \brief - User-defined metadata for awb. -*/ -struct camera2_awb_udm { - /** vendor specific length */ - uint32_t vsLength; - /** vendor specific data array */ - uint32_t vendorSpecific[CAMERA2_MAX_VENDER_LENGTH]; -}; - -/** \brief - User-defined metadata for af. -*/ -struct camera2_af_udm { - /** vendor specific length */ - uint32_t vsLength; - /** vendor specific data array */ - uint32_t vendorSpecific[CAMERA2_MAX_VENDER_LENGTH]; - int32_t lensPositionInfinity; - int32_t lensPositionMacro; - int32_t lensPositionCurrent; -}; - -/** \brief - User-defined metadata for anti-shading. -*/ -struct camera2_as_udm { - /** vendor specific length */ - uint32_t vsLength; - /** vendor specific data array */ - uint32_t vendorSpecific[CAMERA2_MAX_VENDER_LENGTH]; -}; - -/** \brief - User-defined metadata for anti-shading. -*/ -struct camera2_ipc_udm { - /** vendor specific length */ - uint32_t vsLength; - /** vendor specific data array */ - uint32_t vendorSpecific[CAMERA2_MAX_VENDER_LENGTH]; -}; - -/** \brief - User-defined metadata for aa. -*/ -struct camera2_internal_udm { - /** vendor specific data array */ - uint32_t vendorSpecific1[CAMERA2_MAX_VENDER_LENGTH]; - uint32_t vendorSpecific2[CAMERA2_MAX_VENDER_LENGTH]; - /* - * vendorSpecific2[0] : info - * vendorSpecific2[100] : 0:sirc 1:cml - * vendorSpecific2[101] : cml exposure - * vendorSpecific2[102] : cml iso(gain) - * vendorSpecific2[103] : cml Bv - */ -}; - -/** \brief - User-defined control for sensor. -*/ -struct camera2_sensor_uctl { - struct camera2_sensor_ctl ctl; - /** Dynamic frame duration. - This feature is decided to max. value between - 'sensor.exposureTime'+alpha and 'sensor.frameDuration'. - */ - uint64_t dynamicFrameDuration; - uint32_t analogGain; - uint32_t digitalGain; - uint64_t longExposureTime; /* For supporting WDR */ - uint64_t shortExposureTime; - uint32_t longAnalogGain; - uint32_t shortAnalogGain; - uint32_t longDigitalGain; - uint32_t shortDigitalGain; -}; - -struct camera2_scaler_uctl { - /** \brief - target address for next frame. - \remarks - [0] invalid address, stop - [others] valid address - */ - uint32_t sccTargetAddress[4]; - uint32_t scpTargetAddress[4]; - uint32_t disTargetAddress[4]; - uint32_t taapTargetAddress[4]; /* 3AA preview DMA */ - uint32_t taacTargetAddress[4]; /* 3AA capture DMA */ - uint32_t orientation; -}; - -struct camera2_flash_uctl { - struct camera2_flash_ctl ctl; -}; - -struct camera2_bayer_uctl { - struct camera2_scaler_ctl ctl; -}; - -enum companion_drc_mode { - COMPANION_DRC_OFF = 1, - COMPANION_DRC_ON, -}; - -enum companion_wdr_mode { - COMPANION_WDR_OFF = 1, - COMPANION_WDR_ON, -}; - -enum companion_paf_mode { - COMPANION_PAF_OFF = 1, - COMPANION_PAF_ON, -}; - -enum companion_bypass_mode { - COMPANION_FULL_BYPASS_OFF = 1, - COMPANION_FULL_BYPASS_ON, -}; - -enum companion_lsc_mode { - COMPANION_LSC_OFF = 1, - COMPANION_LSC_ON, -}; - -struct camera2_companion_uctl { - enum companion_drc_mode drc_mode; - enum companion_wdr_mode wdr_mode; - enum companion_paf_mode paf_mode; -}; - -struct camera2_bayer_udm { - uint32_t width; - uint32_t height; -}; - -struct camera2_pdaf_single_result { - uint16_t mode; - uint16_t goalPos; - uint16_t reliability; - uint16_t currentPos; -}; - -struct camera2_pdaf_multi_result { - uint16_t mode; - uint16_t goalPos; - uint16_t reliability; -}; - -struct camera2_pdaf_udm { - uint16_t numCol; /* width of PDAF map, 0 means no multi PDAF data */ - uint16_t numRow; /* height of PDAF map, 0 means no multi PDAF data */ - struct camera2_pdaf_multi_result multiResult[CAMERA2_MAX_PDAF_MULTIROI_COLUMN][CAMERA2_MAX_PDAF_MULTIROI_ROW]; - struct camera2_pdaf_single_result singleResult; - uint16_t lensPosResolution; /* 1023(unsigned 10bit) */ -}; - -struct camera2_companion_udm { - enum companion_drc_mode drc_mode; - enum companion_wdr_mode wdr_mode; - enum companion_paf_mode paf_mode; - struct camera2_pdaf_udm pdaf; -}; - -/** \brief - User-defined control area. - \remarks - sensor, lens, flash category is empty value. - It should be filled by a5 for SET_CAM_CONTROL command. - Other category is filled already from host. -*/ -struct camera2_uctl { - /** \brief - Set sensor, lens, flash control for next frame. - \remarks - This flag can be combined. - [0 bit] lens - [1 bit] sensor - [2 bit] flash - */ - uint32_t uUpdateBitMap; - - /** For debugging */ - uint32_t uFrameNumber; - - /** ispfw specific control(user-defined) of lens. */ - struct camera2_lens_uctl lensUd; - /** ispfw specific control(user-defined) of sensor. */ - struct camera2_sensor_uctl sensorUd; - /** ispfw specific control(user-defined) of flash. */ - struct camera2_flash_uctl flashUd; - - struct camera2_scaler_uctl scalerUd; - /** ispfw specific control(user-defined) of Bcrop1. */ - struct camera2_bayer_uctl bayerUd; - struct camera2_companion_uctl companionUd; - uint32_t reserved[10]; -}; - -struct camera2_udm { - struct camera2_lens_udm lens; - struct camera2_ae_udm ae; - struct camera2_awb_udm awb; - struct camera2_af_udm af; - struct camera2_as_udm as; - struct camera2_ipc_udm ipc; - /* KJ_121129 : Add udm for sirc sdk. */ - struct camera2_internal_udm internal; - /* Add udm for bayer down size. */ - struct camera2_bayer_udm bayer; - struct camera2_companion_udm companion; - uint32_t reserved[10]; -}; - -struct camera2_shot { - /*google standard area*/ - struct camera2_ctl ctl; - struct camera2_dm dm; - /*user defined area*/ - struct camera2_uctl uctl; - struct camera2_udm udm; - /*magic : 23456789*/ - uint32_t magicNumber; -}; - -struct camera2_node_input { - /** \brief - intput crop region - \remarks - [0] x axis - [1] y axie - [2] width - [3] height - */ - uint32_t cropRegion[4]; -}; - -struct camera2_node_output { - /** \brief - output crop region - \remarks - [0] x axis - [1] y axie - [2] width - [3] height - */ - uint32_t cropRegion[4]; -}; - -struct camera2_node { - /** \brief - video node id - \remarks - [x] video node id - */ - uint32_t vid; - - /** \brief - stream control - \remarks - [0] disable stream out - [1] enable stream out - */ - uint32_t request; - - struct camera2_node_input input; - struct camera2_node_output output; -}; - -struct camera2_node_group { - /** \brief - output device node - \remarks - this node can pull in image - */ - struct camera2_node leader; - - /** \brief - capture node list - \remarks - this node can get out image - 3AAC, 3AAP, SCC, SCP, VDISC - */ - struct camera2_node capture[CAPTURE_NODE_MAX]; -}; - -/** \brief - Structure for interfacing between HAL and driver. -*/ -struct camera2_shot_ext { - /* - * --------------------------------------------------------------------- - * HAL Control Part - * --------------------------------------------------------------------- - */ - - /** \brief - setfile change - \remarks - [x] mode for setfile - */ - uint32_t setfile; - - /** \brief - node group control - \remarks - per frame control - */ - struct camera2_node_group node_group; - - /** \brief - post processing control(DRC) - \remarks - [0] bypass off - [1] bypass on - */ - uint32_t drc_bypass; - - /** \brief - post processing control(DIS) - \remarks - [0] bypass off - [1] bypass on - */ - uint32_t dis_bypass; - - /** \brief - post processing control(3DNR) - \remarks - [0] bypass off - [1] bypass on - */ - uint32_t dnr_bypass; - - /** \brief - post processing control(FD) - \remarks - [0] bypass off - [1] bypass on - */ - uint32_t fd_bypass; - - /* - * --------------------------------------------------------------------- - * DRV Control Part - * --------------------------------------------------------------------- - */ - - /** \brief - requested frames state. - driver return the information everytime - when dequeue is requested. - \remarks - [X] count - */ - uint32_t free_cnt; - uint32_t request_cnt; - uint32_t process_cnt; - uint32_t complete_cnt; - - /* reserved for future */ - uint32_t reserved[15]; - - /** \brief - processing time debugging - \remarks - taken time(unit : struct timeval) - [0][x] flite start - [1][x] flite end - [2][x] DRV Shot - [3][x] DRV Shot done - [4][x] DRV Meta done - */ - uint32_t timeZone[10][2]; - - /* - * --------------------------------------------------------------------- - * Camera API - * --------------------------------------------------------------------- - */ - - struct camera2_shot shot; -}; - -/** \brief - stream structure for scaler. -*/ -struct camera2_stream { - /** \brief - this address for verifying conincidence of index and address - \remarks - [X] kernel virtual address for this buffer - */ - uint32_t address; - - /** \brief - this frame count is from FLITE through dm.request.fcount, - this count increases every frame end. initial value is 1. - \remarks - [X] frame count - */ - uint32_t fcount; - - /** \brief - this request count is from HAL through ctl.request.fcount, - this count is the unique. - \remarks - [X] request count - */ - uint32_t rcount; - - /** \brief - frame index of isp framemgr. - this value is for driver internal debugging - \remarks - [X] frame index - */ - uint32_t findex; - - /** \brief - frame validation of isp framemgr. - this value is for driver and HAL internal debugging - \remarks - [X] frame valid - */ - uint32_t fvalid; - - /** \brief - output crop region - this value mean the output image places the axis of memory space - \remarks - [0] crop x axis - [1] crop y axis - [2] width - [3] height - */ - uint32_t input_crop_region[4]; - uint32_t output_crop_region[4]; -}; - -#define CAM_LENS_CMD (0x1 << 0x0) -#define CAM_SENSOR_CMD (0x1 << 0x1) -#define CAM_FLASH_CMD (0x1 << 0x2) - -/* typedefs below are for firmware sources */ - -typedef enum metadata_mode metadata_mode_t; -typedef struct camera2_request_ctl camera2_request_ctl_t; -typedef struct camera2_request_dm camera2_request_dm_t; -typedef enum optical_stabilization_mode optical_stabilization_mode_t; -typedef enum lens_facing lens_facing_t; -typedef struct camera2_entry_ctl camera2_entry_ctl_t; -typedef struct camera2_entry_dm camera2_entry_dm_t; -typedef struct camera2_lens_ctl camera2_lens_ctl_t; -typedef struct camera2_lens_dm camera2_lens_dm_t; -typedef struct camera2_lens_sm camera2_lens_sm_t; -typedef enum sensor_colorfilterarrangement sensor_colorfilterarrangement_t; -typedef enum sensor_ref_illuminant sensor_ref_illuminant_t; -typedef struct camera2_sensor_ctl camera2_sensor_ctl_t; -typedef struct camera2_sensor_dm camera2_sensor_dm_t; -typedef struct camera2_sensor_sm camera2_sensor_sm_t; -typedef enum flash_mode flash_mode_t; -typedef struct camera2_flash_ctl camera2_flash_ctl_t; -typedef struct camera2_flash_dm camera2_flash_dm_t; -typedef struct camera2_flash_sm camera2_flash_sm_t; -typedef enum processing_mode processing_mode_t; -typedef struct camera2_hotpixel_ctl camera2_hotpixel_ctl_t; -typedef struct camera2_hotpixel_dm camera2_hotpixel_dm_t; - -typedef struct camera2_demosaic_ctl camera2_demosaic_ctl_t; -typedef struct camera2_demosaic_dm camera2_demosaic_dm_t; -typedef struct camera2_noisereduction_ctl camera2_noisereduction_ctl_t; -typedef struct camera2_noisereduction_dm camera2_noisereduction_dm_t; -typedef struct camera2_shading_ctl camera2_shading_ctl_t; -typedef struct camera2_shading_dm camera2_shading_dm_t; -typedef struct camera2_geometric_ctl camera2_geometric_ctl_t; -typedef struct camera2_geometric_dm camera2_geometric_dm_t; -typedef enum colorcorrection_mode colorcorrection_mode_t; -typedef struct camera2_colorcorrection_ctl camera2_colorcorrection_ctl_t; -typedef struct camera2_colorcorrection_dm camera2_colorcorrection_dm_t; -typedef struct camera2_colorcorrection_sm camera2_colorcorrection_sm_t; -typedef enum tonemap_mode tonemap_mode_t; -typedef struct camera2_tonemap_ctl camera2_tonemap_ctl_t; -typedef struct camera2_tonemap_dm camera2_tonemap_dm_t; -typedef struct camera2_tonemap_sm camera2_tonemap_sm_t; - -typedef struct camera2_edge_ctl camera2_edge_ctl_t; -typedef struct camera2_edge_dm camera2_edge_dm_t; -typedef enum scaler_availableformats scaler_availableformats_t; -typedef struct camera2_scaler_ctl camera2_scaler_ctl_t; -typedef struct camera2_scaler_dm camera2_scaler_dm_t; -typedef struct camera2_jpeg_ctl camera2_jpeg_ctl_t; -typedef struct camera2_jpeg_dm camera2_jpeg_dm_t; -typedef struct camera2_jpeg_sm camera2_jpeg_sm_t; -typedef enum facedetect_mode facedetect_mode_t; -typedef enum stats_mode stats_mode_t; -typedef struct camera2_stats_ctl camera2_stats_ctl_t; -typedef struct camera2_stats_dm camera2_stats_dm_t; -typedef struct camera2_stats_sm camera2_stats_sm_t; -typedef enum aa_capture_intent aa_capture_intent_t; -typedef enum aa_mode aa_mode_t; -typedef enum aa_scene_mode aa_scene_mode_t; -typedef enum aa_effect_mode aa_effect_mode_t; -typedef enum aa_aemode aa_aemode_t; -typedef enum aa_ae_antibanding_mode aa_ae_antibanding_mode_t; -typedef enum aa_awbmode aa_awbmode_t; -typedef enum aa_afmode aa_afmode_t; -typedef enum aa_afstate aa_afstate_t; -typedef struct camera2_aa_ctl camera2_aa_ctl_t; -typedef struct camera2_aa_dm camera2_aa_dm_t; -typedef struct camera2_aa_sm camera2_aa_sm_t; -typedef struct camera2_lens_usm camera2_lens_usm_t; -typedef struct camera2_sensor_usm camera2_sensor_usm_t; -typedef struct camera2_flash_usm camera2_flash_usm_t; -typedef struct camera2_ctl camera2_ctl_t; -typedef struct camera2_uctl camera2_uctl_t; -typedef struct camera2_dm camera2_dm_t; -typedef struct camera2_sm camera2_sm_t; - -typedef struct camera2_scaler_sm camera2_scaler_sm_t; -typedef struct camera2_scaler_uctl camera2_scaler_uctl_t; - -typedef struct camera2_sensor_uctl camera2_sensor_uctl_t; -typedef struct camera2_lens_uctl camera2_lens_uctl_t; -typedef struct camera2_lens_udm camera2_lens_udm_t; - -typedef struct camera2_ae_udm camera2_ae_udm_t; -typedef struct camera2_awb_udm camera2_awb_udm_t; -typedef struct camera2_af_udm camera2_af_udm_t; -typedef struct camera2_as_udm camera2_as_udm_t; -typedef struct camera2_ipc_udm camera2_ipc_udm_t; -typedef struct camera2_internal_udm camera2_internal_udm_t; - -typedef struct camera2_flash_uctl camera2_flash_uctl_t; - -typedef struct camera2_shot camera2_shot_t; - -#endif diff --git a/packaging/gst-plugins-camera-n4.spec b/packaging/gst-plugins-camera-n4.spec index dc575bc..d5f5b8d 100644 --- a/packaging/gst-plugins-camera-n4.spec +++ b/packaging/gst-plugins-camera-n4.spec @@ -1,9 +1,9 @@ Name: gst-plugins-camera-n4 Summary: GStreamer codec plugins package for N4 -Version: 0.0.1 -Release: 2 +Version: 0.0.2 +Release: 0 Group: Multimedia/Framework -License: LGPL-2.1+ and Apache-2.0 +License: LGPL-2.1 Source0: %{name}-%{version}.tar.gz ExclusiveArch: %arm aarch64 BuildRequires: pkgconfig(gstreamer-plugins-base-1.0) @@ -13,7 +13,8 @@ BuildRequires: pkgconfig(libtbm) BuildRequires: pkgconfig(libdrm) BuildRequires: pkgconfig(libdrm_exynos) BuildRequires: gstreamer-devel -BuildRequires: linux-glibc-devel +BuildRequires: arm64-tm2-linux-kernel-headers +BuildConflicts: linux-glibc-devel %description GStreamer codec plugins package for N4 @@ -30,15 +31,11 @@ sh ./autogen.sh make %{?jobs:-j%jobs} %install -rm -rf %{buildroot} -mkdir -p %{buildroot}/usr/share/license -cp LICENSE.LGPLv2 %{buildroot}/usr/share/license/%{name} -cat LICENSE.APLv2 >> %{buildroot}/usr/share/license/%{name} %make_install %files %manifest gst-plugins-camera-n4.manifest +%license LICENSE.LGPLv2 %defattr(-,root,root,-) %{_libdir}/gstreamer-1.0/lib*.so* -%{_datadir}/license/%{name} |