diff options
author | mamatha balguri <mamatha.balguri@intel.com> | 2013-07-11 13:38:48 -0700 |
---|---|---|
committer | cactus <cactus@intel.com> | 2013-08-08 19:37:14 -0700 |
commit | d248396b4f48861e1e27c5e316c776121ab44938 (patch) | |
tree | 8567f547b81328c69da9c4225c16f746b7430fde /ips | |
parent | 3b504f17c549162791a884dc974d0ffc2c69fa3c (diff) | |
download | hwcomposer-d248396b4f48861e1e27c5e316c776121ab44938.tar.gz |
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>
Diffstat (limited to 'ips')
-rw-r--r-- | ips/tangier/TngDisplayQuery.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/ips/tangier/TngDisplayQuery.cpp b/ips/tangier/TngDisplayQuery.cpp index 1eb127d..01e40bf 100644 --- a/ips/tangier/TngDisplayQuery.cpp +++ b/ips/tangier/TngDisplayQuery.cpp @@ -60,6 +60,11 @@ int DisplayQuery::getOverlayLumaStrideAlignment(uint32_t format) } } +uint32_t DisplayQuery::queryNV12Format() +{ + return HAL_PIXEL_FORMAT_NV12; +} + } // namespace intel } // namespace android |