mmm_color_format: Align NV12/NV21 formats to 128x32
NV12 and NV21 formats need to be aligned to 128x32 as per the requirement. Change-Id: Ic03ac5786703d8d46a2f2a57559ac334d4e66971 Signed-off-by: Ravi Ranjan <rravi@codeaurora.org>
This commit is contained in:

committed by
Gerrit - the friendly Code Review server

parent
45644f811d
commit
53bcfe5906
@@ -1,6 +1,6 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
||||
/*
|
||||
* Copyright (c) 2020, The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2020-2021, The Linux Foundation. All rights reserved.
|
||||
*/
|
||||
#ifndef __MMM_COLOR_FMT_INFO_H__
|
||||
#define __MMM_COLOR_FMT_INFO_H__
|
||||
@@ -48,10 +48,10 @@ enum mmm_color_fmts {
|
||||
* . . . . . . . . . . . . . . . . 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
|
||||
* Y_Stride : Width aligned to 128
|
||||
* UV_Stride : Width aligned to 128
|
||||
* Y_Scanlines: Height aligned to 32
|
||||
* UV_Scanlines: Height/2 aligned to 16
|
||||
* Total size = align(Y_Stride * Y_Scanlines
|
||||
* + UV_Stride * UV_Scanlines, 4096)
|
||||
*/
|
||||
@@ -83,10 +83,10 @@ enum mmm_color_fmts {
|
||||
* . . . . . . . . . . . . . . . . V
|
||||
* . . . . . . . . . . . . . . . . --> Padding & 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
|
||||
* Y_Stride : Width aligned to 128
|
||||
* UV_Stride : Width aligned to 128
|
||||
* Y_Scanlines: Height aligned to 32
|
||||
* UV_Scanlines: Height/2 aligned to 16
|
||||
* Total size = align(Y_Stride * Y_Scanlines
|
||||
* + UV_Stride * UV_Scanlines, 4096)
|
||||
*/
|
||||
@@ -783,12 +783,12 @@ static inline unsigned int MMM_COLOR_FMT_Y_STRIDE(unsigned int color_fmt,
|
||||
goto invalid_input;
|
||||
|
||||
switch (color_fmt) {
|
||||
case MMM_COLOR_FMT_NV12:
|
||||
case MMM_COLOR_FMT_NV21:
|
||||
case MMM_COLOR_FMT_NV12_512:
|
||||
alignment = 512;
|
||||
stride = MMM_COLOR_FMT_ALIGN(width, alignment);
|
||||
break;
|
||||
case MMM_COLOR_FMT_NV12:
|
||||
case MMM_COLOR_FMT_NV21:
|
||||
case MMM_COLOR_FMT_NV12_UBWC:
|
||||
alignment = 128;
|
||||
stride = MMM_COLOR_FMT_ALIGN(width, alignment);
|
||||
@@ -826,12 +826,12 @@ static inline unsigned int MMM_COLOR_FMT_UV_STRIDE(unsigned int color_fmt,
|
||||
goto invalid_input;
|
||||
|
||||
switch (color_fmt) {
|
||||
case MMM_COLOR_FMT_NV21:
|
||||
case MMM_COLOR_FMT_NV12:
|
||||
case MMM_COLOR_FMT_NV12_512:
|
||||
alignment = 512;
|
||||
stride = MMM_COLOR_FMT_ALIGN(width, alignment);
|
||||
break;
|
||||
case MMM_COLOR_FMT_NV12:
|
||||
case MMM_COLOR_FMT_NV21:
|
||||
case MMM_COLOR_FMT_NV12_UBWC:
|
||||
alignment = 128;
|
||||
stride = MMM_COLOR_FMT_ALIGN(width, alignment);
|
||||
@@ -869,11 +869,11 @@ static inline unsigned int MMM_COLOR_FMT_Y_SCANLINES(unsigned int color_fmt,
|
||||
goto invalid_input;
|
||||
|
||||
switch (color_fmt) {
|
||||
case MMM_COLOR_FMT_NV12:
|
||||
case MMM_COLOR_FMT_NV21:
|
||||
case MMM_COLOR_FMT_NV12_512:
|
||||
alignment = 512;
|
||||
break;
|
||||
case MMM_COLOR_FMT_NV12:
|
||||
case MMM_COLOR_FMT_NV21:
|
||||
case MMM_COLOR_FMT_NV12_UBWC:
|
||||
case MMM_COLOR_FMT_P010:
|
||||
alignment = 32;
|
||||
@@ -906,11 +906,12 @@ static inline unsigned int MMM_COLOR_FMT_UV_SCANLINES(unsigned int color_fmt,
|
||||
goto invalid_input;
|
||||
|
||||
switch (color_fmt) {
|
||||
case MMM_COLOR_FMT_NV21:
|
||||
case MMM_COLOR_FMT_NV12:
|
||||
|
||||
case MMM_COLOR_FMT_NV12_512:
|
||||
alignment = 256;
|
||||
break;
|
||||
case MMM_COLOR_FMT_NV12:
|
||||
case MMM_COLOR_FMT_NV21:
|
||||
case MMM_COLOR_FMT_NV12_BPP10_UBWC:
|
||||
case MMM_COLOR_FMT_P010_UBWC:
|
||||
case MMM_COLOR_FMT_P010:
|
||||
|
Reference in New Issue
Block a user