author | Pat Downey <patd@symbian.org> |
Fri, 23 Jul 2010 16:58:44 +0100 | |
changeset 0 | bb31fbe78861 |
permissions | -rw-r--r-- |
0
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
1 |
/* |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
2 |
* Copyright (c) 2009 Aricent and/or its subsidiary(-ies). |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
3 |
* All rights reserved. |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
4 |
* This component and the accompanying materials are made available |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
5 |
* under the terms of the License "Eclipse Public License v1.0" |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
6 |
* which accompanies this distribution, and is available |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
7 |
* at the URL "http://www.eclipse.org/legal/epl-v10.html". |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
8 |
* |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
9 |
* Initial Contributors: |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
10 |
* Aricent - initial contribution. |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
11 |
* |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
12 |
* Contributors: |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
13 |
* |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
14 |
* Description: |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
15 |
* Defines the structures shared by HwDevice and wrapper |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
16 |
* |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
17 |
*/ |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
18 |
|
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
19 |
#ifndef ARIVIDEOENCCOMMON_H |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
20 |
#define ARIVIDEOENCCOMMON_H |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
21 |
|
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
22 |
#include <e32def.h> |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
23 |
#include <devvideobase.h> |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
24 |
#include <avc.h> |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
25 |
|
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
26 |
#define MAX_SCALABILITY_LAYERS 1 |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
27 |
|
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
28 |
|
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
29 |
//Control SUB MEssages |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
30 |
enum TSetCommands |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
31 |
{ |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
32 |
CONTROL_CMD_SET_BIT_RATE = 2051, |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
33 |
CONTROL_CMD_SET_FRAME_RATE = 2052, |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
34 |
CONTROL_CMD_SET_FORCED_I_FRAME = 2053, |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
35 |
CONTROL_CMD_SET_GOVLENGTH = 2054, |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
36 |
CONTROL_CMD_SET_CHANNEL_PACKET_LOSS_RATE = 2059, |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
37 |
CONTROL_CMD_SET_CHANNEL_BIT_ERROR_RATE = 2060, |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
38 |
CONTROL_CMD_SET_SEGMENT_TARGET_SIZE = 2061, |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
39 |
CONTROL_CMD_SET_RATE_CONTROL_OPTIONS = 2062, |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
40 |
CONTROL_CMD_SET_COMMIT_OPTIONS = 2065, |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
41 |
CONTROL_CMD_SET_COMPLEXITY_LEVEL = 2068, |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
42 |
CONTROL_CMD_SET_SLICELOSS = 2069, |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
43 |
CONTROL_CMD_SET_PACKET_SIZE = 2070, |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
44 |
CONTROL_CMD_SET_PACKET_MODE = 2071, |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
45 |
CONTROL_CMD_SET_FRAME_MODE = 2072 |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
46 |
}; |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
47 |
|
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
48 |
enum TGetCommands |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
49 |
{ |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
50 |
CONTROL_CMD_GET_CONFIG_HEADER = 3051, |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
51 |
CONTROL_CMD_GET_PACKET_OFFSET_DATA, |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
52 |
CONTROL_CMD_GET_MAX_FRAME_SIZE, |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
53 |
CONTROL_CMD_GET_MAX_NUM_PACKETS, |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
54 |
CONTROL_CMD_GET_CONFIG_LENGTH, |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
55 |
CONTROL_CMD_GET_PICTURES_SKIPPED |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
56 |
|
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
57 |
|
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
58 |
}; |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
59 |
|
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
60 |
/* |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
61 |
Enumeration covering SetInputFormatL, SetOutputFormatL, SetInputDevice, |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
62 |
SetNumBitrateLayersL, SetScalabilityLayerTypeL, SetGlobalReferenceOptions, |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
63 |
SetBufferOptionsL, SetMinRandomAccessRate,SetSourceMemoryL of Hw Device. |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
64 |
All these seven methods can be called only before |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
65 |
Initialize. |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
66 |
*/ |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
67 |
|
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
68 |
enum TOutputFormat |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
69 |
{ |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
70 |
EH264 = 0x00000001, |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
71 |
}; |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
72 |
|
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
73 |
|
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
74 |
enum TPanicCodes |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
75 |
{ |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
76 |
EPanicArgument=1, |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
77 |
EPanicInitializationPreCondViolation, |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
78 |
EPanicNotSupported, |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
79 |
EPanicNotPaused, |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
80 |
EPanicNotFreezed, |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
81 |
EPanicInvalidState, |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
82 |
EPanicAlreadyStopped |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
83 |
}; |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
84 |
|
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
85 |
enum TEncBeforeInitialize |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
86 |
{ |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
87 |
EEncBeforeInitNone = 0x00000000, |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
88 |
EEncInputFormat = 0x00000001, |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
89 |
EEncOutputFormat = 0x00000002, |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
90 |
EEncInputDevice = 0x00000004, |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
91 |
EEncNumBitrateLayers = 0x00000008, |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
92 |
EEncScalabilityLayer = 0x00000010, |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
93 |
EEncGlobalRefOptions = 0x00000020, |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
94 |
EEncBufferOptions = 0x00000040, |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
95 |
EEncRandomAccessRate = 0x00000080, |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
96 |
EEncSourceMemory = 0x00000100, |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
97 |
EEncInpBufferOptions = 0x00000200, |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
98 |
EEncErrorProtectionLevelFEC = 0x00000400, |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
99 |
EEncSegmentTargetSize = 0x00000800, |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
100 |
EEncCodingStandardSpecificOptions = 0x00001000, |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
101 |
EEncOutputRectSize = 0x00002000, |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
102 |
EEncErrorsExpected = 0x00004000, |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
103 |
EEncSourceCamera = 0x00008000, |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
104 |
EEncComplexityLevel = 0x00010000, |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
105 |
EEncLayerRefOptions = 0x00020000, |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
106 |
}; |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
107 |
|
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
108 |
class TH264EncLayerReferenceOptions |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
109 |
{ |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
110 |
public: |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
111 |
TUint iMaxReferencePictures; |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
112 |
TUint iMaxPictureOrderDelay; |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
113 |
|
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
114 |
TH264EncLayerReferenceOptions () : |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
115 |
iMaxReferencePictures (1), |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
116 |
iMaxPictureOrderDelay (0) |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
117 |
{ |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
118 |
} |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
119 |
}; |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
120 |
|
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
121 |
/* |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
122 |
* slice loss structure |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
123 |
*/ |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
124 |
class TH264EncSliceLoss |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
125 |
{ |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
126 |
public: |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
127 |
TUint iFirstMacroblock; |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
128 |
TUint iNumMacroblocks; |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
129 |
|
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
130 |
TH264EncSliceLoss() : |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
131 |
iFirstMacroblock (0), |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
132 |
iNumMacroblocks (0) |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
133 |
{ |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
134 |
} |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
135 |
}; |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
136 |
|
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
137 |
/* |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
138 |
* Parameters used by the HwDevice which are sent to codec |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
139 |
*/ |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
140 |
|
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
141 |
class TH264EncInitParams |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
142 |
{ |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
143 |
public: |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
144 |
// Specifies which parameters are being sent in the Initialize method |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
145 |
TUint32 iBeforeInitialize; |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
146 |
TUint32 iAfterInitialize; |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
147 |
|
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
148 |
// For SetInputFormatL |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
149 |
TUncompressedVideoFormat iInputFormat; |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
150 |
TInt32 iAspectRatio; |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
151 |
TSize iPictureSize; |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
152 |
|
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
153 |
// For SetOutputFormatL |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
154 |
TOutputFormat iOutputFormat; |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
155 |
TVideoDataUnitType iDataUnitType; |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
156 |
TVideoDataUnitEncapsulation iDataEncapsulation; |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
157 |
TBool iSegmentationAllowed; |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
158 |
|
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
159 |
// For SetSourceMemoryL |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
160 |
TReal iMaxPictureRate; |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
161 |
TBool iConstantPictureRate; |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
162 |
TBool iProcessRealtime; |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
163 |
TUint iNumInputBuffers; |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
164 |
TSize iInputSize; |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
165 |
|
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
166 |
// For SetNumBitrateLayersL |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
167 |
TUint iNumBitRateLayers; |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
168 |
|
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
169 |
// For SetScalabilityLayerTypeL |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
170 |
TUint iLayer; |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
171 |
TScalabilityType iScalabilityType; |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
172 |
|
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
173 |
// For SetGlobalReferenceOptions & SetLayerReferenceOptions |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
174 |
TH264EncLayerReferenceOptions iLayerReferenceOptions[ |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
175 |
MAX_SCALABILITY_LAYERS]; |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
176 |
|
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
177 |
// For SetBufferOptionsL |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
178 |
TUint iMaxPreEncoderBufferPictures; |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
179 |
THrdVbvSpecification iHrdVbvSpec; |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
180 |
T3gppHrdVbvParams iHrdVbvParams; |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
181 |
TUint iMaxOutputBufferSize; |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
182 |
TUint iMaxCodedPictureSize; |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
183 |
TUint iMaxCodedSegmentSize; |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
184 |
TUint iMinNumOutputBuffers; |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
185 |
|
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
186 |
// For SetErrorProtectionLevelL |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
187 |
TUint iFECStrength; |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
188 |
|
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
189 |
// For SetRamdomAccessRate |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
190 |
TReal iRandomAccessRate; |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
191 |
|
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
192 |
// For SetOutputRectL |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
193 |
TRect iOutputRect; |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
194 |
|
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
195 |
// For SetCodingStandardSpecificOptionsL |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
196 |
TAvcVideoMode iCodingStandardSpecificOptions; |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
197 |
|
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
198 |
|
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
199 |
// For SetErrorsExpected |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
200 |
TBool iBitErrors; |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
201 |
TBool iPacketLosses; |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
202 |
|
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
203 |
// For SetMinRandomAccessRate |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
204 |
TReal iRate; |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
205 |
TInt iLevel; |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
206 |
|
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
207 |
TUint iBitRate; |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
208 |
TReal iTargetPictureRate; |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
209 |
// complexity level |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
210 |
TUint iComplexityLevel; |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
211 |
|
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
212 |
//for H324AnnexK VTFastCallSetUp |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
213 |
TBool iVTFastCallSetUp; |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
214 |
}; |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
215 |
|
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
216 |
|
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
217 |
class TPictureCountersInfo |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
218 |
{ |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
219 |
public: |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
220 |
TUint iPicturesSkippedBufferOverflow; |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
221 |
TUint iPicturesSkippedProcPower; |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
222 |
TUint iPicturesSkippedRateControl; |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
223 |
TUint iPicturesProcessed; |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
224 |
TUint iInputPictures; |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
225 |
}; |
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
226 |
|
bb31fbe78861
Initial commit of Aricent codec contribution.
Pat Downey <patd@symbian.org>
parents:
diff
changeset
|
227 |
#endif //ARIVIDEOENCCOMMON_H |