Warp Filter Descriptor Structure - 1.1 English

Video Warp Processor LogiCORE IP Product Guide (PG396)

Document ID
PG396
Release Date
2023-12-19
Version
1.1 English

The Warp Filter descriptor should be placed in DDR memory in the following format. The address of this descriptor is provided to the IP through the Descriptor Address register and the IP reads the descriptor from this address.


typedef struct {
	u32 height;
	u32 width;
	u32 stride;
	u32 format;
	u32 valid_seg;
	u32 lblock_count;
	u32 line_num;
	u32 reserved;
	u64 src_buf_addr;
#if ((MAX_NR_PLANES == 2) || (MAX_NR_PLANES == 3) )
	u64 src_buf_addr1;
#endif
#if (MAX_NR_PLANES == 3)
	u64 src_buf_addr2;
#endif
	u64 seg_table_addr;
	u64 dest_buf_addr;
#if ((MAX_NR_PLANES == 2) || (MAX_NR_PLANES == 3) )
	u64 dest_buf_addr1;
#endif
#if (MAX_NR_PLANES == 3)
	u64 dest_buf_addr2;
#endif
#if (WRITE_INVALID == 1)
	AXIMM_WRITE dest_buf_addr_i;
	AXIMM_READ seg_table_addr_i;
#endif
	u64 Warp_NextDescAddr;
} XVWarpFilter_Desc;

The fields in the above descriptor are explained as below:

Table 1. Warp Filter Descriptor Fields
Descriptor Field Explanation
height Height of the input source image. Supported values are between 240 and the value provided in the Maximum Number of Rows field in the Vivado IDE.
width Width of the input source image. Supported values are between 320 and the value provided in the Maximum Number of Columns field in the Vivado IDE.
stride Stride in bytes of the source image.
format Pixel format of the source image.
valid_seg Number of valid blocks that the Warp Filter needs to reconstruct. This value must be read from the valid_segs register of the Warp Initializer.
lblock_count For faster processing, the Warp Filter runs two cores in parallel. The total number of valid blocks are divided between the two cores. The number of blocks that need to be processed by the first core comes from lblock_count. This value must be read from the lblock_count register of the Warp Initializer IP.
line_num The line number from which the 2nd core in the Warp Filter starts reading the source image. This value must be read from the line_num register of the Warp Initializer.
src_buf_addr The 64-bit address from which the source image must be read.
src_buf_addr1 The 64-bit address from which the source image must be read.
src_buf_addr2 The 64-bit address from which the source image must be read.
seg_table_addr The 64-bit address from which the Warp Filter parameters must be read.
dest_buf_addr The 64-bit address to which the corrected image must be written.
dest_buf_addr1 The 64-bit address to which the corrected image must be written.
dest_buf_addr2 The 64-bit address to which the corrected image must be written.