This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] Linux/TMS320DM8127:关于 H.264和 MJPG 编码错误

Guru**** 2595770 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/642337/linux-tms320dm8127-about-h-264-and-mjpg-encode-error

器件型号:TMS320DM8127

工具/软件:Linux

您好!

在我们的项目中、我们需要将输出流显示为:1080p 60fps (H.264)+D1 30fps (H.264)+D1 15fps (MJPG)

我们修改了代码形式 IPNC 3.5示例并获得了输出、但在一段时间内、我们收到了如下错误消息、系统崩溃。

[m3video ] reqObjIndex 0的扩展错误18400
[m3video ] 34918:警告
[m3video ] ENCLINK: IVAHD_0的 Enclink_h264EncodeFrameBatch .Status[-1]中出现错误
[m3video ] 34918:警告
[m3video ] ENC:IVAHDID:0 ENCLINK:EncLink_SubmitBatch .Status[-1]中出现错误

我修改了设置、下面的操作正常。

1080p 30fps (H.264)+D1 30fps (H.264)+1080p 15fps (D1)

 2. 1080p 30fps (H.264)+D1 30fps (H.264)+D1 15fps (H.264)

3.1080P 30fps (H.264)+D1 30fps (MJPG)

4.1080P 30fps (H.264)+D1 30fps (H.264)

但是,如果设置了条纹,则具有:d1 (H.264)+d1 (MJPG)

我们将收到错误消息:

[m3video ] reqObjIndex 0的扩展错误18400
[m3video ] 34918:警告
[m3video ] ENCLINK: IVAHD_0的 Enclink_h264EncodeFrameBatch .Status[-1]中出现错误
[m3video ] 34918:警告
[m3video ] ENC:IVAHDID:0 ENCLINK:EncLink_SubmitBatch .Status[-1]中出现错误

我在以下链接中发现了一些问题:

www.deyisupport.com/.../174557.aspx

http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/717/t/265927

http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/716/p/584833/2147862

https://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/716/p/478960/1725480

并尝试修改设置  

1。

#define UTILS_ENCDEC_GET_BITBUF_SIZE (宽度、高度、位速率、帧速率)\
(((宽度)*(高度))/utils_ENCDEC_BITBUF_scaling_factor)

更改为  

#define UTILS_ENCDEC_GET_BITBUF_SIZE (宽度、高度、位速率、帧速率)\
(((宽度)*(高度))*3/2)

2.

targetBitRate (MJPG) 1000*1000~17*1000

但无法修复错误。

是否有人知道如何修复错误?

谢谢、

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    IVAHD 只能对1080p (60) FPS 进行编码/解码。 因此您将无法运行您的用例。

    更多信息、请参阅编解码器数据表。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    我发现数据表如下所示:

    1.H264_Encoder_HDVICP2_UserGuide.pdf (文献编号:SPRUHG3 、2012年10月)

    第165页

    和 H264_Encoder_HDVICP2_Datashee.pdf (SPRS843–2012年9月)

    P1

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    我不是说其他决议是不可能的。

    IVA 能够以60FPS 的速度对1080p 进行编码或解码。

    因此、如果您尝试编码1080p 30fps + 720p 30fps 是可能的、但由于 IVA 无法以该速度编码、因此1080p 60fps + 720p 30是不可能的。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    高可、

    可以为您提到的分辨率创建编解码器。 但 无法实现1080p 60fps (H.264)+D1 30fps (H.264)+D1 15fps (MJPG)。  

    最多可以有一个1080p @ 60。 这就是为什么在运行 1080p 30fps (H.264)+D1 30fps (H.264)+1080p 15fps (MJPEG)时看不到任何错误的原因。

    数据表将为您提供性能数据。 其余您可以进行数学运算以了解工作组合。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    请查看此链接:
    www.ti.com/.../TMS320DM8127
    您可以看到、DM8127仅在 HDVICP 模块上具有。
    此模块能够对1x 1080p60或2x 1080p30或4x 720p30等进行编码或解码
    正如 Prashanth 所说的、一个 HDVICP 模块上只能有一个1080p60。
    我看到您为 dm8168链接了 e2e 线程、但 dm8168具有3个 HDVICP 模块。


    BR
    玛格丽塔
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    我将输出修改为 :1080p 30fps (H.264)+D1 30fps (H.264)+D1 5fps (MJPEG)

    但它仍有错误、如下所示:

    [m3video ] ENCLINK:H264Enc!!warning!!!无法处理运行时输出缓冲区请求
    [m3video ] reqObjIndex 0的扩展错误18400
    [m3video ] 43815:警告
    [m3video ] ENCLINK:IVAHD_0的 Enclink_h264EncodeFrameBatch .Status[-1]中出现错误
    [m3video ] 43816:警告
    [m3video ] ENC:IVAHDID:0 ENCLINK:EncLink_SubmitBatch .Status[-1]中出现错误
    [m3video ] reqObjIndex 0的扩展错误18000
    [m3video ] 43835:警告

    但输出: 1080p 30fps (H.264)+D1 30fps (H.264)+1080P5fps (MJPEG)

    还可以  

     

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    如果我设置输出:

    CH1:720p H.264 60fps

    通道2:D1 H.264 30fps

    通道3:D1 MJPG 30fps

    然后  

    将每个通道的参数 targetFrameRate 设置为:

    1.Ch1 = 0、CH2 = 0、ch3 = 30将收到消息(但 Ch3的输出图像正常)

    [m3video ] 70751:!错误!:ENCLINK::links_m3video/IVA_enc/encLink_jpeg。c:[230]::内部错误:-1
    [m3video ] ALGPROCESS 失败
    [m3video ] JPEG 扩展错误400
    [m3video ] 70751:警告
    [m3video ] ENCLINK:Enclink_JPEGEncodeFrame.Status[-1]中出现错误
    [m3video ] 70751:警告
    [m3video ] ENC:IVAHDID:0 ENCLINK:EncLink_SubmitBatch .Status[-1]中出现错误

    2.Ch1 = 0、CH2 = 30、ch3 = 30将收到消息

    [m3video ] reqObjIndex 0的扩展错误18400
    [m3video ] 73382:警告
    [m3video ] ENCLINK:IVAHD_0的 Enclink_h264EncodeFrameBatch .Status[-1]中出现错误
    [m3video ] 73382:警告
    [m3video ] ENC:IVAHDID:0 ENCLINK:EncLink_SubmitBatch .Status[-1]中出现错误

    如果我设置 targetFrameRate,它将跳过 函数: EncLink_doSkipFrame 中的编码帧

    和先前测试中的测量值  

    我想 如果 Ch2 H.264 D1和 Ch3 MJPG D1同时工作、将会发生错误。

    如何解决?

    谢谢、