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/DRA725:支持 DSS 中的 NV21格式输入

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/668886/linux-dra725-support-nv21-format-input-in-dss

器件型号:DRA725

工具/软件:Linux

您好、专家、

   DRA7xx TRM 表示它支持 NV21格式输入、到目前为止、Linux DRM/DSS 驱动程序无法输入 NV21格式。 您是否会建议如何更改驱动程序代码以支持该代码? 如果需要重新编程 VIDx_FIR_COEF_H_I /DISPC_VIDx_FIR_COEF_HV_I、DISPC_VIDx_COV_COEFx、是否有任何建议值?

此致。

  Marvin

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

    Marvin、

    如果您只想支持 NV21缓冲器、而不支持特定平台的 NV12缓冲器、那么这是相当简单的。

    您可以修改 drivers/GPU/DRM/omapdrm/dss/dispc.c 中的函数 dispc_setup_color_conv_coef、并交换 RCR 和 RCB 的值(与 GCR、BCR 和 GCB、BCB 相同)。

    然后,使用 drmModeAddFB2 (..., DRM_format_NV12,)创建的所有 FBS 都将被自动视为 NV21缓冲区。

    但是,如果要添加对 NV21的支持(以及保留对 NV12的支持),则需要修改 dispc_setup_color_conv_coef()以接受 CSC 系数并从 dispc_ovl_setup_common ()调用它。

    此致、

    Subhajit

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Subhajit,
    我们尝试了以下操作:
    dispc_write_reg (DISPC_OVL_COV_COEF (平面、0)、CVAL (CT->RCB、CT->ry));
    dispc_write_reg (DISPC_OVL_COV_COEF (平面、1)、CVAL (CT->Gy、CT->RCR));
    dispc_write_reg (DISPC_OVL_COV_COEF (平面、2)、CVAL (CT->GCR、CT->GCB));
    dispc_write_reg (DISPC_OVL_COV_COEF (平面、3)、CVAL (CT->BCB、CT->By));
    dispc_write_reg (DISPC_OVL_COV_COEF (平面、4)、CVAL (0、CT->BCR));

    并确认寄存器已更新。

    值(增补前)值(增补后)
    DISPC_VIDX_CONV_CONEF1 0X199012A 0X12A
    DISPC_VIDX_CONV_CONEF2 0X12A0000 0X12A0199
    DISPC_VIDX_CONV_CONEF3 0X79C0730 0X730079C
    DISPC_VIDX_CONV_CONEF4 0X12A 0X205012A
    DISPC_VIDX_CONV_CONEF5 0X205 0x0

    NV21映像未正确显示、如上所述。 您会提出更多建议吗?

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

    我认为这个问题现在已经得到解决。 请确认吗?

    此致、
    Anand
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Anand、
    好的、我已将其更改为"已解决"。
    此致、
    Marvin