History log of /hardware/intel/img/hwcomposer/common/base/DisplayAnalyzer.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
aca1af6bab5f1aab3a7d2851e1c27253a3ed6b80 22-Jul-2014 Andy Qiu <junhai.qiu@intel.com> remove unused codes and unsupported features

Bug: 16955210

Change-Id: I90ac9bbfc87a4f34a225c65fe58e0470fbd0b3f2
Signed-off-by: Andy Qiu <junhai.qiu@intel.com>
Reviewed-on: https://android.intel.com/220474
Reviewed-by: Imberton, Guilhem <guilhem.imberton@intel.com>
Tested-by: Imberton, Guilhem <guilhem.imberton@intel.com>
Signed-off-by: Andy Qiu <junhai.qiu@intel.com>
/hardware/intel/img/hwcomposer/common/base/DisplayAnalyzer.h
cd727f537d5085eec7f1b8f9c1d33922d4de75d4 24-Jul-2014 Prodyut Hazarika <prodyut.hazarika@intel.com> Change license headers to Apache

BZ: 209178

Change-Id: I4933f49129b085ef5a76c28ae4a775cef5b1b636
Signed-off-by: Prodyut Hazarika <prodyut.hazarika@intel.com>
/hardware/intel/img/hwcomposer/common/base/DisplayAnalyzer.h
47630ea6b1974d6e282e95f0a4fca9e7acad77a6 24-Jun-2014 Lei Zhang <lei.zhang@intel.com> HWC: temporary fix for ASUS face unlock flicker issue

BZ:205295

This patch is a temporary fix for ASUS face unlock flicker issue.
If layer numbers exceeds max plane count, it forces all layers go
through GLES. (Except the cases of video playing)

Change-Id: I622b4e4fe3c6d4c3d3686ef3dd03cd1647d9c9f8
Signed-off-by: Lei Zhang <lei.zhang@intel.com>
/hardware/intel/img/hwcomposer/common/base/DisplayAnalyzer.h
009ab1d686644a8294b16d97ec1d4fe58879cf89 11-Jun-2014 Lei Zhang <lei.zhang@intel.com> HWC: check overly plane disable status in DisplayAnalyzer

BZ:202507

This patch changes overlay plane disable in DisplayAnalyzer to be
overlay state check, because now plane disable logic is maintained
in driver and HWC only need to query the status if needed.

This patch is to solve the scrambled issue for protected video.

Change-Id: I3bc01ea90bccc481c853934c1677beb3662820ff
Signed-off-by: Lei Zhang <lei.zhang@intel.com>
Signed-off-by: Andy Qiu <junhai.qiu@intel.com>
/hardware/intel/img/hwcomposer/common/base/DisplayAnalyzer.h
0ab7fc9e013631bad1f404d8a6300137f4bce0cb 13-Jun-2014 Andy Qiu <junhai.qiu@intel.com> [workaround] fix clone mode and extended video mode switch during rotation.

BZ: 202082

during rotation, video layer is marked as HWC_SKIP_LAYER by surface flinger,
HWC will default it back to clone mode as this layer should not be handled by
HWC. Fixed by checking if video layer is really meant to be skipped, if the
first seen video is marked as HWC_SKIP_LAYER, we can assume video layer
should be always skipped during video playback session.

Change-Id: Ie599fdd88e29bd82788d1c8c7e955318534d90d9
Signed-off-by: Andy Qiu <junhai.qiu@intel.com>
/hardware/intel/img/hwcomposer/common/base/DisplayAnalyzer.h
44a56a8b76db9cc1b297dfe2f32808eb73b4d387 30-May-2014 Hong Liu <hong.liu@intel.com> HWC: set idle delay to 0

BZ: 198265

It is no need to wait in HWC before entering into maxfifo mode, display
controller will check whether it is OK to enter into maxfifo, there is
no limitation on when to enable the maxfifo mode.

Change-Id: I25e51eea19abd5d2143d561d8f4df588017d5512
Signed-off-by: Dongsheng Zhang <dongsheng.zhang@intel.com>
Signed-off-by: Hong Liu <hong.liu@intel.com>
/hardware/intel/img/hwcomposer/common/base/DisplayAnalyzer.h
7546c3bf1068951d79db52cc060acb5739026db5 21-May-2014 Lei Zhang <lei.zhang@intel.com> HWC: change DPMS_OFF delay to be zero

BZ:195022

No need to delay DPMS OFF operation even though Post and dpms
are async operations. DMPS off in driver will clean flip status
and new flips will be skipped.

We do not expect any delay in this operation, otherwise Primary
display will have the last frame on screen for 10 circles flip,
around 167ms. Besides, the delay will also postpone previous flip
cleaning in dpms driver and blocks buffer queue in SF.

Change-Id: Id5901081fe11c6666105491ed697a4aedc6225a1
Signed-off-by: Lei Zhang <lei.zhang@intel.com>
/hardware/intel/img/hwcomposer/common/base/DisplayAnalyzer.h
4a3844e0ffd267aae9ffbe5a3266c8e3c0dc7070 17-Apr-2014 Zhu,Tianyang <tianyang.zhu@intel.com> Fix MIPI blinking when rotating device under video extended mode

BZ: 191441

Fix below issues,
1: Don't check full screen condition if YUV layer is a skipped layer;
2: under rotate, switch layer's width and height;

Change-Id: I6114733d6279d48117c1c8d5ce9440f493e654bc
Signed-off-by: Zhu,Tianyang <tianyang.zhu@intel.com>
/hardware/intel/img/hwcomposer/common/base/DisplayAnalyzer.h
1747c24dc5251a0a062ef5f8a6791c30a715e820 14-Mar-2014 Zhu,Tianyang <tianyang.zhu@intel.com> Remove useless code

BZ: 178875

1: Remove "HWC_HINT_DISABLE_ANIMATION"
2: Don't check layer's gralloc flag to get video session ID, add a new
interface "getFirstVideoInstanceSessionID" to provide similar function;

Change-Id: I8ceed6414adf281edd5878e0cac740a8a4301a1c
Signed-off-by: Zhu,Tianyang <tianyang.zhu@intel.com>
/hardware/intel/img/hwcomposer/common/base/DisplayAnalyzer.h
466748a6f67ce4d1ad8baa944e68a88cf3c86d26 24-Jan-2014 Austin Hu <austin.hu@intel.com> support display idle control (s0i1)

BZ: 147800

modify hwcomposer to support display idle control (s0i1). The basic idea is to compose
to framebuffer on s0i1 mode and return to normal mode on next prepare.

Change-Id: Idb522e8c544c9720964c111bc61eba232ac1a787
Signed-off-by: fu jin <fu.jin@intel.com>
Signed-off-by: Andy Qiu <junhai.qiu@intel.com>
Signed-off-by: Vinil Cheeramvelil <vinil.cheeramvelil@intel.com>
/hardware/intel/img/hwcomposer/common/base/DisplayAnalyzer.h
177b44e0661a92d06f8f37c51e59af86423f7a95 08-Nov-2013 Andy Qiu <junhai.qiu@intel.com> Change video extended mode behavior and implementation based on new requirement

BZ: 153746

1) video needs to be shown on the primary display if it is not full-screen
on any secondary display.

2) input event will turn on primary display in video extended mode, video
and all RGB layers are shown on the primary.

3) input event timeout will turn off primary display in video extended mode

4) use HDMI vsync when HDMI is connected

5) use soft vsync when WiDi is in video extended mode

Change-Id: I55ac9efb5d6c0a545ab57f48981a9f3f40a36817
Signed-off-by: Andy Qiu <junhai.qiu@intel.com>
/hardware/intel/img/hwcomposer/common/base/DisplayAnalyzer.h
b7e04bcc10f0b8aaa698b1ccae40e87664ebef18 30-Oct-2013 mahongpe <mahongpe@intel.com> Fix video flash issue at the end of playing video.

BZ:141685

MDS calls HWC to disable overlay when enter into unpreparing state.
This will make video window to be black, which is not expected.
For protected video, operations on overlay plane will not change,
For clear video, overlay will not be disabled in unpreparing state.

Change-Id: I525fd03f9870b82588d6b89ab004e2ddafcc7597
Signed-off-by: mahongpe <mahongpe@intel.com>
Signed-off-by: Andy Qiu <junhai.qiu@intel.com>
/hardware/intel/img/hwcomposer/common/base/DisplayAnalyzer.h
c35c313e9edca29c47b182d549685868cf4cabc7 18-Sep-2013 Zhu,Tianyang <tianyang.zhu@intel.com> Add the namespace "android::intel" for mds module

BZ: 135276

Align with the patch 128728
1: add the namespce "android::intel"
2: correct some interfaces name
3: correct mds service name

Change-Id: Icc24a572fd7f68b02c49512da86cee34808e4afb
Signed-off-by: Zhu,Tianyang <tianyang.zhu@intel.com>
/hardware/intel/img/hwcomposer/common/base/DisplayAnalyzer.h
35fc4846ba9657d6d2638e68d810618fedec7ecd 31-Oct-2013 Ashish Singhi <ashish.singhi@intel.com> Widi :- Shutdown the widi video pipeline if overlay is not allowed.

BZ: 148436

For protected playback, IED get enabled at the same time to VED
& VEC so the moment hwc detects protected playback isOverlayAllowed
is set to false.

So from HWC whenever it detects that isOverlayed is false, it needs
to shutdown widi video source in order to avoid encoding clear content
which appears as scrambled video on remote.

Change-Id: I7cc663aa7a05759fa97f0fa8eb1d765732a73771
Signed-off-by: Ashish Singhi <ashish.singhi@intel.com>
/hardware/intel/img/hwcomposer/common/base/DisplayAnalyzer.h
ef111c2d5fb42bfcefca8e774837e12cc1940d80 29-Oct-2013 Ashish Singhi <ashish.singhi@intel.com> WIDI: Always choose extended mode if layer has protected buffer.

BZ: 148430

On merrifield , there is no support for composition
so as a workaround and keep playing only protected video
we check if layer has protected buffer or not.
Based on this information widi switch to extended mode.

This will bypass the subtitle as well.

Change-Id: If0a8e9fa6d7569c2537518bf080928bf0f435bef
Signed-off-by: Ashish Singhi <ashish.singhi@intel.com>
/hardware/intel/img/hwcomposer/common/base/DisplayAnalyzer.h
ab1610b6b232267dd2971ee05dd9dda2cfe2a6a1 04-Sep-2013 Lin Xie <lin.xie@intel.com> Reset the compositon type of all layers on trick mode.

BZ: 135120

HWC may attach some layers into HW to render. The Z-order needs to
be reconfigured if a video layer is attached to the overlay plane.
On trick mode, reset the compositon type of all layers to FB, thus
the hwc can analyze the layers again and correct the display Z-order.

Change-Id: I09028229054b6032b1a7623cdd2ab9a36221acbb
Signed-off-by: Lin Xie <lin.xie@intel.com>
Reviewed-on: http://android.intel.com:8080/129690
Reviewed-by: Qiu, Junhai <junhai.qiu@intel.com>
Reviewed-by: Wang, Lili A <lili.a.wang@intel.com>
Reviewed-by: Shi, PingX <pingx.shi@intel.com>
Tested-by: Shi, PingX <pingx.shi@intel.com>
Reviewed-by: cactus <cactus@intel.com>
Tested-by: cactus <cactus@intel.com>
/hardware/intel/img/hwcomposer/common/base/DisplayAnalyzer.h
d248396b4f48861e1e27c5e316c776121ab44938 11-Jul-2013 mamatha balguri <mamatha.balguri@intel.com> widi: Optimize widi presentation mode path

BZ: 123991

Currently BG/presentation mode video playback is streamed at local display resolution
instead of content resolution. This is resulted in unnecessary scaling and color conversions.

This patch optimizes BG mode video playback path and RGB data path if
1. There is only one RGB or NV12 layer and this layer is not in the Primary display layers
2. there is no transformation and
3. there is no blending

These optimizations are done by setting overlay flag when the above conditions are met.

If the layer is NV12, HWC sends the decoder's khandles to Widi pipeline(same as in extended mode).
If the layer is RGB, we allocate NV12 buffers to blit the RGB framebuffer into, and then
send those buffers to widi pipeline.

Signed-off-by: mamatha balguri <mamatha.balguri@intel.com>
Change-Id: Ia108f263b749087992f71be03114489e8428f20b
Reviewed-on: http://android.intel.com:8080/119106
Reviewed-by: Crabtree, Robert <robert.crabtree@intel.com>
Reviewed-by: Qiu, Junhai <junhai.qiu@intel.com>
Tested-by: Sun, Hang L <hang.l.sun@intel.com>
Reviewed-by: cactus <cactus@intel.com>
Tested-by: cactus <cactus@intel.com>
/hardware/intel/img/hwcomposer/common/base/DisplayAnalyzer.h
b58f29390918c0df3bd6d0731bf98daf57511b9f 29-Jul-2013 Lin Xie <lin.xie@intel.com> set HDMI refresh rate based on video framerate

BZ: 105213

To get better playback quality, we will adjust the refresh rate
of the HDMI timing which is adapt to the video clip's fps.

Change-Id: I28355fcef1ad48444874447dbe386e2b4ec85982
Signed-off-by: Lin Xie <lin.xie@intel.com>
Reviewed-on: http://android.intel.com:8080/121580
Reviewed-by: Qiu, Junhai <junhai.qiu@intel.com>
Reviewed-by: Wang, Lili A <lili.a.wang@intel.com>
Reviewed-by: Shi, PingX <pingx.shi@intel.com>
Tested-by: Shi, PingX <pingx.shi@intel.com>
Reviewed-by: cactus <cactus@intel.com>
Tested-by: cactus <cactus@intel.com>
/hardware/intel/img/hwcomposer/common/base/DisplayAnalyzer.h
0131f123eba74813aca3eaaf99cd418b6b558416 19-Jul-2013 Andy Qiu <junhai.qiu@intel.com> Enable video extended mode only when video is fullscreen

BZ: 124821

Video is considered as full-screen only when both conditions below are met:
1) width of video destination is equal to width of target device or
height of video destination is equal to height of target device,
with 1 pixel of tolerance

2) video is centralized, with 1 pixel of tolerance.

If video is not full-screen on the target device (HDMI or WiDi), video
extended mode is disabled.

Change-Id: I4583b33a2adef84fae700aaec39b2f64d2071aea
Signed-off-by: Andy Qiu <junhai.qiu@intel.com>
Reviewed-on: http://android.intel.com:8080/119781
Reviewed-by: Xie, Lin <lin.xie@intel.com>
Reviewed-by: Shi, PingX <pingx.shi@intel.com>
Tested-by: Shi, PingX <pingx.shi@intel.com>
Reviewed-by: buildbot <buildbot@intel.com>
Tested-by: buildbot <buildbot@intel.com>
/hardware/intel/img/hwcomposer/common/base/DisplayAnalyzer.h
4ffa9f40b823e4c99cd7a21598373969517d93a8 16-Jul-2013 Andy Qiu <junhai.qiu@intel.com> disable overlay when video is being prepared/unprepared.

BZ: 106070

overlay needs to be detached when protected video is being prepared
or unprepared otherwise video may be scrambled.

Change-Id: Idb7837616a48a5ecf0a8ed2863c14070b421a7ee
Signed-off-by: Andy Qiu <junhai.qiu@intel.com>
Reviewed-on: http://android.intel.com:8080/119102
Tested-by: Post, DavidX J <davidx.j.post@intel.com>
Reviewed-by: Shi, PingX <pingx.shi@intel.com>
Tested-by: Shi, PingX <pingx.shi@intel.com>
Reviewed-by: buildbot <buildbot@intel.com>
Tested-by: buildbot <buildbot@intel.com>
/hardware/intel/img/hwcomposer/common/base/DisplayAnalyzer.h
5490411cb9330d4e92d59878da3693c33a948ad6 16-Jul-2013 Andy Qiu <junhai.qiu@intel.com> Use property to enable/disable video extended mode

BZ: 123357

HDMI and WiDi video extended mode can be disabled by setting property
"hwc.video.extmode.enable" to 0.

Change-Id: I5ba8e1a3764b75877843ae747e42d16c249ba1bc
Signed-off-by: Andy Qiu <junhai.qiu@intel.com>
Reviewed-on: http://android.intel.com:8080/118869
Reviewed-by: Crabtree, Robert <robert.crabtree@intel.com>
Tested-by: Post, DavidX J <davidx.j.post@intel.com>
Reviewed-by: buildbot <buildbot@intel.com>
Tested-by: buildbot <buildbot@intel.com>
/hardware/intel/img/hwcomposer/common/base/DisplayAnalyzer.h
eb726af21649d79ed720bdf329e0849270995c45 31-May-2013 Andy Qiu <junhai.qiu@intel.com> Miscellaneous optimization on HWC

BZ: 97852

1) new lockDataBuffer and unlockDataBuffer to avoid frequent memory allocation and de-allocation
2) move hotplug control and vsync control to HotplugEventObserver and VsyncEventObserver to make them self-contained
3) new event queue to handle hotplug event, video event and phone event
4) dynamic vsync source management can be easily disabled or enabled. (disabling it will cause UI hang)
5) eliminate using of "goto" design
6) make destructor virtual, not necessary for derived class but is a common practice
7) disable overlay use when video playback starts, to avoid potential scrambled RGB overlay
8) vsync status is committed only when it is scussefully enabled or disabled
9) fix memory leak (DataBuffer allocated but not released)
10) many other small improvements

Change-Id: I43eeb5c4ea4f991c5d68de14d4fe73ea4a55bb4c
Signed-off-by: Andy Qiu <junhai.qiu@intel.com>
Reviewed-on: http://android.intel.com:8080/113693
Tested-by: Patel, Hitesh K <hitesh.k.patel@intel.com>
Reviewed-by: Patel, Hitesh K <hitesh.k.patel@intel.com>
Reviewed-by: buildbot <buildbot@intel.com>
Tested-by: buildbot <buildbot@intel.com>
/hardware/intel/img/hwcomposer/common/base/DisplayAnalyzer.h
bd5ed146ffeb236f3c5cc20b2ebaf6a850b54007 20-Jun-2013 Lin Xie <lin.xie@intel.com> [CCB 117149]Check if video is embedded in DisplayAnalyzer.

BZ: 117596

If the video is embedded from the external display aspect,
don't enter video extended mode.
Don't need to change the video display positions any more.

Change-Id: Ic539292232e2fcfae8154d76b0ca7c41af36f665
Signed-off-by: Lin Xie <lin.xie@intel.com>
Reviewed-on: http://android.intel.com:8080/114483
Reviewed-by: Qiu, Junhai <junhai.qiu@intel.com>
Reviewed-by: Li, Yaodong <yaodong.li@intel.com>
Reviewed-by: Wang, Lili A <lili.a.wang@intel.com>
Reviewed-by: Shi, PingX <pingx.shi@intel.com>
Tested-by: Shi, PingX <pingx.shi@intel.com>
Reviewed-by: buildbot <buildbot@intel.com>
Tested-by: buildbot <buildbot@intel.com>
/hardware/intel/img/hwcomposer/common/base/DisplayAnalyzer.h
e2ad4c047651d4442f6a0e002290016d45e9201a 28-May-2013 fu jin <fu.jin@intel.com> Extend current design for supporting future platforms

BZ: 112342

Extend current design for support future platforms:
1) flip takes context parameter
2) commitBegin and commitEnd take parameters for display contents
3) Initialize/Deinitialize of BufferManager need to be virtual
4) Move management of Primary display plane from physical device to HWC Layer list.
5) Better data buffer cache management to avoid unbound increment of cache
6) Calling deinitializer before deleting object

Change-Id: I1aea10e52ac778e101559855a1fce7c7add45336
Signed-off-by: fu jin <fu.jin@intel.com>
Signed-off-by: Andy Qiu <junhai.qiu@intel.com>
Signed-off-by: fu jin <fu.jin@intel.com>
Signed-off-by: Andy Qiu <junhai.qiu@intel.com>
Reviewed-on: http://android.intel.com:8080/110631
Reviewed-by: buildbot <buildbot@intel.com>
Tested-by: buildbot <buildbot@intel.com>
/hardware/intel/img/hwcomposer/common/base/DisplayAnalyzer.h
d4e9a8ac464ef6fde755c1a8c0902dc02a1270ec 29-May-2013 Andy Qiu <junhai.qiu@intel.com> blank secondary display during phone call.

BZ:110201

For privacy reason, secondary display (HDMI out or WiDi out) needs to be blanked
during a phone call.

Change-Id: Ia0272023ac0b65a735b1af8c3aa3ecab26554ef1
Signed-off-by: Andy Qiu <junhai.qiu@intel.com>
Reviewed-on: http://android.intel.com:8080/110611
Reviewed-by: cactus <cactus@intel.com>
Reviewed-by: Hu, Austin <austin.hu@intel.com>
Reviewed-by: Gummadi, Latha C <latha.c.gummadi@intel.com>
Tested-by: Gummadi, Latha C <latha.c.gummadi@intel.com>
Reviewed-by: buildbot <buildbot@intel.com>
Tested-by: buildbot <buildbot@intel.com>
/hardware/intel/img/hwcomposer/common/base/DisplayAnalyzer.h
770346b3b6f55e10c54c8a47d4db8f8907035173 17-May-2013 Lin Xie <lin.xie@intel.com> hwc:Enable HDMI clone display during timing seeking.

BZ: 108109

The flags of video layer will contain the HWC_TRICK_MODE during
timing seeking of playback.
HWC needs to check this flag and make the layer visible on primary
display under extended mode.

Change-Id: I51a0600d036aa16041c0684ec9e0159b70dcc4d5
Signed-off-by: Lin Xie <lin.xie@intel.com>
Reviewed-on: http://android.intel.com:8080/108086
Reviewed-by: cactus <cactus@intel.com>
Reviewed-by: Qiu, Junhai <junhai.qiu@intel.com>
Reviewed-by: Wang, Lili A <lili.a.wang@intel.com>
Reviewed-by: Shi, PingX <pingx.shi@intel.com>
Tested-by: Shi, PingX <pingx.shi@intel.com>
Reviewed-by: buildbot <buildbot@intel.com>
Tested-by: buildbot <buildbot@intel.com>
/hardware/intel/img/hwcomposer/common/base/DisplayAnalyzer.h
65efc253a628175c7afa95c431b746ea20052794 26-Apr-2013 Andy Qiu <junhai.qiu@intel.com> Presentation and video extended mode support for HDMI and WiDi

BZ: 103740

Implement DisplayQuery class to check whether a layer is a video layer.

Implement DisplayAnalyzer to analyze contents first before layers are prepared,
if video extended mode is set by the analyzer then video layer in the primary layer is skipped.

If visible layer in video extended mode is 0 then display of primary
device can be turned off, otherwise, display of primary device needs
to be turned on always. (Turn off display will cause system to freeze,
so the feature is disabled for now).

Change-Id: I74711a7e8eab9a2055fba043a910e7db4fbfb1f9
Signed-off-by: Andy Qiu <junhai.qiu@intel.com>
Reviewed-on: http://android.intel.com:8080/104852
Reviewed-by: cactus <cactus@intel.com>
Reviewed-by: Gummadi, Latha C <latha.c.gummadi@intel.com>
Tested-by: Gummadi, Latha C <latha.c.gummadi@intel.com>
Reviewed-by: buildbot <buildbot@intel.com>
Tested-by: buildbot <buildbot@intel.com>
/hardware/intel/img/hwcomposer/common/base/DisplayAnalyzer.h