There is a memory
mapped AXI4 interface named m_axi_mm_video
. The memory mapped AXI4
interface runs on the ap_clk
clock domain. The signals
follow the specification as defined in
Vivado Design Suite: AXI Reference
Guide (UG1037).
Table 1. Pixel Formats Supported by the Memory based Multi-Scaler IP Core
Video Format |
Description |
Bits Per Component |
Bytes per Pixel |
RGBX8 |
Packed RGB |
8 |
4 bytes per pixel |
RGB8 |
Packed RGB |
8 |
3 bytes per pixel |
BGRX8 |
Packed BGR |
8 |
4 bytes per pixel |
BGR8 |
Packed BGR |
8 |
3 bytes per pixel |
YUVX8 |
Packed YUV 4:4:4 |
8 |
4 bytes per pixel |
YUV8 |
Packed YUV 4:4:4 |
8 |
3 bytes per pixel |
YUYV8 |
Packed YUV 4:2:2 |
8 |
2 bytes per pixel |
UYVY8 |
Packed YUV 4:2:2 |
8 |
2 bytes per pixel |
Y_UV8 |
Semi-planar YUV 4:2:2 |
8 |
1 byte per pixel per plane |
Y_UV8_420 |
Semi-planar YUV 4:2:0 |
8 |
1 byte per pixel per plane |
Y8 |
Packed luma only |
8 |
1 byte per pixel |
RGBX10 |
Packed RGB |
10 |
4 bytes per pixel |
YUVX10 |
Packed YUV 4:4:4 |
10 |
4 bytes per pixel |
Y_UV10 |
Semi-planar YUV 4:2:2 |
10 |
4 bytes per 3 pixels per plane |
Y_UV10_420 |
Semi-planar YUV 4:2:0 |
10 |
4 bytes per 3 pixels per plane |
Y10 |
Packed luma only |
10 |
4 bytes per 3 pixel |
Note: See
Video Frame Buffer Read and Video Frame Buffer Write
LogiCORE IP Product Guide (PG278) for information on how these video
formats cross reference to software formats.
The following tables
explain the expected pixel mappings in memory for each of the mentioned listed
formats.
RGBX8
Packed RGB, 8 bits per component. Every RGB
pixel in memory is represented with 32 bits, as shown in the following table. The images
need be stored in memory in raster order, that is top-left pixel first and the bottom-right
pixel last. Bits[31:24] do not contain pixel information.
Table 2. RGBX8 Pixel Format
31:24 |
23:16 |
15:8 |
7:0 |
X |
B |
G |
R |
YUVX8
Packed YUV 4:4:4, 8 bits per
component. Every YUV 4:4:4 pixel in memory is represented with 32 bits, as shown in the
following table. Bits[31:24] do not contain pixel information.
Table 3. YUVX8 Pixel Format
31:24 |
23:16 |
15:8 |
7:0 |
X |
V |
U |
Y |
YUYV8
Packed YUV 4:2:2, 8 bits per
component. Every two YUY 4:2:2 pixels in memory are represented with 32 bits, as shown in
the following table.
Table 4. YUYV8 Pixel Format
31:24 |
23:16 |
15:8 |
7:0 |
V0 |
Y1 |
U0 |
Y0 |
RGBX10
Packed RGB, 10 bits per
component. Every RGB pixel is represented with 32 bits, as shown in the following.
Bits[31:30] do not contain any pixel information.
Table 5. RGBX10 Pixel Format
31:30 |
29:20 |
19:10 |
9:0 |
X |
B |
G |
R |
YUVX10
Packed YUV 4:4:4, 10
bits per component. Every YUV 4:4:4 pixel is represented with 32 bits, as shown in the
following table. Bits[31:30] do not contain any pixel information.
Table 6. YUVX10 Pixel Format
31:30 |
29:20 |
19:10 |
9:0 |
X |
V |
U |
Y |
Y_UV8
Semi-planar YUV 4:2:2 with 8
bits per component. Y and UV stored in separate planes as shown in the following table. The
UV plane is assumed to have an offset of stride × height bytes from the Y plane buffer
address.
Table 7. Y_UV8 Pixel Format
|
31:24 |
23:16 |
15:8 |
7:0 |
Y |
Y3 |
Y2 |
Y1 |
Y0 |
UV |
V2 |
U2 |
V0 |
U0 |
Y_UV8_420
Semi-planar YUV 4:2:0
with 8 bits per component. Y and UV stored in separate planes as shown in the following
table. The UV plane is assumed to have an offset of stride × height bytes from the Y plane
buffer address.
Table 8. Y_UV8_420 Pixel Format
31:24 |
23:16 |
15:8 |
7:0 |
Y3 |
Y2 |
Y1 |
Y0 |
RGB8
Packed
RGB, 8 bits per component. Every RGB pixel in memory is represented with 24 bits, as shown
in the following table. The images need be stored in memory in raster order, that is,
top-left pixel first, bottom-right pixel last.
Table 9. RGB8 Pixel Format
23:16 |
15:8 |
7:0 |
B |
G |
R |
YUV8
Packed YUV 4:4:4, 8 bits per component. Every YUV 4:4:4 pixel in memory is
represented with 24 bits, as shown in the following table. The images need be stored in
memory in raster order, that is, top-left pixel first, bottom-right pixel last.
Table 10. YUV8 Pixel Format
23:16 |
15:8 |
7:0 |
V |
U |
Y |
Y_UV10
Semi-planar YUV 4:2:2
with 10 bits per component. Every 3 pixels is represented with 32 bits. Bits[31:30] do not
contain any pixel information. Y and UV stored in separate planes as shown in the following
table. The UV plane is assumed to have an offset of stride x height bytes from the Y plane
buffer address.
Table 11. Y_UV10 Pixel Format
|
63:62 |
61:52 |
51:42 |
41:32 |
31:30 |
29:20 |
19:10 |
9:0 |
Y |
X |
Y5 |
Y4 |
Y3 |
X |
Y2 |
Y1 |
Y0 |
UV |
X |
V4 |
U4 |
V2 |
X |
U2 |
V0 |
U0 |
Y_UV10_420
Semi-planar YUV
4:2:0 with 10 bits per component. Every 3 pixels is represented with 32 bits. Bits[31:30] do
not contain any pixel information. Y and UV stored in separate planes as shown in the
following table. The UV plane is assumed to have an offset of stride x height bytes from the
Y plane buffer address.
Table 12. Y_UV10_420 Pixel Format
|
63:62 |
61:52 |
51:42 |
41:32 |
31:30 |
29:20 |
19:10 |
9:0 |
Y |
X |
Y5 |
Y4 |
Y3 |
X |
Y2 |
Y1 |
Y0 |
UV |
X |
V8 |
U8 |
v4 |
X |
U4 |
V0 |
U0 |
Y8
Packed Luma-Only, 8 bits per
component. Every luma-only pixel in memory is represented with 8 bits, as shown in the
following table. The images need be stored in memory in raster order, that is, top-left
pixel first, bottom-right pixel last.
Table 13. Y8 Pixel Format
7:0 |
Y |
Y10
Packed Luma-Only, 10 bits
per component. Every three luma-only pixels in memory is represented with 32 bits, as shown
in the following table. The images need be stored in memory in raster order, that is,
top-left pixel first, bottom-right pixel last. Bits[31:30] do not contain pixel
information.
Table 14. Y10 Pixel Format
31:30 |
29:20 |
19:10 |
9:0 |
X |
Y2 |
Y1 |
Y0 |
BGRX8
Packed BGR, 8 bits per
component. Every BGR pixel in memory is represented with 32 bits, as shown in the following
table. The images need be stored in memory in raster order, that is, top-left pixel first,
bottom-right pixel last. Bits[31:24] do not contain pixel information.
Table 15. BGRX8 Pixel Format
31:24 |
23:16 |
15:8 |
7:0 |
X |
R |
G |
B |
UYVY8
Packed YUV 4:2:2, 8 bits
per component. Every two YUV 4:2:2 pixels in memory are represented with 32 bits, as shown
in the following table.
Table 16. UYVY8 Pixel Format
31:24 |
23:16 |
15:8 |
7:0 |
Y1 |
V0 |
Y0 |
U0 |
BGR8
Packed BGR, 8 bits per
component. Every BGR pixel in memory is represented with 24 bits, as shown. The images need
to be stored in memory in raster order, that is, top-left pixel first, bottom-right pixel
last.
Table 17. BGR8 Pixel Format
23:16 |
15:8 |
7:0 |
R |
G |
B |