summaryrefslogtreecommitdiffstats
path: root/src/plugins/symbian/ecam/s60cameraconstants.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/symbian/ecam/s60cameraconstants.h')
-rw-r--r--src/plugins/symbian/ecam/s60cameraconstants.h257
1 files changed, 257 insertions, 0 deletions
diff --git a/src/plugins/symbian/ecam/s60cameraconstants.h b/src/plugins/symbian/ecam/s60cameraconstants.h
new file mode 100644
index 000000000..4b415c3e8
--- /dev/null
+++ b/src/plugins/symbian/ecam/s60cameraconstants.h
@@ -0,0 +1,257 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the Qt Mobility Components.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef S60CAMERACONSTANTS_H
+#define S60CAMERACONSTANTS_H
+
+//=============================================================================
+
+// GENERAL SETTINGS
+
+#define KDefaultCameraDevice 0
+#define KECamCameraPriority 0
+#define KInactivityTimerTimeout 30000 // msec
+#define KSymbianFineResolutionFactor 100.0
+#define KDefaultOpticalZoom 1.0
+#define KDefaultDigitalZoom 1.0
+#define KSmoothZoomStep 1
+#define KDefaultFocusMode QCameraFocus::AutoFocus
+
+#define KDefaultViewfinderSize QSize(320,240)
+#define KDefaultSizePreview_Normal TSize(640,480)
+#define KDefaultSizePreview_Wide TSize(640,360)
+#define KDefaultSizePreview_CIF TSize(352,288)
+#define KDefaultSizePreview_PAL TSize(640,512)
+#define KDefaultSizePreview_NTSC TSize(640,426)
+#define KDefaultFormatPreview CCamera::EFormatFbsBitmapColor16MU
+#define KViewfinderFrameRate 30
+#define KMaxVFErrorsSignalled 3
+
+//=============================================================================
+
+// IMAGE SETTINGS
+
+#define KDefaultImagePath QLatin1String("c:\\Data\\Images")
+#define KDefaultImageFileName QLatin1String("image.jpg")
+#define KDefaultImageCodec QLatin1String("image/jpeg")
+#define KDefaultImageFormatPrimaryCam CCamera::EFormatExif
+#ifdef SYMBIAN_3_PLATFORM
+#define KDefaultImageFormatSecondaryCam CCamera::EFormatExif
+#define KDefaultImageResolution QSize(3264, 2448)
+#else // Pre-Symbian3 Platforms
+#define KDefaultImageFormatSecondaryCam CCamera::EFormatFbsBitmapColor64K
+#define KDefaultImageResolution QSize(2048, 1536)
+#endif // SYMBIAN_3_PLATFORM
+#define KSymbianImageQualityCoefficient 25
+// This must be divisible by 4 and creater or equal to 8
+#define KSnapshotDownScaleFactor 8
+#define KSnapshotMinWidth 640
+#define KSnapshotMinHeight 360
+#define KJpegQualityVeryLow 40
+#define KJpegQualityLow 50
+#define KJpegQualityNormal 75
+#define KJpegQualityHigh 85
+#define KJpegQualityVeryHigh 95
+#define KDefaultImageQuality KJpegQualityHigh
+
+//=============================================================================
+
+// VIDEO SETTINGS
+
+// ================
+// General settings
+// ================
+
+// Dummy file name to execute CVideoRecorderUtility::OpenFileL() without
+// knowing the actual outputLocation. This is needed to be able to query/set
+// supported video settings.
+_LIT(KDummyVideoFile, "c:\\data\\temp");
+
+// Default container MIME type
+#define KMimeTypeDefaultContainer QLatin1String("video/mp4")
+#define KDefaultVideoPath QLatin1String("c:\\Data\\Videos")
+#define KDefaultVideoFileName QLatin1String("video.mp4")
+#define KDurationChangedInterval 1000 // 1 second
+
+// ==============
+// Audio Settings
+// ==============
+
+// Default audio codec MIME type
+#define KMimeTypeDefaultAudioCodec QLatin1String("audio/aac")
+
+// Default audio settings for video recording
+#define KDefaultChannelCount -1 // Not Supported on Symbian
+#define KDefaultBitRate 32000 // 32kbps
+#define KDefaultSampleRate -1 // Not Supported on Symbian
+
+// ==============
+// Video Settings
+// ==============
+
+// Default video codec MIME type
+#ifdef SYMBIAN_3_PLATFORM
+ // H.264: BaselineProfile Level 3.1, Max resolution: 1280x720
+ #define KMimeTypeDefaultVideoCodec QLatin1String("video/H264; profile-level-id=42801F")
+#else
+ // MPEG-4: Simple Profile, Level 4, Max resolution: 640x480
+ #define KMimeTypeDefaultVideoCodec QLatin1String("video/mp4v-es; profile-level-id=4")
+#endif
+
+// Maximum resolutions for encoder MIME Types
+// H.263
+#define KResH263 QSize(176,144);
+#define KResH263_Profile0 QSize(176,144);
+#define KResH263_Profile0_Level10 QSize(176,144);
+#define KResH263_Profile0_Level20 QSize(352,288);
+#define KResH263_Profile0_Level30 QSize(352,288);
+#define KResH263_Profile0_Level40 QSize(352,288);
+#define KResH263_Profile0_Level45 QSize(176,144);
+#define KResH263_Profile0_Level50 QSize(352,288);
+#define KResH263_Profile3 QSize(176,144);
+// MPEG-4
+#define KResMPEG4 QSize(176,144);
+#define KResMPEG4_PLID_1 QSize(176,144);
+#define KResMPEG4_PLID_2 QSize(352,288);
+#define KResMPEG4_PLID_3 QSize(352,288);
+#define KResMPEG4_PLID_4 QSize(640,480);
+#define KResMPEG4_PLID_5 QSize(720,576);
+#define KResMPEG4_PLID_6 QSize(1280,720);
+#define KResMPEG4_PLID_8 QSize(176,144);
+#define KResMPEG4_PLID_9 QSize(176,144);
+// H.264 (Baseline Profile, same resolutions apply to Main and High Profile)
+#define KResH264 QSize(176,144);
+#define KResH264_PLID_42800A QSize(176,144);
+#define KResH264_PLID_42900B QSize(176,144);
+#define KResH264_PLID_42800B QSize(352,288);
+#define KResH264_PLID_42800C QSize(352,288);
+#define KResH264_PLID_42800D QSize(352,288);
+#define KResH264_PLID_428014 QSize(352,288);
+#define KResH264_PLID_428015 QSize(352,288);
+#define KResH264_PLID_428016 QSize(640,480);
+#define KResH264_PLID_42801E QSize(640,480);
+#define KResH264_PLID_42801F QSize(1280,720);
+#define KResH264_PLID_428020 QSize(1280,720);
+#define KResH264_PLID_428028 QSize(1920,1080);
+
+// Maximum framerates for encoder MIME Types
+// H.263
+#define KFrR_H263 qreal(15);
+#define KFrR_H263_Profile0 qreal(15);
+#define KFrR_H263_Profile0_Level10 qreal(15);
+#define KFrR_H263_Profile0_Level20 qreal(15);
+#define KFrR_H263_Profile0_Level30 qreal(30);
+#define KFrR_H263_Profile0_Level40 qreal(30);
+#define KFrR_H263_Profile0_Level45 qreal(15);
+#define KFrR_H263_Profile0_Level50 qreal(15);
+#define KFrR_H263_Profile3 qreal(15);
+// MPEG-4
+#define KFrR_MPEG4 qreal(15);
+#define KFrR_MPEG4_PLID_1 qreal(15);
+#define KFrR_MPEG4_PLID_2 qreal(15);
+#define KFrR_MPEG4_PLID_3 qreal(30);
+// This is a workaround for a known platform bug
+#if (defined(S60_31_PLATFORM) | defined(S60_32_PLATFORM))
+#define KFrR_MPEG4_PLID_4 qreal(15);
+#else // All other platforms
+#define KFrR_MPEG4_PLID_4 qreal(30);
+#endif // S60 3.1 or 3.2
+#define KFrR_MPEG4_PLID_5 qreal(30);
+#define KFrR_MPEG4_PLID_6 qreal(30);
+#define KFrR_MPEG4_PLID_8 qreal(15);
+#define KFrR_MPEG4_PLID_9 qreal(15);
+// H.264 (Baseline Profile, same framerates apply to Main and High Profile)
+#define KFrR_H264 qreal(15);
+#define KFrR_H264_PLID_42800A qreal(15);
+#define KFrR_H264_PLID_42900B qreal(15);
+#define KFrR_H264_PLID_42800B qreal(7.5);
+#define KFrR_H264_PLID_42800C qreal(15);
+#define KFrR_H264_PLID_42800D qreal(30);
+#define KFrR_H264_PLID_428014 qreal(30);
+#define KFrR_H264_PLID_428015 qreal(50);
+#define KFrR_H264_PLID_428016 qreal(16.9);
+#define KFrR_H264_PLID_42801E qreal(33.8);
+#define KFrR_H264_PLID_42801F qreal(30);
+#define KFrR_H264_PLID_428020 qreal(60);
+#define KFrR_H264_PLID_428028 qreal(30);
+
+// Maximum bitrates for encoder MIME Types
+// H.263
+#define KBiR_H263 int(64000);
+#define KBiR_H263_Profile0 int(64000);
+#define KBiR_H263_Profile0_Level10 int(64000);
+#define KBiR_H263_Profile0_Level20 int(128000);
+#define KBiR_H263_Profile0_Level30 int(384000);
+#define KBiR_H263_Profile0_Level40 int(2048000);
+#define KBiR_H263_Profile0_Level45 int(128000);
+#define KBiR_H263_Profile0_Level50 int(4096000);
+#define KBiR_H263_Profile3 int(64000);
+// MPEG-4
+#define KBiR_MPEG4 int(64000);
+#define KBiR_MPEG4_PLID_1 int(64000);
+#define KBiR_MPEG4_PLID_2 int(128000);
+#define KBiR_MPEG4_PLID_3 int(384000);
+// This is a workaround for a known platform bug
+#if (defined(S60_31_PLATFORM) | defined(S60_32_PLATFORM))
+#define KBiR_MPEG4_PLID_4 int(2000000);
+#else // All other platforms
+#define KBiR_MPEG4_PLID_4 int(4000000);
+#endif // S60 3.1 or 3.2
+#define KBiR_MPEG4_PLID_5 int(8000000);
+#define KBiR_MPEG4_PLID_6 int(12000000);
+#define KBiR_MPEG4_PLID_8 int(64000);
+#define KBiR_MPEG4_PLID_9 int(128000);
+// H.264 (Baseline Profile, same bitrates apply to Main and High Profile)
+#define KBiR_H264 int(64000);
+#define KBiR_H264_PLID_42800A int(64000);
+#define KBiR_H264_PLID_42900B int(128000);
+#define KBiR_H264_PLID_42800B int(192000);
+#define KBiR_H264_PLID_42800C int(384000);
+#define KBiR_H264_PLID_42800D int(768000);
+#define KBiR_H264_PLID_428014 int(2000000);
+#define KBiR_H264_PLID_428015 int(4000000);
+#define KBiR_H264_PLID_428016 int(4000000);
+#define KBiR_H264_PLID_42801E int(10000000);
+#define KBiR_H264_PLID_42801F int(14000000);
+#define KBiR_H264_PLID_428020 int(20000000);
+#define KBiR_H264_PLID_428028 int(20000000);
+
+#endif // S60CAMERACONSTANTS_H