yukawa: adapt different YCC orders

The order of the planes doesn't matter, therefore enable mapper
adapter to support YCbCr and YCrCb both.

test: manual
bug: 141006723
Change-Id: Iad0d5159c1b38b12bc90a07f937db002471aad1e
This commit is contained in:
Max Zhang
2019-09-23 13:02:01 -07:00
parent 4321dfea63
commit 59b31c9b90

View File

@@ -282,14 +282,16 @@ class Gralloc1HalImpl : public Hal {
}
if (flex.planes[0].component != FLEX_COMPONENT_Y ||
flex.planes[1].component != FLEX_COMPONENT_Cb ||
flex.planes[2].component != FLEX_COMPONENT_Cr) {
((flex.planes[1].component != FLEX_COMPONENT_Cb || flex.planes[2].component != FLEX_COMPONENT_Cr) &&
(flex.planes[2].component != FLEX_COMPONENT_Cb || flex.planes[1].component != FLEX_COMPONENT_Cr))) {
return false;
}
const auto& y = flex.planes[0];
const auto& cb = flex.planes[1];
const auto& cr = flex.planes[2];
const auto& cb = (flex.planes[1].component == FLEX_COMPONENT_Cb)?
flex.planes[1] : flex.planes[2];
const auto& cr = (flex.planes[2].component == FLEX_COMPONENT_Cr)?
flex.planes[2] : flex.planes[1];
if (cb.h_increment != cr.h_increment || cb.v_increment != cr.v_increment) {
return false;