summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeongmo Yang <jm80.yang@samsung.com>2017-06-22 16:52:58 +0900
committerJeongmo Yang <jm80.yang@samsung.com>2017-06-23 10:41:58 +0900
commit8c8b2f331dc0ceb725337a0b209322633e2e3aa0 (patch)
treea2a7096e836f141725bdbd2db651fa5227ff2860
parentad72e08f7165dcef00589e593537d465397fac0e (diff)
downloadgst-plugins-camera-n4-8c8b2f331dc0ceb725337a0b209322633e2e3aa0.tar.gz
gst-plugins-camera-n4-8c8b2f331dc0ceb725337a0b209322633e2e3aa0.tar.bz2
gst-plugins-camera-n4-8c8b2f331dc0ceb725337a0b209322633e2e3aa0.zip
- 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.APLv2206
-rw-r--r--camerasrc/src/camerasrc.c2
-rw-r--r--camerasrc/src/include/fimc-is-metadata.h1473
-rw-r--r--packaging/gst-plugins-camera-n4.spec15
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}