video: rockchip: rga3: fix image size cal error in BPP format

Change-Id: I2e3ad31172e9ba5b013500927e016b88b69c87f5
Signed-off-by: Yu Qiaowei <cerf.yu@rock-chips.com>
This commit is contained in:
Yu Qiaowei
2025-07-24 21:01:01 +08:00
committed by Tao Huang
parent 0b1e03cc77
commit b27d0c8a15

View File

@@ -488,9 +488,6 @@ int rga_get_pixel_stride_from_format(uint32_t format)
case RGA_FORMAT_YCrCb_422_SP_10B: case RGA_FORMAT_YCrCb_422_SP_10B:
pixel_stride = 10; pixel_stride = 10;
break; break;
case RGA_FORMAT_BPP1:
case RGA_FORMAT_BPP2:
case RGA_FORMAT_BPP4:
case RGA_FORMAT_BPP8: case RGA_FORMAT_BPP8:
case RGA_FORMAT_YCbCr_400: case RGA_FORMAT_YCbCr_400:
case RGA_FORMAT_A8: case RGA_FORMAT_A8:
@@ -505,9 +502,16 @@ int rga_get_pixel_stride_from_format(uint32_t format)
case RGA_FORMAT_Y8: case RGA_FORMAT_Y8:
pixel_stride = 8; pixel_stride = 8;
break; break;
case RGA_FORMAT_BPP4:
case RGA_FORMAT_Y4: case RGA_FORMAT_Y4:
pixel_stride = 4; pixel_stride = 4;
break; break;
case RGA_FORMAT_BPP2:
pixel_stride = 2;
break;
case RGA_FORMAT_BPP1:
pixel_stride = 1;
break;
default: default:
rga_err("unknown format [0x%x]\n", format); rga_err("unknown format [0x%x]\n", format);
return -1; return -1;
@@ -823,14 +827,22 @@ int rga_image_size_cal(int w, int h, int format,
uv = (w * h) >> 2; uv = (w * h) >> 2;
v = uv; v = uv;
break; break;
case RGA_FORMAT_BPP8:
case RGA_FORMAT_YCbCr_400: case RGA_FORMAT_YCbCr_400:
case RGA_FORMAT_A8: case RGA_FORMAT_A8:
case RGA_FORMAT_Y8: case RGA_FORMAT_Y8:
yrgb = w * h; yrgb = w * h;
break; break;
case RGA_FORMAT_BPP4:
case RGA_FORMAT_Y4: case RGA_FORMAT_Y4:
yrgb = (w * h) >> 1; yrgb = (w * h) >> 1;
break; break;
case RGA_FORMAT_BPP2:
yrgb = (w * h) >> 2;
break;
case RGA_FORMAT_BPP1:
yrgb = (w * h) >> 3;
break;
default: default:
rga_err("Unsuport format [0x%x]\n", format); rga_err("Unsuport format [0x%x]\n", format);
return -EFAULT; return -EFAULT;