VCU編碼幀率
最近有客戶反饋VCU編碼4K NV12 視頻時(shí), 幀率只能達(dá)到42FPS。
Vivado設(shè)計(jì)檢查
通過檢查Vivado設(shè)計(jì),發(fā)現(xiàn)以下設(shè)計(jì)可能影響幀率,做了改進(jìn)。
1. VCU與DDR連接的AXI Interconnect的位寬是32-bit。 建議改為64-bit或者128-bit。
2. VCU的AXI Master連接到了DDR的同一個(gè)Slave port。 建議同時(shí)運(yùn)行的模塊的AXI Master,連接到DDR的不同的Slave port,防止擁塞,充分利用帶寬。
3. VCU Coding type 被設(shè)置成Intra Frame Only, 導(dǎo)致VCU Encode buffer為0。 建議設(shè)置為Intra & Inter Frame ,并設(shè)置Motion Vector Range為 medium,得到更大的VCU Encode buffer。
4. 使能VCU Encode buffer。
軟件設(shè)計(jì)檢查
1. 軟件設(shè)置CacheLevel2為True,使用VCU Encode buffer。
2. 使用HDMI-Rx等Live Vidoe,不使用filesrc,避免數(shù)據(jù)拷貝。
結(jié)論
經(jīng)過以上改進(jìn)后, 幀率可以達(dá)到64FPS。
VCU延時(shí)
客戶使用在gst命令前添加GST_DEBUG="GST_TRACER:7" GST_TRACERS="latency" GST_DEBUG_FILE="/run/latency.txt"來測(cè)量VCU延時(shí),發(fā)現(xiàn)解碼延時(shí)達(dá)到5秒鐘。 這是錯(cuò)誤的結(jié)果。 單板沒有足夠的內(nèi)存保存5秒鐘的原始視頻,甚至沒有足夠的內(nèi)存保存2秒鐘的原始視頻。
建議使用 GST_DEBUG=omx:6 GST_DEBUG_FILE="/run/latency.txt"來測(cè)試VCU延時(shí)。在記錄文件里搜索“retrieved latency”,可以看到各個(gè)模塊的延時(shí)。
普通情況下的延時(shí)數(shù)據(jù), 編碼延時(shí)18ms,解碼延時(shí)200ms。
0:00:00.408347321 4876 0xaaab00dce770 DEBUG omxvideoenc gstomxvideoenc.c:2659:gst_omx_video_enc_set_latency: retrieved latency of 18 ms
0:00:00.506572825 4876 0xaaab00e5c770 DEBUG omxvideodec gstomxvideodec.c:2481:gst_omx_video_dec_set_latency: retrieved latency of 200 ms
Low-Latency情況下的延時(shí)數(shù)據(jù), 編碼延時(shí)4ms,解碼延時(shí)17ms。
0:00:00.422535568 8048 0xaaaae02f2770 DEBUG omxvideoenc gstomxvideoenc.c:2659:gst_omx_video_enc_set_latency: retrieved latency of 4 ms
0:00:00.521424529 8048 0xaaaae0382770 DEBUG omxvideodec gstomxvideodec.c:2481:gst_omx_video_dec_set_latency: retrieved latency of 17 ms
Low-Latency情況下的延時(shí)數(shù)據(jù), 編碼延時(shí)4ms,解碼延時(shí)17ms。
PG252中的Glass-to-Glass延時(shí)數(shù)據(jù)
Table 69: Glass-to-Glass Latency
審核編輯:湯梓紅
-
amd
+關(guān)注
關(guān)注
25文章
5490瀏覽量
134470 -
Xilinx
+關(guān)注
關(guān)注
71文章
2170瀏覽量
121906 -
編碼
+關(guān)注
關(guān)注
6文章
957瀏覽量
54911 -
AXI
+關(guān)注
關(guān)注
1文章
128瀏覽量
16681
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論