summaryrefslogtreecommitdiff
path: root/overlay
diff options
context:
space:
mode:
authorMaarten Lankhorst <maarten.lankhorst@linux.intel.com>2018-01-22 12:21:34 +0100
committerMaarten Lankhorst <maarten.lankhorst@linux.intel.com>2018-02-01 14:19:48 +0100
commit4452dcb4d8166cb3895ddc016267fd46c674b7f5 (patch)
treef1ad8e6cfbadf3dcd4a976a7d4884650466b763a /overlay
parent918ea427d0255b5bc74da3dcccec8cc3fe65631f (diff)
lib/igt_fb: Add support for NV12 format through conversion, v2.
For NV12 a format conversion is needed. Because YUV formats are not fully defined with just a fourcc, I've chosen BT.601 limited range. This puts the pixel center of the CbCr components between the top left Y and bottom left Y: Y Y Y Y UV UV Y Y Y Y Some work is put into optimising the conversion routines in order to make it fast enough. Before converting nv12 to rgb24, it is copied to a temporary buffer to take advantage of memory caching. This is approximately 20x faster than directly reading the BO. When testing on my KBL with a 1080p buffer, it takes approximately .1s to convert either way, this is fast enough not to bother optimising even further for me. Changes since v1: - Use BT.601 instead of BT.709 coefficients. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Reviewed-by: Mika Kahola <mika.kahola@intel.com>
Diffstat (limited to 'overlay')
0 files changed, 0 insertions, 0 deletions