|
1 /* |
|
2 * Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). |
|
3 * All rights reserved. |
|
4 * This component and the accompanying materials are made available |
|
5 * under the terms of "Eclipse Public License v1.0" |
|
6 * which accompanies this distribution, and is available |
|
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html". |
|
8 * |
|
9 * Initial Contributors: |
|
10 * Nokia Corporation - initial contribution. |
|
11 * |
|
12 * Contributors: |
|
13 * |
|
14 * Description: Header file for video related settings/constants |
|
15 * |
|
16 */ |
|
17 |
|
18 |
|
19 |
|
20 #ifndef __TNEVIDEOSETTINGS_H__ |
|
21 #define __TNEVIDEOSETTINGS_H__ |
|
22 |
|
23 // VIDEO ENCODER RELATED SETTINGS / DEFAULTS |
|
24 |
|
25 // Maximum supported resolution |
|
26 const TUint KTNEMaxVideoWidth = 640; |
|
27 const TUint KTNEMaxVideoHeight = 480; |
|
28 |
|
29 // Max duration for video frame in microseconds. This limits the slow motion effect. |
|
30 // This now limits the duration to 30 seconds which is already a very extreme case. This has impact to MPEG4's module_time_base variable |
|
31 // which should not be longer than 32 bits since there are some variables e.g. in video decoder than can handle only 32-bit fields. |
|
32 const TInt KTNEMaxFrameDuration(30000000); |
|
33 |
|
34 // target/maximum bitrates |
|
35 const TUint KTNEBitRateH263Level10 = 64000; |
|
36 const TUint KTNEBitRateH263Level20 = 512000; |
|
37 const TUint KTNEBitRateH263Level45 = 128000; |
|
38 const TUint KTNEBitRateMPEG4Level0 = 64000; |
|
39 const TUint KTNEBitRateMPEG4Level0B = 128000; |
|
40 const TUint KTNEBitRateMPEG4Level1 = 64000; |
|
41 const TUint KTNEBitRateMPEG4Level2 = 512000; |
|
42 const TUint KTNEBitRateMPEG4Level3 = 384000; |
|
43 const TUint KTNEBitRateMPEG4Level4A = 4000000; |
|
44 |
|
45 const TReal KTNEMaxVideoFrameRate = 15.0; |
|
46 |
|
47 // number of frames for transition effect - NOTE: This must be an even number !!! |
|
48 const TUint KNumTransitionFrames = 10; |
|
49 |
|
50 #define KTNEResolutionSubQCIF (TSize(128,96)) |
|
51 #define KTNEResolutionQCIF (TSize(176,144)) |
|
52 #define KTNEResolutionCIF (TSize(352,288)) |
|
53 #define KTNEResolutionQVGA (TSize(320,240)) |
|
54 #define KTNEResolutionVGA (TSize(640,480)) |
|
55 |
|
56 |
|
57 const TUint KMaxCodedPictureSizeQCIF = 8192; // QCIF and smaller |
|
58 const TUint KMaxCodedPictureSizeCIF = 32768; // CIF and smaller |
|
59 const TUint KMaxCodedPictureSizeMPEG4QCIF = 20480; // QCIF and smaller |
|
60 const TUint KMaxCodedPictureSizeMPEG4L0BQCIF = 40960; // QCIF and smaller |
|
61 const TUint KMaxCodedPictureSizeMPEG4CIF = 81920; // MPEG-4 CIF |
|
62 const TUint KMaxCodedPictureSizeVGA = 163840; // For vga support |
|
63 |
|
64 _LIT8(KTNEMimeTypeH263, "video/H263-2000"); |
|
65 _LIT8(KTNEMimeTypeH263BaselineProfile, "video/H263-2000; profile=0"); |
|
66 _LIT8(KTNEMimeTypeH263Level45, "video/H263-2000; profile=0; level=45"); |
|
67 _LIT8(KTNEMimeTypeMPEG4Visual, "video/mp4v-es"); |
|
68 _LIT8(KTNEMimeTypeMPEG4SimpleVisualProfile, "video/mp4v-es; profile-level-id=8"); |
|
69 _LIT8(KTNEMimeTypeMPEG4SimpleVisualProfileLevel2, "video/mp4v-es; profile-level-id=2"); |
|
70 _LIT8(KTNEMimeTypeMPEG4SimpleVisualProfileLevel3, "video/mp4v-es; profile-level-id=3"); |
|
71 _LIT8(KTNEMimeTypeMPEG4SimpleVisualProfileLevel4A, "video/mp4v-es; profile-level-id=4"); |
|
72 |
|
73 #endif |