2017-05-18, 10:37
@timstephens24, @ggp759: Looks like I have to eat my words. There is definitely something wrong with the Shield's 12-bit output. There is a difference between the native Photos & Videos app and other video players. 8/10-bit output is OK with Kodi & Photos & Videos, but 12-bit isn't. I have no idea why there is this difference between the native video player and the other video players (Kodi, SPMC, MrMC, Vimu, Archos etc.) All use MediaCodec (Surface) rendering. The tables below only show the values for primary & secondary colors. I have checked 21-point grayscale and classic color checker patterns (8 & 10-bit) and they all show similar errors for 12-bit output.
Values that deviate from reference by more than 10 are in red. Up Sampled is 8-bit pattern to 12-bit YCbCr 4:2:2 (table 2) and 10-bit pattern to 12-bit YCbCr 4:2:2 (table 4).
Edit:
I have updated the table. I had used an incorrect pattern file for 10-bit and that was probably causing the errors for 10-bit YCbCr 4:2:0 output. Now the output is accurate for 8 & 10-bits. There are still some small differences between Kodi and Photos & Videos output.
Values that deviate from reference by more than 10 are in red. Up Sampled is 8-bit pattern to 12-bit YCbCr 4:2:2 (table 2) and 10-bit pattern to 12-bit YCbCr 4:2:2 (table 4).
Edit:
I have updated the table. I had used an incorrect pattern file for 10-bit and that was probably causing the errors for 10-bit YCbCr 4:2:0 output. Now the output is accurate for 8 & 10-bits. There are still some small differences between Kodi and Photos & Videos output.