liboverlay: Refactor, bug-fixes, upgrade.

Fix memory leak during copying pipe objects.
Remove unused / unnecessary code.
setMemoryId API is merged with queueBuffer.
setParameter API is setTransform now.
Rotator upgraded to:
--Allow different rotator hardware types.
--Remove dependency on MDP code.
--Allocate memory only during first playback, close when the associated pipe is
closed.
Have single commit implementation.
Include new format types.

Change-Id: I28d87179c7ec9c0b97721a9ff17f1526da98b714
display: Clean up makefiles

* Move common includes and shared libraries to
a common location

* Clean up Makefile copyrights

Change-Id: I0427f0f98b4c039a691be0ef6f3deead2b4bfa02
display: Fix copyrights

These copyrights were removed in an earlier
patch by error

Change-Id: I5a8e5c058cf914f63bbde9c78b56039ac6a5757c
Merge "liboverlay: Refactor, bug-fixes, upgrade." into jb
hwc: Add VideoOverlay class

Add videoOverlay class for display videos with overlay.

Change-Id: I161d1732fdf8336d0b6dcf5326e6adb7514a2d02
framebuffer: Fix locking

The gralloc locking did not lock
the framebuffer. Use genlock to
lock the framebuffers.

Change-Id: Ie8be6f7950f6df06a2293c3df863e19cd5386479
overlay: upgrade

p#1: Remove WAIT and CHANNEL enums and usage. Replace BypassPipe with
     GenericPipe. Client expected to set alignments and parameters.
     Add transform combination enums.
p#2: Allow APIs to be called in any order. Do transform calcs in commit.
     Move ext type setter and getter functions.
p#3: Add calculations for 180 transform.
p#4: Add secure session support in rotator
p#5: Implement all rotations in terms of H flip, V flip and 90 rotation.

Change-Id: I34a9a2a0f1255b3467a0abbaa254d0b584e901ce
hwcomposer: Add support for UI mirroring

- Uevent observer as part of Hwcomposer
- HPD, enabling/disabling external display from HWC

Change-Id: I52b4f30c78e98c5b52c86722046389f458c2dbee
gralloc: Update Yamato format to match OMX

The value of OMX color format for Yamato  is 0x7FA30C01.

Change-Id: Idb25ce6cd619a44e5980074e2a37185a4750000d
Merge "gralloc: Update Yamato format to match OMX" into jb
overlay: Secure playback add missing flag.

Add the missing GRALLOC_USAGE_PRIVATE_CP_BUFFER while allocating secure memory
Change the O_SYNC to O_DSYNC flag.

Change-Id: Ida014018be111a7904ff07c206a673b2abf52d05
display : Add support for copybit composition

This change add support for copybit composition in display HAL
for MDP3 targets.

Change-Id: I80144619f39a895d2f214adb6ca92d0a7f5ed9a5
Merge "display : Add support for copybit composition" into jb
display: Enable vsync

* Use the vsync uevents from the kernel to start
surfaceflinger composition.
* This patch also does some code cleanup
    - Move copybit specific functions to copybit files.
    - Cleanup verbose logging.
Change-Id: I8ca3cd7a7ceb53655ed0fcf39ac2cb35e6cbe890
hwc: enable vsync for external display

- wait for hdmi vsync when connected to hdmi
- add commit to call PANDISPLAY for updating ext display
- add functions to close fb and reset info

Change-Id: Icdd3620bd9d15240a88a26a3f1bf9c07d58d011b
display: Add support for MDP Composition

This change
   1) implements MDP Composition upto 3 layers
   2) adds invalidator support to fall back to FB
      composition during idle screen condition.

Change-Id: I8d724f905c943f986b68596e2548a7f5a8ce6588
display: Get panel type from framebuffer

Change-Id: I5dc16125bbb7d864dcb7106166e91b950a44d686
hwc: Disable HW vsync for some targets

7x27A, 8x25 and 8x55 do not support HW vsync yet.
This change checks for their MDP version and disables HW vsync
on them. This change should be reverted once hardware vsync is
available on these targets.

Change-Id: I0cb884f571346b3595169cb4b3c01bbdb7ecaaee
overlay: Refactor State Transitions.

Refactor transitions by templatizing to have default behavior for most cases
and full specializations for specific cases.
Partial specialization of functions is not allowed, so create templatized
intermediate functions for those use cases.
For ex: if we have 8 states, we don't need 8x8 transition handlers.

Add and define OV_DUAL_DISPLAY state.
Add a GenericPipe for subtitles to OV_2D_VIDEO_ON_PANEL_TV state.
Add a 2D_VIDEO_ON_TV state and its transitions.

Change-Id: I53b017b9a41db5894c263ccb446b7ec8875ef3aa
hwc: Add support for external-only layers

Add support for different types of external-only layers
EXTERNAL_ONLY: General purpose
EXTERNAL_BLOCK: Blocks the display of other ext-only layers
EXTERNAL_CC: Used for closed captions with videos.

Change-Id: I7cb531a55a2f0015e3a51673faf08941bcea1923