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.

[参考译文] TDA2EG:显示大小比例问题

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/670835/tda2eg-display-size-scale-issue

器件型号:TDA2EG

你(们)好

   我正在处理显示示例 pdk_01_08_00_16\packages/ti\drv\v\vps\examples\dss\displayDss。

   我的硬件配置如下所示:

  1一个基于 TDA2EX 的定制板、它使用一个 MAX9275 串行器(支持高达720p)通过 VOUT1显示视频数据;

  2一个基于 MAX9276的 LCD 、用于解串和显示视频数据。

  输入数据为"pdk_01_08_00_16\packages/ti\drv\vps\docs\test_inputs\dss_input_files\display_yuv422_prog_packed_1920_1020.tigf"、即1080p。  

  在 DisplayDss_main.h 中、我将相关参数更改为"标准 FVID2_STD_720p_60"、"inWidth 1280"、"inHeight 720"。

  显示结果如下:  

   

   正确的结果应该是:

   

   我们可以看到、我的 LCD 上的显示结果大约只是正确结果的2/3。  

   输入数据为1080p、但我的输出配置为720p、因为我的串行器只能支持高达720p 的数据。 我认为这可能是上述异常显示的原因。

   因此、我认为首先需要将输入从1080p 缩放到720p、然后才能正确显示它。

   我想问、我应该如何做比例尺? 使用 VPE?

谢谢

Xuanbo

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    视频流水线中有一个分频器单元、该分频器单元还可用于对图像进行上采样和下采样。
    那么、该解决方案能否满足我的要求? 哪一个更容易?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Xuanbo、

    使用视频流水线中的 DSS 分频器将更容易。 您需要将 scEnable 设置为 true。
    在同一示例中搜索 scEnable 以查看其使用方式。
    希望这起作用。

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

    首先、输入图像本身是1920x1080、当您将其用于720p 显示时、显示示例会拾取输入图像的左上部分1280x720、并显示该图像、因为输入宽度和高度设置为1280x720。
    如果要显示完整图像、则需要将 inWidth 和 inHeight 设置为1920x1080、并启用 Rishabh 提到的标量。

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

    是的,我发现我的显示结果仅为输入图像的左上部分1280x720,即1920*1080。 因此、我认为我需要对其进行缩放。
    如果需要将 InWidth 和 inHeight 设置为1920x1080、那么标准参数如何? FVID2_STD_720p_60或 FVID2_STD_1080p_60?
    实际上、我已经尝试了很多这些参数的组合、但它仍然不起作用...

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

    不、请不要更改标准。

    请按如下所示更改尺寸。
    dssPrms.inFmt.width = 1280
    dssPrms.inFmt.height = 720
    dspsPrms.tarWidth = 1920
    dspsPrms.tarHeight = 1080

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

    轻微修正。 它应该是另一种方式

    dssPrms.inFmt.width = 1920
    dssPrms.inFmt.height = 1080
    dspsPrms.tarWidth = 1280
    dssPrms.tarHeight = 720

    事实上、DSS 应用程序已经支持此功能、而不对应用程序代码进行任何修改-所有这些都在测试参数中公开。 而不是按如下方式设置宽度/高度

           {
               /* inWidth */
               disp_app_use_lcd_width、
           }、
           {
               /* inHeight */
               disp_app_use_lcd_height、
           }、

    设置为

           {
               /* inWidth */
               1920、
           }、
           {
               /* inHeight */
               1080
           }、

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

    感谢您的建议。 我还要感谢布里耶什和里斯哈赫的好建议。
    现在可以正常工作、我的 LCD 上显示了完整的图像。
    正如您在发布此问题之前所说的、我尝试更改 dsPms、但使用标准的 FVID2_STD_1080p_60。 它不起作用。 我认为标准参数是问题所在。

    因此、我有一些概念问题需要明确:
    InWidth/Height:以像素为单位的输入缓冲器分辨率;因此,如果输入视频数据为1080p,则应为1920×1080;这也是视频管道的输入大小;
    显示宽度/高度:由"FVID2_STD_720p_60"参数决定? 如果标准参数为 FVID2_STD_720p_60,则 dispWidth/Height 为1280*720。 如果标准参数是 FVID2_STD_1080p_60,则 dispWidth/Height 为1920*1080。 该参数应与我使用的显示设备或串行器匹配?
    tarWidth/Height (延迟宽度/高度):这对参数的含义是什么? 我只知道这是视频流水线的输出大小、如果它们与 inWidth/Height 不同、则定标器将起作用。 但从物理角度而言、这些意味着什么?

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

    有一个覆盖管理器、它从多个视频管道获取输入并输出与显示大小相等的视频帧。 假设您的显示1080p、则覆盖管理器输出1920x1080帧大小。 现在、覆盖管理器的输入可以小于实际显示帧、然后视频流水线中会有标量。 因此、本质上有三种帧大小、即输入帧大小、标量输出帧大小以及最后的显示帧大小。 tarWidth/tarHeight 是指覆盖管理器的帧大小输入。 或另一种方法是标量输出帧大小。

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

    您好 、Brijesh

       感谢您的解释。

       我对流水线标量还有另一个问题:

       我知道、图形管道不支持缩放。 对于用例"csi2_cal_SV_standalone "、如果显示设备支持1080p、则正确的显示应如下所示:

      但对于支持高达720p 的显示设备、我通过上述方法对视频1流水线进行了扩展。 显示结果如下所示:

      

      从结果来看、我认为来自视频1流水线的数据已正确缩放、以适应我的 LCD。

      但是 、Jeep 图像和文本等图形元素不会进行缩放、因为 图形管道不支持缩放。

      尽管我可以修改 GrpxSrcLink_drawSurroundViewStandaloneLayout ( grpxSrcLink_svStandalone 布局.c)以移动图形元素位置,但我认为这不是一种好方法。 例如、可以更改 Jeep 图像的位置、但无法更改 Jeep 图像的大小。(如您所见、当前的 Jeep 图像对于我的 LCD 来说有点太大)

      那么、我应该怎么做才能将显示结果完美地适应 LCD?

    谢谢

    Xuanbo

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

    我看到您已经为这个新问题 e2e.ti.com/.../671588启动了一个新主题
    我将关闭此主题。

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

    你好 Xuanbo、

    不幸的是、我们没有 grpx 标量。 您可以使用某些 PC 工具离线标量图形图像、然后使用它。

    Rgds、

    Brijesh

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

    好的、我明白了。
    我还有另一个关于绘制图形图像的主题:"e2e.ti.com/.../671324"
    那么、您能看到这个主题并给我一些建议吗?

    谢谢
    Xuanbo