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.

[参考译文] DM388:OSD 相关查询

Guru**** 2601915 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/649589/dm388-osd-related-query

器件型号:DM388

您好!

  我们使用的是 DM388 CSK 和 IPNC RDK v3.9.1应用。 我们需要更改文本窗口的 OSD 功能。 我们将在一段特定时间内启用它、然后禁用文本。


  我们面临以下问题:

1.我们正在更新"Source/IPNC_RDK/IPNC_mcfw/mcfw/src_bios6/links_m3vpss/ALG/SW_OSD/ti_swosd.c"文件。 在此、我添加了#include ,#include  

   但在编译期间、它会产生错误:

"links_m3vpss/ALG/SW_OSD/ti_swosd.c"、第5020行:错误:不允许不完整类型
"links_m3vpss/ALG/SW_OSD/ti_swosd.c"、第5021行:错误:不允许不完整类型
"links_m3vpss/ALG/SW_OSD/ti_swosd.c"、第5023行:错误:标识符"timer_t"未定义
"links_m3vpss/ALG/SW_OSD/ti_swosd.c"、第5024行:错误:标识符"sigset_t"未定义
"links_m3vpss/ALG/SW_OSD/ti_swosd.c"、第5025行:错误:不允许不完整类型
"links_m3vpss/ALG/SW_OSD/ti_swosd.c"、第5028行:错误:标识符"SIGUSR1"未定义
"links_m3vpss/ALG/SW_OSD/ti_swosd.c"、第5030行:错误:标识符"SIGEV_SIGNA"未定义
"links_m3vpss/ALG/SW_OSD/ti_swosd.c"、第5033行:错误:隐式声明函数"timer_create"
"links_m3vpss/ALG/SW_OSD/ti_swosd.c"、第5033行:错误:标识符"clock_realtime"未定义
"links_m3vpss/ALG/SW_OSD/ti_swosd.c"、第5041行:错误:隐式声明函数"timer_settime"
"links_m3vpss/ALG/SW_OSD/ti_swosd.c"、第5022行:错误:已声明变量"freq_nanosecs"、但从未引用

我在文件中添加了以下函数:

int32 Swosd_Createtimer()


   struct sigevent sev;
   struct itimerspec it;
   long long freq_nanosecs;
   timer_t timerid;
   sigset_t mask;
   结构-西格行动 a;


   信号(SIGUSR1、处理程序);

   sev.sigev_notify = SIGEV_SIGNAL;
   sev.sigev_signo = SIGUSR1;
   seV.sigev_value.sival_ptr =&timerid;
   Timer_create (clock_realtime、sev、&timerid);
   /*启动计时器*/

   its.it_value.tv_sec = 5;
   its.it_value.tv_nsec = 0;
   its.it_interval.tv_sec = its.it_value.tv_sec;
   its.it_interval.tv_nsec = its.it_value.tv_nsec;

   Timer_settime (timerid、0、&its、NULL);
   //睡眠(100);
   返回0;
      

我包含了 time.h 和 signal.h

但它仍然没有参考。

2.我想在"Source/IPNC_RDK/IPNC_mcfw/mcfw/src_bios6/links_m3vpss/alG/SW_OSD/ti_swosd.c"的 makefile 文件中添加对库-lt 的引用。 但这在编译期间显示为无效。 如何添加此库?

此致、

Amit Soni  

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

    Amit、您好!

    有全局 gSWOSD_config.dataTimeInfo 结构、您可以将该时间信息用于计时器。

    此致、

    普拉什兰特

    Pathpartner Technology Pvt. Ltd.

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

    Prashant、您好!

           我找到了该参数。 实际上、我希望仅启用文本一段时间、然后禁用它。
           我在其中添加了一些延迟、以启用和禁用文本 OSD。 但由于这个原因、我的视频变得免费。 我应该怎么做?

    此致、

    Amit Soni

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

    请勿在视频管道线路中使用延迟、否则可能会导致问题。
    最好使用时间参数并使用静态变量来存储和比较所需的延迟。

    此致、
    普拉什兰特
    Pathpartner Technology Pvt. Ltd.
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Prashant:

    因为 DM81XX_SWOSD_DISPLAY()函数每隔1秒就会调用一次,所以我在该函数中放入条件,以便能够在所需的时间内启用。 现在、我可以在任何时间段启用和禁用。

    此致、
    Amit Soni