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.

[参考译文] TDA4VH-Q1:显示的 DSS 颜色转换输出闪烁

Guru**** 2401345 points
Other Parts Discussed in Thread: TDA4VH-Q1

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1488764/tda4vh-q1-dss-color-conversion-output-to-display-is-flickering

器件型号:TDA4VH-Q1

工具与软件:

使用 DSS 从 RGB565到 NV12进行颜色转换后,我们 可以在 eDP 端口上显示。
BUR 视频闪烁。

如何解决该问题? 如果我们缺少任何东西,请帮助。

e2e.ti.com/.../20250318_5F00_122349.mp4

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

    您好!

    很难从这些信息中说出来。 您的输出 NV12是否正确? 您是否保存了输出并确认其正确? 如何从 NV12分配缓冲区? 要在 DSS M2M 和 DSS 之间分配多少个缓冲区? 这些缓冲器是否间隔足够?

    此致、

    Brijesh

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

    您好、Brijesh:

    以下是答案:


    您的输出 NV12是否正确?
    是、其正确仅存在颜色错误(TDA4VH-Q1:j784s4上的显示颜色不正确((橙色/红色->蓝色)或(蓝色->橙色/红色))。

    您是否保存了输出并确认其正确?
    是的、我们已将输出缓冲区转储到文件中并在播放器中查看。

    输入帧 RGB565转储   

    DSS 颜色转换 NV12  第1个帧缓冲区后的输出帧转储   

    DSS 颜色转换 NV12 第2个帧缓冲区后的输出帧转储  

    DSS 颜色转换 NV12 第3个帧缓冲区后的输出帧转储   

    如何从 NV12分配缓冲区?
    共享内存中进行分配。
    例如:   mmap64 (NULL、1920*1080*1.5、PROT_READ | PROT_WRITE、MAP_SHARED | MAP_PHYS、NOFD、phy_addr[INDET]);

    要在 DSS M2M 和 DSS 之间分配多少个缓冲区?
    我们正在分配3个 NV12缓冲区

    这些缓冲器是否间隔足够?
    下面是3个缓冲区起始地址
    NV12的每个大小=(1920 x 1080 x 1.5)

    phy_addr[0]=(off64_t)(uint64_t) 0xB8719DFD;
    phy_addr[1]=(off64_t)(uint64_t) 0xB8A113FE;
    phy_addr[2]=(off64_t)(uint64_t) 0xB8D089FF;

    谢谢  

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

    您的 红色和蓝色组件是否已在内存中交换?  请注意、DSS 支持这两种组件顺序。

    此致、

    Brijesh

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

    您好、Brijesh

    感谢您的回复。

    该工具会自动启用 NV12   。 颜色错误 但如果我选择了相同的图像、也会看到相同的图像 NV21 然后是 颜色似乎正确   


    目前在我们使用的颜色转换代码中    #define APP_DSS_M2M_OUT_FRAME_FORMAT   (FVID2_DF_YUV420SP_UV)

    所以我们只想使用    #define APP_DSS_M2M_OUT_FRAME_FORMAT   (FVID2_DF_YUV420SP_VU)  但误差低于此值  

    src DRv/m2m/dss_m304.307c 2mA @ Line 1424:给定目的地 Fvid2_format 不支持!!
    [DSS (_CR5CF]4 _ER0R) O%R:ioctl_dss_M2M_Set_WB_pipe_Params 失败!!

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

    否、该问题在 YUV420输出中看起来不像、但在 RGB565输入中看起来像。 您能否检查 RGB565输入是否使用正确的输入格式?  

    此致、

    Brijesh

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

    您好、Brijesh

    下面的配置我们正在使用:

    /**<输入帧属性:格式*/
    #define APP_DSS_M2M_IN_FRAME_FORMAT (FVID2_DF_RGB16_565)  


    /**<输入帧属性:宽度(以像素为单位)*/
    #define APP_DSS_M2M_IN_FRAME_WIDTH ((uint32_t) 1920U)


    /**<输入帧属性:高度(以像素为单位)*/
    #define APP_DSS_M2M_IN_FRAME_HEIGHT ((uint32_t) 1080U)


    /**<输入帧属性:每像素字节数*/
    #define APP_DSS_M2M_IN_FRAME_BPP ((uint32_t) 2U)


    /**<输入帧属性:以字节为单位的间距*/
    #define APP_DSS_M2M_IN_FRAME_PITH (uint32_t)\
    (APP_DSS_M2M_IN_FRAME_WIDTH * APP_DSS_M2M_IN_FRAME_BPP)

    /**<输出帧属性:格式*/
    #define APP_DSS_M2M_OUT_FRAME_FORMAT (FVID2_DF_YUV420SP_UV)


    /**<输出帧属性:宽度(以像素为单位)*/
    #define APP_DSS_M2M_OUT_FRAME_WIDTH ((uint32_t) 1920U)


    /**<输出帧属性:高度(以像素为单位)*/
    #define APP_DSS_M2M_OUT_FRAME_HEIGHT ((uint32_t) 1080U)


    /**<输出帧属性:每像素字节数*/
    #define APP_DSS_M2M_OUT_FRAME_BPP (1U)


    /**<输出帧属性:以字节为单位的间距*/
    #define APP_DSS_M2M_OUT_FRAME_PITH ((uint32_t)\
    (APP_DSS_M2M_OUT_FRAME_WIDTH * APP_DSS_M2M_OUT_FRAME_BPP)

    下面为 DSS 提供用于颜色转换的输入图像是 RGB565、这是播放器中的输入帧转储视图



    NV12格式 DSS 转储视图的输出(颜色错误)

    NV21格式的 DSS 转储视图输出(颜色正确为 RGB565输入)

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

    您好!

    我不确定此查看工具是如何预期输入组件订购、它是 RGB16格式 还是 BGR16格式。 在 lsb 中为红色还是在 lsb 中为蓝色? 这是我想首先检查的东西。  

    此致、

    Brijesh

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

    你(们)好  

    这是通过在线工具查看输入 RGB565图像 (RGBA)  

    这是通过在线工具查看输入 RGB565图像  (BGRA)  

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

    您好、Brijesh  

    请告诉我为什么会出现此错误  

    src DRv/m2m/dss_m304.307c 2mA @ Line 1424:给定目的地 Fvid2_format 不支持!!
    [DSS (_CR5CF]4 _ER0R) O%R:ioctl_dss_M2M_Set_WB_pipe_Params 失败!!

    温度 #define APP_DSS_M2M_OUT_FRAME_FORMAT   (FVID2_DF_YUV420SP_VU)   ?

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

    您好!

    此错误是正确的、SDK 不支持 FVID2_DF_YUV420SP_VU。 我认为硬件甚至不支持它。  

    我认为支持 RGB565和 BGR565格式。 那么、 您是否曾尝试过更改输入格式、而不是更改输出格式? 您的输入格式似乎不正确、不符合 DSS 预期的格式。  

    此致、

    Brijesh