国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

FPGA基于VDMA實現(xiàn)任意分辨率視頻輸出顯示,高度貼近真實項目,提供工程源碼和技術(shù)支持

這篇具有很好參考價值的文章主要介紹了FPGA基于VDMA實現(xiàn)任意分辨率視頻輸出顯示,高度貼近真實項目,提供工程源碼和技術(shù)支持。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1、前言

之前寫過一篇FPGA純verilog實現(xiàn)任意分辨率視頻輸出顯示,高度貼近真實項目,提供工程源碼和技術(shù)支持的文章,講述了基于AXI協(xié)議的FDMA實現(xiàn)任意分辨率視頻輸出顯示,但對于習(xí)慣使用zynq或者Microblaze的兄弟來說,更喜歡用VDMA,本設(shè)計就是基于VDMA實現(xiàn)任意分辨率視頻輸出顯示,高度貼近真實項目,適用于醫(yī)療、軍工等圖像相關(guān)項目。

2、任意分辨率視頻輸出理論基礎(chǔ)

關(guān)于理論部分,請參考我之前寫的文章:點擊查看:任意分辨率視頻輸出

3、VDMA實現(xiàn)數(shù)據(jù)緩存

VDMA是Xilinx發(fā)布的基于AXIS數(shù)據(jù)流的圖像緩存方案,該IP使用穩(wěn)定、方便,僅需簡單界面配置加SDK配置即可使用,關(guān)于VDMA的講解,Xilinx有官方文檔,網(wǎng)上也有各種文檔,感興趣的可以去詳細讀讀,但恕我直言,說多了都是扯淡,讀了半天不知道怎么用有意義嗎?先用起來再說,在使用過程中去慢慢理解才是最有效的學(xué)習(xí)方式,就算最后還是不懂也沒關(guān)系,能用就行,VDMA本身就是一個黑箱IP,你本來就看不到源碼,怎么可能真正理解,Xilinx根本就沒想讓你真正理解;
VDMA界面配置如下:
FPGA基于VDMA實現(xiàn)任意分辨率視頻輸出顯示,高度貼近真實項目,提供工程源碼和技術(shù)支持,菜鳥FPGA圖像處理專題,fpga開發(fā),圖像處理,VDMA,Zynq,源碼
FPGA基于VDMA實現(xiàn)任意分辨率視頻輸出顯示,高度貼近真實項目,提供工程源碼和技術(shù)支持,菜鳥FPGA圖像處理專題,fpga開發(fā),圖像處理,VDMA,Zynq,源碼
VDMA配置界面幾乎不需要更改,保持官方默認配置已經(jīng)夠了,只是buffer深度需要關(guān)注一下,比如1080P視頻可以適當(dāng)將buffer深度增大到1024或者2048;還有就是選擇緩存幀數(shù),如果嫌延遲太高了可以選擇緩存2幀;
拿我的工程去就能直接把VDMA用起來,該IP簡單來說就是實現(xiàn)視頻到DDR的三幀緩存,使得讀寫錯開,輸出完美視頻,僅此而已;

4、工程1:Kintex7使用VDMA

開發(fā)板:Xilinx Kintex7開發(fā)板;
開發(fā)環(huán)境:Vivado2019.1;
輸入:Ov5640攝像頭,分辨率由SDK配置;
輸出:HDMI,分辨率1920x1080;
Kintex7使用VDMA需要引入Microblaze軟核,圖像緩存進DDR3;
工程BD如下:
FPGA基于VDMA實現(xiàn)任意分辨率視頻輸出顯示,高度貼近真實項目,提供工程源碼和技術(shù)支持,菜鳥FPGA圖像處理專題,fpga開發(fā),圖像處理,VDMA,Zynq,源碼
導(dǎo)出硬件后的代碼架構(gòu)如下:
FPGA基于VDMA實現(xiàn)任意分辨率視頻輸出顯示,高度貼近真實項目,提供工程源碼和技術(shù)支持,菜鳥FPGA圖像處理專題,fpga開發(fā),圖像處理,VDMA,Zynq,源碼
SDK主函數(shù)如下:

int main(){
	XGpioCfg = XGpio_LookupConfig(AXI_GPIO_DEVICE_ID);
	XGpio_CfgInitialize(&led_gpio, XGpioCfg, XGpioCfg->BaseAddress);
	XGpio_SetDataDirection(&led_gpio, 1, 0);	//output
	XGpio_DiscreteWrite(&led_gpio, 1, 0);
	oak_i2c_init(OV5640_IIC_BASEADDR, 1000000, 0x78>>1, IIC_REG_LEN16, IIC_DATA_LEN8);
	OV5640_Init(OV5640_IIC_BASEADDR,1280,720);
	helai_vdma();
	while(1){
		usleep(500000);
		XGpio_DiscreteWrite(&led_gpio, 1, 1);
		usleep(500000);
		XGpio_DiscreteWrite(&led_gpio, 1, 0);
	}
}

5、工程2:Zynq7100使用VDMA

開發(fā)板:Xilinx Zynq7100開發(fā)板;
開發(fā)環(huán)境:Vivado2019.1;
輸入:Ov5640攝像頭,分辨率由SDK配置;
輸出:HDMI,分辨率1920x1080;
VDMA運行與PL端,圖像緩存進PS端DDR3,PL端系統(tǒng)時鐘由PS提供;
工程BD如下:
FPGA基于VDMA實現(xiàn)任意分辨率視頻輸出顯示,高度貼近真實項目,提供工程源碼和技術(shù)支持,菜鳥FPGA圖像處理專題,fpga開發(fā),圖像處理,VDMA,Zynq,源碼
導(dǎo)出硬件后的代碼架構(gòu)如下:
FPGA基于VDMA實現(xiàn)任意分辨率視頻輸出顯示,高度貼近真實項目,提供工程源碼和技術(shù)支持,菜鳥FPGA圖像處理專題,fpga開發(fā),圖像處理,VDMA,Zynq,源碼
SDK主函數(shù)如下:

void main()
{
	// Initialize OV5640 regesiter
	I2C_config_init();
	//璁劇疆鍐呭瓨涓殑鑳屾櫙
	for(i=0;i<SUM;i++){
		Xil_Out16((VIDEO_BASEADDR0 + i), 0x00);
		Xil_Out16((VIDEO_BASEADDR1 + i), 0x00);
		Xil_Out16((VIDEO_BASEADDR2 + i), 0x00);
	}
	//VDMA_WRITE
	Xil_Out32((VDMA_BASEADDR + 0x030), 0x108B);// enable circular mode
	Xil_Out32((VDMA_BASEADDR + 0x0AC), VIDEO_BASEADDR0);	// start address
	Xil_Out32((VDMA_BASEADDR + 0x0B0), VIDEO_BASEADDR1);	// start address
	Xil_Out32((VDMA_BASEADDR + 0x0B4), VIDEO_BASEADDR2);	// start address
	Xil_Out32((VDMA_BASEADDR + 0x0A8), (H_STRIDE*3));		// h offset (H_STRIDE* 3) bytes
	Xil_Out32((VDMA_BASEADDR + 0x0A4), (H_ACTIVE*3));		// h size (H_ACTIVE * 3) bytes
	Xil_Out32((VDMA_BASEADDR + 0x0A0), V_ACTIVE);			// v size (V_ACTIVE)
	//VDMA_READ
	Xil_Out32((VDMA_BASEADDR + 0x000), 0x8B); 		// enable circular mode
	Xil_Out32((VDMA_BASEADDR + 0x05c), VIDEO_BASEADDR0); 	// start address
	Xil_Out32((VDMA_BASEADDR + 0x060), VIDEO_BASEADDR1); 	// start address
	Xil_Out32((VDMA_BASEADDR + 0x064), VIDEO_BASEADDR2); 	// start address
	Xil_Out32((VDMA_BASEADDR + 0x058), (H_STRIDE*3)); 		// h offset (H_STRIDE * 3) bytes
	Xil_Out32((VDMA_BASEADDR + 0x054), (H_ACTIVE*3)); 		// h size (H_ACTIVE * 3) bytes
	Xil_Out32((VDMA_BASEADDR + 0x050), V_ACTIVE); 			// v size (V_ACTIVE)
	while (1) ;
}

6、上板調(diào)試驗證并演示

以工程1為例,動態(tài)ov5640分辨率500x500演示如下:

K7 500X500 VDMA


以工程2為例,靜態(tài)ov5640分辨率1280x720演示如下:
FPGA基于VDMA實現(xiàn)任意分辨率視頻輸出顯示,高度貼近真實項目,提供工程源碼和技術(shù)支持,菜鳥FPGA圖像處理專題,fpga開發(fā),圖像處理,VDMA,Zynq,源碼
動態(tài)ov5640分辨率500x500演示:

FPGA基于VDMA實現(xiàn)任意分辨率視頻輸出顯示

7、福利:工程代碼的獲取

福利:工程代碼的獲取
代碼太大,無法郵箱發(fā)送,以某度網(wǎng)盤鏈接方式發(fā)送,
資料獲取方式:私,或者文章末尾的V名片。
網(wǎng)盤資料如下:
FPGA基于VDMA實現(xiàn)任意分辨率視頻輸出顯示,高度貼近真實項目,提供工程源碼和技術(shù)支持,菜鳥FPGA圖像處理專題,fpga開發(fā),圖像處理,VDMA,Zynq,源碼文章來源地址http://www.zghlxwxcb.cn/news/detail-521053.html

到了這里,關(guān)于FPGA基于VDMA實現(xiàn)任意分辨率視頻輸出顯示,高度貼近真實項目,提供工程源碼和技術(shù)支持的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 【視頻超分辨率】視頻超分辨率的介紹(定義,評價指標(biāo),分類)

    【視頻超分辨率】視頻超分辨率的介紹(定義,評價指標(biāo),分類)

    視頻超分率起源于圖像超分率,旨在根據(jù)已有的低分辨率視頻序列生成具有真實細節(jié)和內(nèi)容連續(xù)的高分辨率視頻序列。視頻超分辨率技術(shù)可以將 低分辨率(低清晰度)視頻轉(zhuǎn)換為高分辨率(高清晰度)視頻 ,以提供更多的細節(jié)和清晰度。 視頻超分辨率技術(shù)主要分為 傳統(tǒng)方法

    2024年02月04日
    瀏覽(25)
  • STM32驅(qū)動ST7735彩色屏幕(任意分辨率),驅(qū)動不了你來打我

    STM32驅(qū)動ST7735彩色屏幕(任意分辨率),驅(qū)動不了你來打我

    驅(qū)動方式 硬件SPI 適用STM32型號 帶SPI的任意型號,驅(qū)動不了你來打我(內(nèi)心OS:HAL真好) 特別提醒 以下內(nèi)容介紹如何使用HAL方式驅(qū)動ST7735,所以默認 你已經(jīng)了解并且會使用STM32CubeMX軟件 (如果沒有接觸過的話建議先安裝嘗試一下再繼續(xù)以下內(nèi)容,不然有種囫圇吞棗的意思了)

    2023年04月15日
    瀏覽(25)
  • STM32驅(qū)動ST7735彩色屏幕(任意分辨率),驅(qū)動不了你順著網(wǎng)線來打我

    STM32驅(qū)動ST7735彩色屏幕(任意分辨率),驅(qū)動不了你順著網(wǎng)線來打我

    驅(qū)動方式 硬件SPI 適用STM32型號 帶SPI的任意型號,驅(qū)動不了你來打我(內(nèi)心OS:HAL真好) 特別提醒 以下內(nèi)容介紹如何使用HAL方式驅(qū)動ST7735,所以默認 你已經(jīng)了解并且會使用STM32CubeMX軟件 (如果沒有接觸過的話建議先安裝嘗試一下再繼續(xù)以下內(nèi)容,不然有種囫圇吞棗的意思了)

    2023年04月23日
    瀏覽(17)
  • Python獲取視頻分辨率大小

    可以使用 Python 的 cv2 庫來獲取視頻的分辨率大小。具體來說,需要執(zhí)行以下步驟: 1、首先,你需要安裝 cv2 庫。你可以使用 pip 安裝: 2、然后,需要導(dǎo)入 cv2 庫并打開視頻文件。就可以使用 cv2.VideoCapture 函數(shù)來打開視頻文件: 3、接著,可以使用 cv2.VideoCapture.get 函數(shù)獲取視

    2024年02月15日
    瀏覽(46)
  • ffmpeg 視頻分辨率修改 質(zhì)量壓縮

    ffmpeg 視頻分辨率修改 質(zhì)量壓縮

    隨著手機像素的提高,拍攝視頻也越來越大,10秒的視頻動輒 二三十兆,這給視頻傳輸和播放都帶來了 諸多不變。一般都需要 前端或或者后端? 對視頻進行壓縮。由于我這邊前端是 H5,所以只能后端進行壓縮, 采用主流壓縮庫采用 ffmpeg 進行,我這邊是 nodejs 環(huán)境 先說下我

    2024年02月02日
    瀏覽(26)
  • 視頻分辨率/幀率/碼率選擇參考

    視頻分辨率/幀率/碼率選擇參考

    1. 視頻碼率與分辨率的參考表 ? ? 1080*720的分辨率,用5000K左右; ? ? 720*576的分辨率,用3500K左右; ? ? 640*480的分辨率,用1500K左右。 2. 計算公式 基本算法:碼率(kbps)=文件大?。↘B)*8/時間(秒) 舉例:視頻文件的容量為3.446G,視頻長度100分鐘(6000秒), 計

    2024年02月06日
    瀏覽(23)
  • java獲取視頻時長、分辨率、幀率、碼率

    1、先導(dǎo)包 2、獲取時長

    2024年02月15日
    瀏覽(38)
  • 使用ffmpeg修改視頻分辨率同時壓縮視頻的質(zhì)量

    調(diào)整視頻的質(zhì)量和碼率可以使用FFmpeg中的編碼選項。以下是一些常用的選項: 1 質(zhì)量選項 :使用 -q:v 參數(shù)設(shè)置視頻的質(zhì)量等級。質(zhì)量等級的范圍是 0-51,其中 0 表示無損壓縮,51 表示最低質(zhì)量。質(zhì)量等級越低,視頻的文件大小就越小,但是視頻的質(zhì)量也會降低。 2 碼率選項

    2024年02月10日
    瀏覽(19)
  • FFmpeg轉(zhuǎn)碼分辨率會變化的視頻

    FFmpeg轉(zhuǎn)碼分辨率會變化的視頻

    有一個H264的視頻流源文件,希望能夠想辦法轉(zhuǎn)換成mp4的格式。 mp4格式的視頻大多數(shù)是固定分辨率的,比如960*480,如果h264視頻流文件是固定尺寸的,那就沒有任何問題。 但是,這個視頻流文件! 不!是!固!定!尺!寸!的! 舉個例子,我已手機的錄屏為例,當(dāng)手機橫屏的

    2024年01月17日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包