請問dm8127是否支援3路 h264 1280×720 60fps, h264 640×480 30fps, mjpeg 5fps 壓縮?
我目前使用dm8127 rdk3.5, h264enc 版本是 ivahd.02.00.04.01. usecase是參考multich_tristream_fullfeature.c 並加上 capturedisplay.c 的 YUV_FRAMES_TO_A8 的部分流程
雖然h264 1280×720 60fps這一路視頻是60fps輸出, 但是單張單張撥放會發現偶數楨其實是重複奇數楨的內容!!但是30fps是正確的.
但是透過YUV_FRAMES_TO_A8擷取rawdata, 確定偶數張畫面是有變動的.
/*—————————— TRIPLE OUT <1080p + D1 + MJPEG> ———————————-
SENSOR
________||_______
|—-SALDRE ON–| CAMERA LINK |
| | ISP LINK |
| |________________|
GLBCE_LINK
|
| __________________
| | CAMERA LINK |
|—SALDRE ON—| ISP LINK |
|________________|
Capture
RSZA RSZB
1080P60 D130
(YUV420/YUV422I) (YUV420) |————- SD DISPLAY
| | |
| | (2)
NSF DUP_1[SCALER_DUP_IDX](1) –SCALER
(YUV420) (0) |
| | |
| | |
| | |
————–| | IPC FRAMES OUT(VPS)
| | |
| | |
DUP_2[MJPEG_DUP_LINK_IDX](0)——| | IPC FRAMES IN(DSP)
(1) (2) | |
| | | |
|————-(0)-|-(1) – |
| VA(VPS/DSP)
MERGE[CAM_STREAM_MERGE_IDX]
|
|
DUP_4[DIS_DUP_IDX](1)–IPCFRAMESOUT (VPSSTOHOST)
(0) |
| |
| IPCFRAMESINHOST
| |
| |
| IPC FRAMES IN(HOST)
| |
| |
| IPNC (A8)
|
|
|
|
|
|
SWOSD
|
|
|
|
|
IPCM3OUT(VPS)
|
|
IPCM3IN(VID)
|
|
H264ENC
|
|
BITSOUT (VID)
|
|
BITSIN (A8)
——————————————————————————————*/
Ternence_Hsu:
你好;
Chih-Ming Hsu請問dm8127是否支援3路 h264 1280×720 60fps, h264 640×480 30fps, mjpeg 5fps 壓縮?
mjpeg,不知道该怎么计算,在dm8127中 , 如果是h264 720P60 + 480P30 ,这个是完全没有问题的;
Chih-Ming Hsu
雖然h264 1280×720 60fps這一路視頻是60fps輸出, 但是單張單張撥放會發現偶數楨其實是重複奇數楨的內容!!但是30fps是正確的.
但是透過YUV_FRAMES_TO_A8擷取rawdata, 確定偶數張畫面是有變動的.
因为在RSZA 到 enc的整个过程中,没有使用swms 模块,这里应当是不会重复上一帧数据的,顶多也就是丢帧,不会出现2帧数据是一样;
会不会是你编码参数设置导致的呢 ?
能把你h264编码设置的参数贴出来吗 ?
Chris Meng:
回复 Ternence_Hsu:
你好,
是否支持你的use case取决于你使用的DM8127的芯片支持的最高IVAHD的频率,如果是最高档次的DM8127是肯定可以支持的。
先确认一下问题是否出现在编码侧。你能否打印一下编码使用的buffer,看使用的地址前后两帧是否会一样(重复)?
由于你们添加了YUV_FRAMES_TO_A8,请问去掉该部分,能否使得编码正常?你这里是在camera link后加了一个duplink把YUV dup了两份,一份给A8,一份给编码link么?
Chih-Ming Hsu:
回复 Ternence_Hsu:
這是720p60 的設置參數
enc_sid=0cur_codec=10bit_rate=36000000rate_control=3stream_framerate=60000codecAP.ipRatio=60codecAP.fIframe=0codecAP.qpInit=26codecAP.qpMin=8codecAP.qpMax=44codecAP.meConfig=3codecAP.packetSize=100resolution w=1280, h=720
Chih-Ming Hsu:
回复 Chris Meng:
1. 請問ivahd的頻率是否就是 下列的資訊?
U-Boot 2010.06-svn1596 (Jul 07 2015 – 15:31:51) DM8127_IPNC_3.50.00(GV-UBL:20141027)
TI8148-GP rev 3.0
ARM clk: 1000MHzDDR clk: 533MHzL3 clk: 200MHzIVA clk: 450MHzISS clk: 400MHzDSP clk: 750MHzDSS clk: 200MHz
2. 請問我應該在編碼側的什麼位置 打印編碼使用的buffer?
3. 是的 我試過取消YUV_FRAMES_TO_A8相關流程 結果不變.
我dup了兩份. 一份給編碼link, 一份透過 ti_mcfw_ipcframes.c 的App_ipcFramesSendRecvFxn函數 利用OSA_dmaCopy2D取走 .
Ternence_Hsu:
回复 Chih-Ming Hsu:
你好;
1、iva 视频编码加速器的主频是450Mhz ,就是在uboot 中配置的;
2、如果想打印buffer的地址,可以到IPNC_RDK/Source/ipnc_rdk/ipnc_mcfw/mcfw/src_bios6/links_m3video/iva_enc/encLink_common.c
中EncLink_codecProcessData等相关代码中调试打印buffer的地址;
Ternence_Hsu:
回复 Chih-Ming Hsu:
你可以提供一下你编码的小段视频数据流吗?
Chih-Ming Hsu:
回复 Ternence_Hsu:
Ternence Hsu
你可以提供一下你編碼的小段視頻數據流嗎?
Ternence_Hsu:
回复 Chih-Ming Hsu:
刚才用工具分析了一下,没有看出具体问题,但是感觉是更像是编码参数设置异常导致的,第二帧的画面和第一帧画面一样,还有你的每个I帧都是带2个sps、pps信息;
刚开始怀疑是Int32 numTemporalLayer; 设置错误,(numTemporalLayer 只在dvrrdk 中做了接口支持了,也就不是这个问题了)
Chih-Ming Hsu:
回复 Ternence_Hsu:
以下是 enclink_h264_print_dynamic_params函式的資訊 請問是否有異常的資訊?
Ternence Hsu
剛才用工具分析了一下,沒有看出具體問題,但是感覺是更像是編碼參數設置異常導致的,第二幀的畫面和第一幀畫面一樣,還有你的每個I幀都是帶2個sps、pps信息;
剛開始懷疑是Int32 numTemporalLayer; 設置錯誤,(numTemporalLayer 只在dvrrdk 中做了接口支持了,也就不是這個問題了)
Ternence_Hsu:
回复 Chih-Ming Hsu:
你好;
看了一下,你的编码I帧间隔设置为60,实际码流出来为30;
而且你码流也不太对,解析出来为36Mbps,实际平均为2.8Mbps