Loading include/uapi/media/msm_media_info.h +51 −1 Original line number Diff line number Diff line Loading @@ -53,7 +53,6 @@ enum color_fmts { * + max(Extradata, Y_Stride * 8), 4096) */ COLOR_FMT_NV12, /* Venus NV21: * YUV 4:2:0 image with a plane of 8 bit Y samples followed * by an interleaved V/U plane containing 8 bit 2x2 subsampled Loading Loading @@ -806,12 +805,48 @@ enum color_fmts { * + max(Extradata, Y_Stride * 8), 4096) */ COLOR_FMT_P010, /* Venus NV12_512: * YUV 4:2:0 image with a plane of 8 bit Y samples followed * by an interleaved U/V plane containing 8 bit 2x2 subsampled * colour difference samples. * * <-------- Y/UV_Stride --------> * <------- Width -------> * Y Y Y Y Y Y Y Y Y Y Y Y . . . . ^ ^ * Y Y Y Y Y Y Y Y Y Y Y Y . . . . | | * Y Y Y Y Y Y Y Y Y Y Y Y . . . . Height | * Y Y Y Y Y Y Y Y Y Y Y Y . . . . | Y_Scanlines * Y Y Y Y Y Y Y Y Y Y Y Y . . . . | | * Y Y Y Y Y Y Y Y Y Y Y Y . . . . | | * Y Y Y Y Y Y Y Y Y Y Y Y . . . . | | * Y Y Y Y Y Y Y Y Y Y Y Y . . . . V | * . . . . . . . . . . . . . . . . | * . . . . . . . . . . . . . . . . | * . . . . . . . . . . . . . . . . | * . . . . . . . . . . . . . . . . V * U V U V U V U V U V U V . . . . ^ * U V U V U V U V U V U V . . . . | * U V U V U V U V U V U V . . . . | * U V U V U V U V U V U V . . . . UV_Scanlines * . . . . . . . . . . . . . . . . | * . . . . . . . . . . . . . . . . V * . . . . . . . . . . . . . . . . --> Buffer size alignment * * Y_Stride : Width aligned to 512 * UV_Stride : Width aligned to 512 * Y_Scanlines: Height aligned to 512 * UV_Scanlines: Height/2 aligned to 256 * Total size = align((Y_Stride * Y_Scanlines * + UV_Stride * UV_Scanlines), 4096) */ COLOR_FMT_NV12_512, }; #define COLOR_FMT_RGBA1010102_UBWC COLOR_FMT_RGBA1010102_UBWC #define COLOR_FMT_RGB565_UBWC COLOR_FMT_RGB565_UBWC #define COLOR_FMT_P010_UBWC COLOR_FMT_P010_UBWC #define COLOR_FMT_P010 COLOR_FMT_P010 #define COLOR_FMT_NV12_512 COLOR_FMT_NV12_512 static inline unsigned int VENUS_EXTRADATA_SIZE(int width, int height) { Loading Loading @@ -847,6 +882,10 @@ static inline unsigned int VENUS_Y_STRIDE(int color_fmt, int width) alignment = 128; stride = MSM_MEDIA_ALIGN(width, alignment); break; case COLOR_FMT_NV12_512: alignment = 512; stride = MSM_MEDIA_ALIGN(width, alignment); break; case COLOR_FMT_NV12_BPP10_UBWC: alignment = 256; stride = MSM_MEDIA_ALIGN(width, 192); Loading Loading @@ -889,6 +928,10 @@ static inline unsigned int VENUS_UV_STRIDE(int color_fmt, int width) alignment = 128; stride = MSM_MEDIA_ALIGN(width, alignment); break; case COLOR_FMT_NV12_512: alignment = 512; stride = MSM_MEDIA_ALIGN(width, alignment); break; case COLOR_FMT_NV12_BPP10_UBWC: alignment = 256; stride = MSM_MEDIA_ALIGN(width, 192); Loading Loading @@ -931,6 +974,9 @@ static inline unsigned int VENUS_Y_SCANLINES(int color_fmt, int height) case COLOR_FMT_P010: alignment = 32; break; case COLOR_FMT_NV12_512: alignment = 512; break; case COLOR_FMT_NV12_BPP10_UBWC: case COLOR_FMT_P010_UBWC: alignment = 16; Loading Loading @@ -966,6 +1012,9 @@ static inline unsigned int VENUS_UV_SCANLINES(int color_fmt, int height) case COLOR_FMT_P010: alignment = 16; break; case COLOR_FMT_NV12_512: alignment = 256; break; case COLOR_FMT_NV12_UBWC: alignment = 32; break; Loading Loading @@ -1268,6 +1317,7 @@ static inline unsigned int VENUS_BUFFER_SIZE( } break; case COLOR_FMT_P010: case COLOR_FMT_NV12_512: uv_alignment = 4096; y_plane = y_stride * y_sclines; uv_plane = uv_stride * uv_sclines + uv_alignment; Loading Loading
include/uapi/media/msm_media_info.h +51 −1 Original line number Diff line number Diff line Loading @@ -53,7 +53,6 @@ enum color_fmts { * + max(Extradata, Y_Stride * 8), 4096) */ COLOR_FMT_NV12, /* Venus NV21: * YUV 4:2:0 image with a plane of 8 bit Y samples followed * by an interleaved V/U plane containing 8 bit 2x2 subsampled Loading Loading @@ -806,12 +805,48 @@ enum color_fmts { * + max(Extradata, Y_Stride * 8), 4096) */ COLOR_FMT_P010, /* Venus NV12_512: * YUV 4:2:0 image with a plane of 8 bit Y samples followed * by an interleaved U/V plane containing 8 bit 2x2 subsampled * colour difference samples. * * <-------- Y/UV_Stride --------> * <------- Width -------> * Y Y Y Y Y Y Y Y Y Y Y Y . . . . ^ ^ * Y Y Y Y Y Y Y Y Y Y Y Y . . . . | | * Y Y Y Y Y Y Y Y Y Y Y Y . . . . Height | * Y Y Y Y Y Y Y Y Y Y Y Y . . . . | Y_Scanlines * Y Y Y Y Y Y Y Y Y Y Y Y . . . . | | * Y Y Y Y Y Y Y Y Y Y Y Y . . . . | | * Y Y Y Y Y Y Y Y Y Y Y Y . . . . | | * Y Y Y Y Y Y Y Y Y Y Y Y . . . . V | * . . . . . . . . . . . . . . . . | * . . . . . . . . . . . . . . . . | * . . . . . . . . . . . . . . . . | * . . . . . . . . . . . . . . . . V * U V U V U V U V U V U V . . . . ^ * U V U V U V U V U V U V . . . . | * U V U V U V U V U V U V . . . . | * U V U V U V U V U V U V . . . . UV_Scanlines * . . . . . . . . . . . . . . . . | * . . . . . . . . . . . . . . . . V * . . . . . . . . . . . . . . . . --> Buffer size alignment * * Y_Stride : Width aligned to 512 * UV_Stride : Width aligned to 512 * Y_Scanlines: Height aligned to 512 * UV_Scanlines: Height/2 aligned to 256 * Total size = align((Y_Stride * Y_Scanlines * + UV_Stride * UV_Scanlines), 4096) */ COLOR_FMT_NV12_512, }; #define COLOR_FMT_RGBA1010102_UBWC COLOR_FMT_RGBA1010102_UBWC #define COLOR_FMT_RGB565_UBWC COLOR_FMT_RGB565_UBWC #define COLOR_FMT_P010_UBWC COLOR_FMT_P010_UBWC #define COLOR_FMT_P010 COLOR_FMT_P010 #define COLOR_FMT_NV12_512 COLOR_FMT_NV12_512 static inline unsigned int VENUS_EXTRADATA_SIZE(int width, int height) { Loading Loading @@ -847,6 +882,10 @@ static inline unsigned int VENUS_Y_STRIDE(int color_fmt, int width) alignment = 128; stride = MSM_MEDIA_ALIGN(width, alignment); break; case COLOR_FMT_NV12_512: alignment = 512; stride = MSM_MEDIA_ALIGN(width, alignment); break; case COLOR_FMT_NV12_BPP10_UBWC: alignment = 256; stride = MSM_MEDIA_ALIGN(width, 192); Loading Loading @@ -889,6 +928,10 @@ static inline unsigned int VENUS_UV_STRIDE(int color_fmt, int width) alignment = 128; stride = MSM_MEDIA_ALIGN(width, alignment); break; case COLOR_FMT_NV12_512: alignment = 512; stride = MSM_MEDIA_ALIGN(width, alignment); break; case COLOR_FMT_NV12_BPP10_UBWC: alignment = 256; stride = MSM_MEDIA_ALIGN(width, 192); Loading Loading @@ -931,6 +974,9 @@ static inline unsigned int VENUS_Y_SCANLINES(int color_fmt, int height) case COLOR_FMT_P010: alignment = 32; break; case COLOR_FMT_NV12_512: alignment = 512; break; case COLOR_FMT_NV12_BPP10_UBWC: case COLOR_FMT_P010_UBWC: alignment = 16; Loading Loading @@ -966,6 +1012,9 @@ static inline unsigned int VENUS_UV_SCANLINES(int color_fmt, int height) case COLOR_FMT_P010: alignment = 16; break; case COLOR_FMT_NV12_512: alignment = 256; break; case COLOR_FMT_NV12_UBWC: alignment = 32; break; Loading Loading @@ -1268,6 +1317,7 @@ static inline unsigned int VENUS_BUFFER_SIZE( } break; case COLOR_FMT_P010: case COLOR_FMT_NV12_512: uv_alignment = 4096; y_plane = y_stride * y_sclines; uv_plane = uv_stride * uv_sclines + uv_alignment; Loading