OSDN Git Service

original
[gb-231r1-is01/Gingerbread_2.3.3_r1_IS01.git] / hardware / ti / omap3 / libopencorehw / android_surface_output_omap34xx.h
1 /*
2  * OMAP3430 support
3  *
4  * Author: Srini Gosangi <srini.gosangi@windriver.com>
5  * Author: Michael Barabanov <michael.barabanov@windriver.com>
6
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
16  * express or implied.
17  * See the License for the specific language governing permissions
18  */
19
20 /* ------------------------------------------------------------------
21  * Copyright (C) 2008 PacketVideo
22  *
23  * Licensed under the Apache License, Version 2.0 (the "License");
24  * you may not use this file except in compliance with the License.
25  * You may obtain a copy of the License at
26  *
27  *      http://www.apache.org/licenses/LICENSE-2.0
28  *
29  * Unless required by applicable law or agreed to in writing, software
30  * distributed under the License is distributed on an "AS IS" BASIS,
31  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
32  * express or implied.
33  * See the License for the specific language governing permissions
34  * and limitations under the License.
35  * -------------------------------------------------------------------
36  */
37
38 #ifndef ANDROID_SURFACE_OUTPUT_OMAP34XXH_INCLUDED
39 #define ANDROID_SURFACE_OUTPUT_OMAP34XXH_INCLUDED
40
41 #include "android_surface_output.h"
42 #include "buffer_alloc_omap34xx.h"
43
44 // support for shared contiguous physical memory
45 #include <ui/Overlay.h>
46
47
48 class AndroidSurfaceOutputOmap34xx : public AndroidSurfaceOutput
49 {
50     public:
51         AndroidSurfaceOutputOmap34xx();
52
53         // frame buffer interface
54         virtual bool initCheck();
55         virtual void setParametersSync(PvmiMIOSession aSession, PvmiKvp* aParameters, int num_elements, PvmiKvp * & aRet_kvp);
56         virtual PVMFStatus getParametersSync(PvmiMIOSession aSession, PvmiKeyType aIdentifier,
57                 PvmiKvp*& aParameters, int& num_parameter_elements, PvmiCapabilityContext aContext);
58         virtual PVMFStatus writeFrameBuf(uint8* aData, uint32 aDataLen, const PvmiMediaXferHeader& data_header_info);
59
60         virtual void closeFrameBuf();
61         virtual void postLastFrame();
62
63         OSCL_IMPORT_REF ~AndroidSurfaceOutputOmap34xx();
64     private:
65         bool                    mUseOverlay;
66         sp<Overlay>             mOverlay;
67         int                     bufEnc;
68
69         int32                   iNumberOfBuffers;
70         int32                   iBufferSize;
71         bool                    mIsFirstFrame;
72         bool                    mConvert;
73     public:
74         BufferAllocOmap34xx     mbufferAlloc;
75 };
76
77 #endif // ANDROID_SURFACE_OUTPUT_OMAP34XX_H_INCLUDED