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.

[参考译文] TMS320DM368:在 h264和 dei 运行期间内核重新启动

Guru**** 2549670 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/575397/tms320dm368-kernel-reboots-during-h264-and-dei-running

器件型号:TMS320DM368

您好!  

我们有基于 dm368的定制板。  

我们使用的是 DVSDK 04_02_00_06、内核版本为2.6.32。 我们已从 IPNC_RDK 5.1中获取 DEI、并将其移植到 DVSDK 04_02_00_06中、还更改了 h264编解码器。

我们已将 h264编码器和 dei 放入不同的组 ID。  

我们的数据流如下所示:

采集             ->            DEI ->                      调整大小           ->          编码器            ->      SD 卡

(720x576YUV422)         (720x576、YUV422)          (712x570、YUV422)         (736x576、YUV420PSEMI)              (编码数据)

DEI 和 H264同时运行。

我们的内核会在上的记录期间重新启动。 我们在 CE_DEBUG 或 DMAI 中没有收到任何错误消息。  

我们的 cmem 参数如下所示:-

modprobe cmemk phys_start=0x87800000 phys_end=0x90000000 allowOverlap=1 phys_start_1_0x00001000 phys_end_1_0x00008000 Pools;1=1x28672 useHeapIfPoolUnavailable = 1

H264参数是

IH264VENC_Params

h264Params.videncParams.size = sizeof (IH264VENC_Params);
h264Params.profileIdc = 100;/*!<配置文件 IDC */
h264Params.levelIdc = 40或50;/*!<级别 IDC *
h264Params.entropyMode = 1;/*!<熵模式标志0-CAVLC、1-CABAC */
h264Params.transform8x8FlagIntraFrame = 1;/*!<帧间8x8转换的标志*/
h264Params.transform8x8FlagInterFrame = 1;/*!<内部帧中8x8变换的标志*/
h264Params.seqScalingFlag = 1;
h264Params.videncParams.maxFrameRate = 25000;
h264Params.videncParams.reconchromaFormat = XDM_YUV_420SPt;
h264Params.videncParams.rateControlPreset = IVIDEO_STORAGE;
h264Params.videncParams.maxBitRate = 1500000;
h264Params.videncParams.encodingPreset =XDM_HIGH_Quality;
h264Params.videncParams.maxWidth = 1920;
h264Params.videncParams.maxHeight = 1080;
h264Params.videncParams.inputChromaFormat = XDM_YUV_420SP;
dynParams->intraFrameInterval = 12;
h264Params.enableDDRbuff = 1;

IVDENC1_Dynamic_Params

dynParams->targetBitRate =1500000;
dynParams->InputWidth = 736;
dynParams->InputHeight = 576;
dynParams->refFrameRate = 25000;
dynParams->targetFrameRate = 25000;
dynParams->InterFrameInterval = 0;
dynParams->intraFrameInterval = 12;

DEI 参数:

deiAttrs.height = 576;
deiAttrs.width = 720;
deiAttrs.inFormat =彩色空间_UYVY;
deiAttrs.outFormat =彩色空间_UYVY;
deiAttrs.threshold[0]= 0;
deiAttrs.threshold[1]= 2;
deiAttrs.sysBaseAddr = dm365MM_mmap ();

其中包含我们的配置文件和日志文件。

e2e.ti.com/.../Kernel_5F00_Reboot_5F00_Logs.txte2e.ti.com/.../encodedecode_5F00_new.txt

有人告诉我这背后的原因是什么?

谢谢、此致

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

    我将通知团队调查此问题。

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

    您好!  

    您的编解码器和 CMEM 配置看起来正常。 在您的内核日志中,我确实看到,TIMER2中断在重新启动之前被禁用, INTMUX (0x00000018)= 0x00000004 -> 0x00000005 。

    我不确定您使用的多媒体框架。如果您可以分享您的观察结果、删除编解码器并将其存储到 SD 卡中、则其他人最好在这方面为您提供帮助。  

    谢谢、此致、

    Vishwanath Patil