Commit Graph

23 Commits

Author SHA1 Message Date
Kinjal Bhavsar
6eb041de80 msm7k: Detect display type and mark layers
Mark layers for convert to S3D when playing S3D content on a 3DTV.

Change-Id: I355a73753682134b8ec5544a03d55ae40793e897
2011-10-25 12:23:11 -07:00
Naomi Luis
8afdc162ea Upgrades to the updateOverlay functionality.
Update the overlay when we have a channel up. Previously, we did updates
only when the width and height changed. Now, we always update the overlay
when the channel is open, and not close the channel to update parameters
such as orientation change, flags etc.

Change-Id: I0b2ef8b19bd860d5361c391e040ff497f1023ae3
2011-10-18 13:22:31 -07:00
Naomi Luis
8da83f0059 liboverlay: Use even crop values
The overlay hardware requires the values to be even. Calculate the ROI
to ensure that the crop rectangle is correct after making the
parameters even.

CRs-fixed: 302916
Change-Id: I7316a65efe2b72c5392a3d2adbb95070662dced9
2011-09-25 17:44:35 -07:00
Kinjal Bhavsar
48f7bb38a7 liboverlay: Add support for 3D panel
Detect and use 3D panel for 3D content. Use the virtual framebuffer
for 3D panel. Set position for overlay channels accordingly. Use
3D ioctl for line interleaving.

Add state machine for Overlay.

Change-Id: I28dc7ed99aed7ca2c53c93722c44279d9c7de9fc

Conflicts:

	liboverlay/overlayLib.cpp
2011-09-19 19:16:37 -05:00
Chetan Kalyan
4fc65b100d Overlay: Add debug logs to overlay
In case of failure, print out the values of the failed
overlay structure, to allow easy debugging.

Change-Id: I3e480b8eecc66b54f357b29d02064a751c9ebbfa
2011-09-19 19:16:37 -05:00
Naomi Luis
7e2db6e3d0 liboverlay: Add YV12 support
Add support in the overlay for the YV12 color format.

(cherry picked from commit 0f9a27cc39b6d4202b54059bc7c64eea9efcf3f1)

Change-Id: I4b57eb383ca8f728243bd7e397696932e26c8889
2011-09-19 19:16:36 -05:00
Naomi Luis
49dbd79cf7 Add overlay_buffer_info structure to hold the buffer geometry
The overlay_buffer_info buffer geometry and size. When calling the
overlay from the gralloc or hardware composer, populate this structure
with the information from the gralloc handle.

(cherry picked from commit 128adc3b8177ef72f2bf21f4022d7ef06ed9281b)

Change-Id: I2f60f691ac01e67f150c753f168be754b14f94e6
2011-09-19 19:16:36 -05:00
Omprakash Dhyade
dac6f95b56 liboverlay: comp. bypass changes.
This change addresses following:
1. Add new classes for comp. bypass.
2. Remove comp. bypas specific code from exisiting flow.

Change-Id: Id9424b42a9a113cfbb18ceac8d59bbe07ea8e773
2011-09-19 19:16:36 -05:00
Saurabh Shah
3ce61a332f Set Position for HDMI in setPosition
This is necessary to adjust aspect ratio based on the crop, since
src values are modified in crop.

Change-Id: Icfb20df5b6ac4e93dfa85b73c4f74b738a4d3e59
CRs-fixed: 290069
2011-09-19 19:16:36 -05:00
Saurabh Shah
58c70bc3e5 Fix positioning of small videos.
Small videos (width < 128) have their stride as 128. For HDMI
destination position was set only once, before the actual width was
supplied through crop. Now the position is set during a setPosition
API call.

Change-Id: If49ac23b9294951aaf4ad9d5432653082b4a7802
CRs-fixed: 286953
2011-09-19 19:16:36 -05:00
Naomi Luis
371fe1a442 liboverlay: Update overlay and rotator during resolution change
Whenever there is a resolution change, update the overlay, rotator
paramters. Map the rotator memory according to the new size required,
and unmap the previously mapped memory.
Change the size calculation for NV21 formats, since the gralloc
allocates memory which is rounded up to the next 4K.

Change-Id: Idb4037422cbd80083e6ba14f229511a17cb61873
CRs-fixed: 287347
2011-09-19 19:16:36 -05:00
Kinjal Bhavsar
1b51063e0d liboverlay: Add TV detection and monoscopic display for S3D
Add the state machine for overlay configuration. When connected,
check whether the TV on HDMI is 3D capable or not using the EDID
info. Show L channel on primary panel; and R channel on 2D TV if
non 3DTV is connected via HDMI, else switch TV to 3D mode.

Change-Id: I3109f8b0b81a8f5ad542db038262fd668e225e96
2011-09-19 19:16:35 -05:00
Naomi Luis
9c2ba115fd Add support for dynamic resolution change with overlays
Whenever there is a change in the buffer geometry, set a flag in the
gralloc handle stating that the buffer geometry has changed.
In the HWC, whenever we encounter an update in the geometry, if the
channel is already open, we just call the necessary ioctls to update
the overlay information and not unnecessarily open/close channels.

Change-Id: I27db8fc497ebc514e262d6b7854739f312644714
2011-09-19 19:16:35 -05:00
Naomi Luis
56a78ad233 libhwcomposer: Add support for maintaining original resolution
When the layer flags are marked to maintain the original surface
resolution, draw the layer using the overlay.
Store the HDMI status in the overlay object instead of the HWC
context.
2011-09-19 19:16:35 -05:00
Arun Kumar K.R
ed35d42ee4 liboverlay: Always use rotator for UI mirroring on HDMI
- Use rotator buffer for UI mirroring on HDMI
- Avoid ioctl calls on getPosition

CRs-fixed: 278858
Change-Id: Id390e2b85fe939d8388ed17f5f9c7fcd30499755
2011-09-19 19:16:34 -05:00
Kobi Cohen Arazi
e825316b00 Revert "liboverlay: Use rotator during video on MDDI panel"
This reverts commit b2809b02b6dfc5111150d178135673eb535c4ff5.
CRs-fixed: 271109, 278129, 273572

Change-Id: Ie50679b6600e7151cac17136a322009b80b55871
2011-09-19 19:16:34 -05:00
Arun Kumar K.R
1c9191bda5 liboverlay: Use rotator during video on MDDI panel
Always use rotator on the MDDI panel, irrespective
of rotation.

CRs-fixed: 271109

Change-Id: Ief0a7d3fc1bd3254ef50931cf7ee5c5bf02dfdee
2011-09-19 19:16:34 -05:00
Naomi Luis
8bd9729c72 overlay: Add S3D support over HDMI in the overlayLib
Change-Id: I1f650237f2de414fe248d4281ce22344049d2956
2011-09-19 19:16:34 -05:00
Omprakash Dhyade
553c4b501f overlay: Composition bypass changes
This change adds following to Overlay class
- is_fg, client could pass whether, FB need not be scaned.
- RGBX_8888 format is now supported.
- number of rotator buffers also could be passed which could be up to 3

Change-Id: I85519abc21e34642ef8f728948f1bd61f09a18cb
2011-09-19 19:16:34 -05:00
Naomi Luis
9c8bc18f79 overlay: Add support for enabling/disabling HDMI
Add support in the overlayLib to enable/disable and queue the buffers
to the primary or secondary based on the hdmi connected parameter.

Change-Id: Ie6c780e4076b0b84e6457a0503ec511ff2b8c452
2011-09-19 19:16:33 -05:00
Naomi Luis
5a1bf4cb9e overlay: Add support for additional S3D formats
Add support for Side-by-Side full, Side-By-Side-half formats in the overlay.
The Side by Side half formats could either be in Left-Right or Right-Left mode.

Change-Id: Ie1f0ccb5b1a8254f7256aafdd3f0ce9a3faa0df4
2011-09-19 19:16:32 -05:00
Naomi Luis
3a51941fe6 Add support for S3D content over HDMI
Add support in the overlay to display 3D content on the HDMI.
The 3D input and out formats are passed along with the regular color format.

Change-Id: I4e0338e8b2c07eca0f211c50a17bf7d82c35279b
2011-09-19 19:16:32 -05:00
David Ng
155d9fa5fb liboverlay: Add liboverlay and enable for MSM8660 target
liboverlay based on MSM8660-1066 release.

Change-Id: Ic9453d38c5a60b40728e2a3651f7a065d802817e
2011-09-19 19:16:32 -05:00