1 #ifndef EXYNOS_DUMMY_HDMI_H
2 #define EXYNOS_DUMMY_HDMI_H
5 #include "ExynosDisplay.h"
7 #define NUM_VIRT_OVER_HDMI 5
9 class ExynosExternalDisplay
: public ExynosDisplay
{
12 ExynosExternalDisplay(struct exynos5_hwc_composer_device_1_t
*pdev
);
13 ~ExynosExternalDisplay();
15 void setHdmiStatus(bool status
);
17 bool isPresetSupported(unsigned int preset
);
19 int getDisplayConfigs(uint32_t *configs
, size_t *numConfigs
);
20 int enableLayer(hdmi_layer_t
&hl
);
21 void disableLayer(hdmi_layer_t
&hl
);
24 int output(hdmi_layer_t
&hl
, hwc_layer_1_t
&layer
, private_handle_t
*h
, int acquireFenceFd
, int *releaseFenceFd
);
25 void skipStaticLayers(hwc_display_contents_1_t
*contents
, int ovly_idx
);
26 void setPreset(int preset
);
27 int convert3DTo2D(int preset
);
28 void calculateDstRect(int src_w
, int src_h
, int dst_w
, int dst_h
, struct v4l2_rect
*dst_rect
);
29 void setHdcpStatus(int status
);
30 void setAudioChannel(uint32_t channels
);
31 uint32_t getAudioChannel();
32 bool isIONBufferAllocated() {return mFlagIONBufferAllocated
;};
34 virtual int openHdmi();
36 virtual int prepare(hwc_display_contents_1_t
* contents
);
37 virtual int set(hwc_display_contents_1_t
* contents
);
39 virtual void freeExtVideoBuffers() {}
40 virtual int waitForRenderFinish(private_module_t
*grallocModule
, buffer_handle_t
*handle
, int buffers
);
43 ExynosMPPModule
*mMPPs
[1];
48 bool mFlagIONBufferAllocated
;