With NV12, NV21, NV16 and NV61 formats, the size of one pixel from the UV plane (plane #1) is one byte. Indeed, these pixel formats use 4:2:x chroma subsampling: the chroma pixels are sampled at half the luma: for 2 pixels, there are 1 Cb + 1 Cr = 2 bytes. So for plane #1, the correct size is actually 1 byte per pixel. Signed-off-by: Fabien Dessenne <fabien.dessenne@xxxxxx> --- drivers/gpu/drm/drm_crtc.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c index 3313f7e..572c6fa 100644 --- a/drivers/gpu/drm/drm_crtc.c +++ b/drivers/gpu/drm/drm_crtc.c @@ -5618,10 +5618,6 @@ int drm_format_plane_cpp(uint32_t format, int plane) case DRM_FORMAT_UYVY: case DRM_FORMAT_VYUY: return 2; - case DRM_FORMAT_NV12: - case DRM_FORMAT_NV21: - case DRM_FORMAT_NV16: - case DRM_FORMAT_NV61: case DRM_FORMAT_NV24: case DRM_FORMAT_NV42: return plane ? 2 : 1; @@ -5635,6 +5631,10 @@ int drm_format_plane_cpp(uint32_t format, int plane) case DRM_FORMAT_YVU422: case DRM_FORMAT_YUV444: case DRM_FORMAT_YVU444: + case DRM_FORMAT_NV12: + case DRM_FORMAT_NV21: + case DRM_FORMAT_NV16: + case DRM_FORMAT_NV61: return 1; default: drm_fb_get_bpp_depth(format, &depth, &bpp); -- 1.9.1 _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel