commit | 32ccd53bb36421bb1e47b1cfa362b9fa6825e82a | [log] [tgz] |
---|---|---|
author | Frank Barchard <fbarchard@google.com> | Sun Aug 04 16:46:32 2024 -0700 |
committer | Frank Barchard <fbarchard@google.com> | Mon Aug 05 18:55:44 2024 +0000 |
tree | 7f6bcc34a690a63b031780cebf8d99a88ba02aa3 | |
parent | e462de319ce2403eaa625226996e962617a15748 [diff] |
Add P010ToNV12 to convert 10 bit biplanar to 8 bit biplanar - P010 and NV12 have the same layout: Full size Y plane and half size UV plane. P010 and NV12 are 4:2:0 subsampling - P010 uses upper 10 bits of 16 bit elements - NV12 uses 8 bit elements - The Convert16To8 used internally will discard the low 2 bits. - UV order is the same - U first in memory, followed by V, interleaved - UV plane is be rounded up in size to allow odd size Y to have UV values - Similar code could be used to convert P210ToNV16, P410ToNV24, with the size of the UV plane affected by subsampling 4:2:2 and 4:4:4 variants. Bug: b/357439226 Change-Id: I5d6ec84d97d0e0cc4008eeb18a929ea28570d6d9 Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/5761958 Reviewed-by: Wan-Teh Chang <wtc@google.com>
libyuv is an open source project that includes YUV scaling and conversion functionality.
See Getting started for instructions on how to get started developing.
You can also browse the docs directory for more documentation.