mirror of
https://github.com/nyanmisaka/mpp.git
synced 2025-10-05 17:16:50 +08:00
[utils]: Update RGB generation code
Change-Id: I016c92f80391392f3b7f0ebbf8c44d6fa2304c27 Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
This commit is contained in:
@@ -407,7 +407,7 @@ MPP_RET fill_image(RK_U8 *buf, RK_U32 width, RK_U32 height,
|
|||||||
MPP_RET ret = MPP_OK;
|
MPP_RET ret = MPP_OK;
|
||||||
RK_U8 *buf_y = buf;
|
RK_U8 *buf_y = buf;
|
||||||
RK_U8 *buf_c = buf + hor_stride * ver_stride;
|
RK_U8 *buf_c = buf + hor_stride * ver_stride;
|
||||||
RK_U32 x, y;
|
RK_U32 x, y, i;
|
||||||
|
|
||||||
switch (fmt) {
|
switch (fmt) {
|
||||||
case MPP_FMT_YUV420SP : {
|
case MPP_FMT_YUV420SP : {
|
||||||
@@ -463,17 +463,31 @@ MPP_RET fill_image(RK_U8 *buf, RK_U32 width, RK_U32 height,
|
|||||||
}
|
}
|
||||||
} break;
|
} break;
|
||||||
case MPP_FMT_RGB888 :
|
case MPP_FMT_RGB888 :
|
||||||
case MPP_FMT_BGR888 :
|
case MPP_FMT_BGR888 : {
|
||||||
case MPP_FMT_ARGB8888 : {
|
|
||||||
RK_U8 *p = buf_y;
|
RK_U8 *p = buf_y;
|
||||||
RK_U32 pix_w = (fmt == MPP_FMT_ARGB8888 || fmt == MPP_FMT_ABGR8888) ? 4 : 4;
|
RK_U32 pix_w = 3;
|
||||||
|
|
||||||
for (y = 0; y < height; y++, p += hor_stride * pix_w) {
|
for (y = 0; y < height; y++, p += hor_stride * pix_w) {
|
||||||
for (x = 0; x < width; x++) {
|
for (x = 0, i = 0; x < width * pix_w; x += pix_w, i++) {
|
||||||
p[x * 4 + 0] = x * 3 + 0 + y + frame_count * 3;
|
p[x + 0] = i + y + frame_count * 3;
|
||||||
p[x * 4 + 1] = x * 3 + 1 + y + frame_count * 3;
|
p[x + 1] = 128 + i + frame_count * 2;
|
||||||
p[x * 4 + 2] = x * 3 + 2 + y + frame_count * 3;
|
p[x + 2] = 64 + i + frame_count * 5;
|
||||||
p[x * 4 + 3] = 0;
|
}
|
||||||
|
}
|
||||||
|
} break;
|
||||||
|
case MPP_FMT_ARGB8888 :
|
||||||
|
case MPP_FMT_ABGR8888 :
|
||||||
|
case MPP_FMT_BGRA8888 :
|
||||||
|
case MPP_FMT_RGBA8888 : {
|
||||||
|
RK_U8 *p = buf_y;
|
||||||
|
RK_U32 pix_w = 4;
|
||||||
|
|
||||||
|
for (y = 0; y < height; y++, p += hor_stride * pix_w) {
|
||||||
|
for (x = 0, i = 0; x < width * pix_w; x += pix_w, i++) {
|
||||||
|
p[x + 0] = i + y + frame_count * 3;
|
||||||
|
p[x + 1] = 128 + i + frame_count * 2;
|
||||||
|
p[x + 2] = 64 + i + frame_count * 5;
|
||||||
|
p[x + 3] = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} break;
|
} break;
|
||||||
|
Reference in New Issue
Block a user