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.

[参考译文] J722SXH01EVM:PROCESSOR-SDK-J722S:调试用于主机仿真的 MSC 库函数

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1582366/j722sxh01evm-processor-sdk-j722s-debugging-msc-lib-function-for-host-emulation

器件型号: J722SXH01EVM

这是的后续主题
https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1534945/processor-sdk-j722s-debugging-msc-lib-function-for-host-emulation

通过查看 Gullipalli Suneetha 指向的测试代码、我在缩小 NV12 图像方面取得了一些进展。 (记下上面线程中的最后一条消息)

在新的开发之前、当尝试通过 92_j722s/vhwa_c_models/vpac3/lib/PC/x86_64/linux/release/libscalar.a 库使用此“scaler_top_processing"函“函数时、我在 imgOutPut 输出参数中返回了垃圾数据。  

现在、我正在找回一些有意义的数据。
“Y"值“值的缩放比例正确、但 UV 值用零填充。

我已经尝试了这两个实验。

1. imgInput[0]= YUV.DATA ();  
  imgInput[1]= nullptr;

2. imgInput[0]= Y16.data ();  
  imgInput[1]= UV16.data ();  

但我发现、两个都会产生相同的输出。
您能否提供一些有关应如何准备输入的信息?
  • int scaler_top_processing (unsigned short * imgInput[2]、unsigned short * imgOutput[scaler_NUM_pipes]、Scaler_Config * config);


 

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

    或者、另一种可能是 UV 数据当前未在 scaler_top_processing 中处理、是否需要打开选项才能使其按预期工作?
    由于我无法访问上述功能的实现、我只能推测。

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

    尊敬的 Yoseop Kim:

    MSC Cmodel 库一次处理一个组件 、因此对于 NV 12 输入图像、您需要传递/运行 cmodel 两次、一次用于 luma 数据、第二次用于色度数据。 您能否检查一下这是否得到了注意? 请参阅 TIOVX 中 MSC 节点的 cmodel 实现。   

    此致、

    Brijesh

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

    您好、Brijesh
    好的、我明白。 我会试一试。
    感谢您提供信息!
    此致、
    Joseph

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

    谢谢 Joseph、我将把这个线程移至“等待“状态。  

    此致、

    Brijesh

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

    您好、Brijesh

    运行该功能两次、一次用于亮度、第二次用于色度数据在某种程度上起作用。
    我得到了一些合理的数据、但输出与在 TI 电路板上调整大小的图像不完全相同。

    首先、我的同事运行了您引导我使用的代码、他给了我大部分系数和设置值
    需要执行 scaler_top_processing 函数。
    但是、以下结构的值 Scaler_Config  似乎不可用。
    我不得不在这些方面做出有教育意义的猜测。

            对于 (int i = 0i < scaler_NUM_pipesi++){
              Settings.unitParams[i]threadMap = 0
              Settings.unitParams[i]coefShift = 8
              Settings.unitParams[i]SignedData = 0
              Settings.unitParams[i]x_offset = 0
              Settings.unitParams[i]y_offset = 0
              Settings.unitParams[i]outWidth = image_dst_width
              Settings.unitParams[i]outHeight = image_dst_height
              Settings.unitParams[i]initPhaseX = 2048
              Settings.unitParams[i]initPhaseY = 2048
              Settings.unitParams[i]hzScale = 8192
              Settings.unitParams[i]vtScale = 8192
              Settings.unitParams[i]satMode = 0
              Settings.unitParams[i]uvMode = 1
              Settings.unitParams[i].sp_vs_coef_src = 0
              Settings.unitParams[i].sp_vs_coef_sel = 0
              settings.unitParams[i].sp_hs_coef_src = 0
              Settings.unitParams[i].sp_hs_coef_sel = 0
              Settings.unitParams[i]vs_coef_SEL = 0
              Settings.unitParams[i]hs_coef_sel = 0
              Settings.unitParams[i]phase_mode = 1
              Settings.unitParams[i]filter_mode = 1
            }



    当将 1920x1080 图像大小调整到 960x540 时、通过反复播放 initPhase X/Y 和 Hz/vtScale 值、
    我能够在 TI 板上调整大小的图像输出与 PC 仿真之间实现~80%的相似性。

    我不确定如何或是否可以通过 PC 仿真重现 100%相同的结果。

    1.你有什么想法如何从这一点出发? 我是否必须继续调整 initPhase 值?
    2.有没有关于如何计算或如何选择这些值的文档? 尤其是 initPhaseX 和 Y
    我想我已经计算出 hzScale 和 vtScale。 它们非常简单。
    3.“请参考 TIOVX 中 MSC 节点的 cmodel 实现。  “->你的意思是有一种方法  
    在某处查看 scaler_top_processing 函数的实现情况? 什么是 cmodel 实现?

    谢谢、
    Joseph。






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

    e2e.ti.com/.../testGraphProcessing_5F00_Nv12_5F00_variable_5F00_dump.txt
    此文件包含测试代码中可见/可用的任何值
    我的同事在 TI 电路板上运行代码。