Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void calculate_base_addresses(u8 num_raw_buf, u8 num_sen, u16 image_w, u16 image_h, u8 num_ref_buf, u16 ref_luma_size, u16 ref_chroma_size, u16 ref_hist_size) {
- int i;
- xil_printf("\r\n");
- for (i=0;i<num_raw_buf;i++) {
- raw_luma_base_addr[i] = RAWMEM_BASE_ADDR + (i*num_sen*image_w*image_h*1.5);
- raw_chroma_base_addr[i] = raw_luma_base_addr[i] + (image_w*image_h);
- xil_printf("RawMem buffer %0d Luma Base Address = 0x%08x\r\n",i,raw_luma_base_addr[i]);
- xil_printf("RawMem buffer %0d Chroma Base Address = 0x%08x\r\n",i,raw_chroma_base_addr[i]);
- }
- xil_printf("\r\n");
- for (i=0;i<num_ref_buf;i++){
- ref_luma_base_addr[i] = REFMEM_BASE_ADDR + (i*(ref_luma_size+ref_chroma_size*ref_hist_size));
- ref_chroma_base_addr[i] = ref_luma_base_addr[i] + ref_luma_size;
- ref_mbskip_base_addr[i] = ref_chroma_base_addr[i] + ref_chroma_size;
- xil_printf("RefMem buffer %0d Luma Base Address = 0x%08x\r\n",i,ref_luma_base_addr[i]);
- xil_printf("RefMem buffer %0d Chroma Base Address = 0x%08x\r\n",i,ref_chroma_base_addr[i]);
- xil_printf("RefMem buffer %0d MBSkip Base Address = 0x%08x\r\n",i,ref_mbskip_base_addr[i]);
- }
- for (i=0;i<NUM_DMAS;i++){
- Xil_Out32((i<<CHANNEL_OFFSET)+FPGA_H264_BASE_ADDR_LUMA_32BIT_ADDR,ref_luma_base_addr[i]);
- Xil_Out32((i<<CHANNEL_OFFSET)+FPGA_H264_BASE_ADDR_CHROMA_32BIT_ADDR,ref_chroma_base_addr[i]);
- Xil_Out32((i<<CHANNEL_OFFSET)+FPGA_H264_BASE_ADDR_MBSKIP_HIST_32BIT_ADDR,ref_mbskip_base_addr[i]);
- xil_printf("RefMem buffers written for dma%0d\r\n",i);
- }
- xil_printf("\r\n");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement