author | Shimizu Satoshi <s_shimizu@isb.co.jp> |
Mon, 18 Oct 2010 19:39:25 +0900 | |
changeset 124 | 606eafc6d6a8 |
permissions | -rw-r--r-- |
124
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
1 |
/* |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
2 |
* Copyright (c) 2010 ISB. |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
3 |
* All rights reserved. |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
4 |
* This component and the accompanying materials are made available |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
5 |
* under the terms of the "Symbian Foundation License v1.0" |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
6 |
* which accompanies this distribution, and is available |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
7 |
* at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html". |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
8 |
* |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
9 |
* Initial Contributors: |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
10 |
* ISB - Initial contribution |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
11 |
* |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
12 |
* Contributors: |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
13 |
* |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
14 |
* Description: |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
15 |
* |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
16 |
*/ |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
17 |
|
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
18 |
|
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
19 |
#ifndef WEBCAMERACONVERT_H__ |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
20 |
#include "webcamer_convert.h" |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
21 |
#endif |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
22 |
|
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
23 |
#define DP(format...) Kern::Printf(format) |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
24 |
|
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
25 |
/** |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
26 |
Constructor. |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
27 |
*/ |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
28 |
DWebCameraConvert::DWebCameraConvert(TWebcameraUVC* aUvcFormat) |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
29 |
{ |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
30 |
TUint32 wGuid = aUvcFormat->iUVCDescriptor.iFormatDescriptor.iGuid.iData1; |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
31 |
switch (wGuid) |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
32 |
{ |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
33 |
case KWebcameraYuy2: |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
34 |
//Create object of DWebCameraConvertYuv. |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
35 |
iConvertObject = new(ELeave) DWebCameraConvertYuv(aUvcFormat); |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
36 |
break; |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
37 |
default: |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
38 |
break; |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
39 |
} |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
40 |
} |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
41 |
|
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
42 |
/** |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
43 |
Destructor. |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
44 |
*/ |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
45 |
DWebCameraConvert::~DWebCameraConvert() |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
46 |
{ |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
47 |
delete iConvertObject; |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
48 |
} |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
49 |
|
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
50 |
TInt DWebCameraConvert::ConvertData(TUint8* aInBuf, TUint8* aOutBuf) |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
51 |
{ |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
52 |
return iConvertObject->ConvertData(aInBuf, aOutBuf); |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
53 |
} |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
54 |
|
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
55 |
/** |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
56 |
Constructor. |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
57 |
*/ |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
58 |
DWebCameraConvertBase::DWebCameraConvertBase(TWebcameraUVC* aUvcFormat) |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
59 |
:iUvcFormat(aUvcFormat) |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
60 |
{ |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
61 |
} |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
62 |
|
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
63 |
/** |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
64 |
Destructor. |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
65 |
*/ |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
66 |
DWebCameraConvertBase::~DWebCameraConvertBase() |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
67 |
{ |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
68 |
} |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
69 |
|
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
70 |
/** |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
71 |
Convert FrameData to BitmapData. |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
72 |
|
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
73 |
@param aInBuf [in] Data to convert. |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
74 |
aOutBuf [out] BitmapData after conversion. |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
75 |
@return KErrNotSupported. Implement in sub-class, return unsupport in base-class. |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
76 |
*/ |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
77 |
TInt DWebCameraConvertBase::ConvertData(TUint8* /*aInBuf*/, TUint8* /*aOutBuf*/) |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
78 |
{ |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
79 |
return KErrNotSupported; |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
80 |
} |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
81 |
|
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
82 |
/** |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
83 |
Constructor. |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
84 |
*/ |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
85 |
DWebCameraConvertYuv::DWebCameraConvertYuv(TWebcameraUVC* aUvcFormat) |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
86 |
:DWebCameraConvertBase(aUvcFormat) |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
87 |
{ |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
88 |
} |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
89 |
|
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
90 |
/** |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
91 |
Destructor. |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
92 |
*/ |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
93 |
DWebCameraConvertYuv::~DWebCameraConvertYuv() |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
94 |
{ |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
95 |
} |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
96 |
|
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
97 |
/** |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
98 |
Convert FrameData to BitmapData(yuv->Bitmap). |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
99 |
|
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
100 |
@param aInBuf [in] Data to convert. |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
101 |
aOutBuf [out] BitmapData after conversion. |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
102 |
@return KErrNone. |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
103 |
*/ |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
104 |
TInt DWebCameraConvertYuv::ConvertData(TUint8* aInBuf, TUint8* aOutBuf) |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
105 |
{ |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
106 |
TUint wInPos = 0; //Declaration to get FrameData before conversion. |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
107 |
TUint wOutPos = 0; //Declaration to store BitmapData after conversion. |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
108 |
TUint wPixel32 = 0; //Declaration to store data(1pixel32bit) after conversion from yuv to rgb. |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
109 |
TInt wY0, wU, wY1, wV; //Declaration to store signal that get from rgb. |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
110 |
TUint16 wWidth, wHeight; //Declaration to store width and height from argument aVideoData. |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
111 |
|
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
112 |
wWidth = iUvcFormat->iUVCDescriptor.iFrameDescriptor.iWidth; //Store width information from aVideoData. |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
113 |
wHeight = iUvcFormat->iUVCDescriptor.iFrameDescriptor.iHeight; //Store height information from aVideoData. |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
114 |
|
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
115 |
TUint wImageSize = wWidth * wHeight * 2; |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
116 |
|
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
117 |
//Get width and heigth data. |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
118 |
for (wInPos = 0; wInPos < wImageSize; wInPos += 4) |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
119 |
{ |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
120 |
//Y16-bit to suitable location of YUYV. |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
121 |
wY0 = (static_cast<TUint>(aInBuf[wInPos + 0]) & KWebcameraBitMask); |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
122 |
wU = (static_cast<TUint>(aInBuf[wInPos + 1]) & KWebcameraBitMask); |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
123 |
wY1 = (static_cast<TUint>(aInBuf[wInPos + 2]) & KWebcameraBitMask); |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
124 |
wV = (static_cast<TUint>(aInBuf[wInPos + 3]) & KWebcameraBitMask); |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
125 |
|
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
126 |
//Store RGB by wPixel32 format, that was converted from yuv. |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
127 |
wPixel32 = ConvertYuvToBitmap(wY0, wU, wV); |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
128 |
//Calculate element of RGB from wPixel32. |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
129 |
aOutBuf[wOutPos++] = (wPixel32 & KWebcameraBitMask); |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
130 |
aOutBuf[wOutPos++] = (wPixel32 & KWebcameraBitMask8) >> 8; |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
131 |
aOutBuf[wOutPos++] = (wPixel32 & KWebcameraBitMask16) >> 16; |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
132 |
|
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
133 |
//Store RGB by wPixel32 format, that was converetd from yuv. |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
134 |
wPixel32 = ConvertYuvToBitmap(wY1, wU, wV); |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
135 |
aOutBuf[wOutPos++] = (wPixel32 & KWebcameraBitMask); |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
136 |
aOutBuf[wOutPos++] = (wPixel32 & KWebcameraBitMask8) >> 8; |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
137 |
aOutBuf[wOutPos++] = (wPixel32 & KWebcameraBitMask16) >> 16; |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
138 |
} |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
139 |
|
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
140 |
return KErrNone; |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
141 |
} |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
142 |
|
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
143 |
/** |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
144 |
Convert yuv to rgb. |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
145 |
|
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
146 |
@param aY [in] Signal of brightness. |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
147 |
aU [in] Signal of colour difference(Cb) |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
148 |
aV [in] Signal of colour difference(Cr). |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
149 |
@return pixel. |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
150 |
*/ |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
151 |
TInt DWebCameraConvertYuv::ConvertYuvToBitmap(TInt aY, TInt aU, TInt aV) |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
152 |
{ |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
153 |
TUint wPixel32 = 0; //Declaration to use still image of wPixel32 format. |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
154 |
TUint8* wPixel = static_cast<TUint8*>&wPixel32; //Cast still image of wPixel32 format to 8bit to convert. |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
155 |
TInt wR = 0; //Declaration to store still image after conversion. |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
156 |
TInt wG = 0; |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
157 |
TInt wB = 0; |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
158 |
|
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
159 |
//Convert yuv to rgb. |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
160 |
wR = aY + ((1370705 * (aV - 128)) / 1000000); |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
161 |
wG = aY - ((698001 * (aV - 128)) / 1000000) - ((337633 * (aU - 128)) / 1000000); |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
162 |
wB = aY + ((1732446 * (aU - 128)) / 1000000); |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
163 |
|
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
164 |
//Define the range of RGB(0~255). |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
165 |
if (!(0 <= wR && wR <= 255)) |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
166 |
{ |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
167 |
(wR > 255) ? (wR = 255) : (wR = 0); |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
168 |
} |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
169 |
if (!(0 <= wG && wG <= 255)) |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
170 |
{ |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
171 |
(wG > 255) ? (wG = 255) : (wG = 0); |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
172 |
} |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
173 |
if (!(0 <= wB && wB <= 255)) |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
174 |
{ |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
175 |
(wB > 255) ? (wB = 255) : (wB = 0); |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
176 |
} |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
177 |
|
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
178 |
//Compress RGB. |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
179 |
wPixel[0] = (wB * KWebcameraNeutralGrayValue) / KWebcameraColorGradation; |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
180 |
wPixel[1] = (wG * KWebcameraNeutralGrayValue) / KWebcameraColorGradation; |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
181 |
wPixel[2] = (wR * KWebcameraNeutralGrayValue) / KWebcameraColorGradation; |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
182 |
|
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
183 |
return wPixel32; |
606eafc6d6a8
Obtain an image of Webcamera from QEMU and add the Bitmap change display function.
Shimizu Satoshi <s_shimizu@isb.co.jp>
parents:
diff
changeset
|
184 |
} |