TI中文支持网
TI专业的中文技术问题搜集分享网站

DM8127 720p60 h264編碼 偶數楨重複 問題

請問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

赞(0)
未经允许不得转载:TI中文支持网 » DM8127 720p60 h264編碼 偶數楨重複 問題
分享到: 更多 (0)