Add DisplayHashParams to specify how to generate display hash

When generating a DisplayHash, each algorithm can have different
requirements about how to capture the content. Instead of
trying to adjust the buffer after the content is rendered, we can
let SurfaceFlinger use the specified arguments to render the content.

This can be done by getting the display hash params from ExtServices so
they can be specified per algorithm. Then, system server will render the
content using the specified values, ensuring a more efficient
way to scale and grayscale the final buffer.

Test: DisplayHash is grayscale and scaled.
Bug: 155825630
Change-Id: I657e2f94219baaac9318500134a6cd82cd07af56
7 files changed