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 版本中使用 VPE

Guru**** 2558250 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/624919/vpe-cannot-be-used-in-linux-version

尊敬的所有人:  

我正在尝试向我的链添加 VPE 链接。 它将用于调整图像大小。 我的链如下所示:

UseCase:chains_v4l2Src_Adas_null

NullSource (A15)-> Encode (编码)-> DUP -> Decode (解码)-> VPE -> ALG_FrameCopy (DSP1)-> Null (A15)
DUP -> Null_1 (A15)

如果我丢弃 VPE、链路工作正常。 通过 VPE 链接、无论我如何设置 VPE 参数、都会导致以下错误:  

Assertion 0 Line:625 in links_IPU/VPE/vpelink_drv.c:pObj->fvidHandle!=NULL:失败!!!

有人知道原因吗?

我使用 Vision SDK Linux 版本。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    从链中可以看到、您正在尝试在 IPU 上实例化 VPE 链接、但在某种程度上、打开的驱动程序失败。 VPE 驱动程序是包含在 IPU 中还是 Linux 的一部分? 另请检查 VPE 配置、配置错误时也会失败。

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

    感谢您的回复。  

    我不确定您的意思是问 VPE 驱动程序是包含在 IPU 中还是 Linux 的一部分。 我是它的新用户。  VISION SDK 版本为2.7。 我在 Linux/tda2xx/src/usecase 中创建了一个名为"v4l2src_ADAS_null"的用例、其文本如上所示。 我没有更改 VISION SDK 中与 VPE 相关的其他内容。  

    对于 VPE 配置、我只需复制 TI 给出的另一个示例中的内容、该示例称为"vIP_single_cam_enc_dec SGX_display "。 它还使用了 VPE 链路。  

    我的一位同事告诉我、VPE 在 Linux 版本 VISION SDK 中不起作用。 对吧?

    我还附上以下相关内容。 希望您能告诉我配置是否有错误,或者是否需要其他配置。  

    void chains_v4l2Src_Adas null SetVPEPrms (
    301. VpeLink_CreateParams * pPrm、
    302. uint32 numLvdsCh、
    303 uint32 displayWidth、
    304 uint32 displayHeight、
    305 uint32 inputWidth、
    306 uint32输入高度
    307)
    308{
    309 uint16 chid;
    310
    311. pPrm->enableOut[0]= true;
    312
    313. for (Chid = 0;Chid < numLvdsCh;Chid++)
    314 {
    315 pPrm->chParams[Chid].outParams[0].numBufsPerCh =
    316 VPE_LINK_NUM_BUFS_PER_CH_DEFAULT;
    317.
    318 pPrm->chParams[Chid].outParams[0].width =显示宽度;
    319 pPrm->chParams[Chid].outParams[0]。height =显示高度;
    320 pPrm->chParams[Chid].outParams[0]。dataFormat = system_DF_YUV420SP_UV;
    321
    322 pPrm->chParams[Chid].scCfg.bypass = false;
    323 pPrm->chParams[通道].scCfg.nonLinear = false;
    324. pPrm->chParams[Chid].scCfg.stripSize = 0;
    325
    326 pPrm->chParams[Chid].scCropCfg.cropStartX = 0;
    327 pPrm->chParams[Chid].scCropCfg.cropStartY=0;
    328 pPrm->chParams[Chid].scCropCfg.cropWidth = InputWidth;
    329 pPrm->chParams[Chid].scCropCfg.cropHeight = InputHeight;
    330}
    331}
    

    函数的使用是  

    chains_v4l2Src_Adas null SetVPEPrms (&pUcObj->VPEPrm、
    407 Max_Number_of 通道、
    408 CAPTURE_SENSOR_WIDTH、
    409 CAPTURE_SENSOR_HEIGHT、
    410 CAPTURE_SENSOR_width
    、411 CAPTURE_SENSOR_HEIGHT
    412 );
    
    在本例中,MAX_NUMBER_OUT_CHANNELS ==1, 
    CAPTURE_SENSOR_WIDTH=1280、 
    CAPTURE_SENSOR_HEIGHT = 720 
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    参数看起来正确、您是否确实在 VPE 链接中进行了缩放? 如果没有、您可以尝试设置 scBypass = true 吗?
    此外、请检查连接到 VPE 链接的输入是什么?
    VPE 链接不支持 RGB 作为输入格式、因此之前的链接必须提供 YUV 格式。
    实质上检查 VPE 的输入链路参数。

    Rgds、
    Brijesh