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/DRA750:null_src_decode_display 用例的输入文件不兼容

Guru**** 2609955 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/653540/linux-dra750-input-file-for-null_src_decode_display-use-case-is-not-compatible

器件型号:DRA750

工具/软件:Linux

大家好、

正在尝试的操作:我正在尝试在 TDA2xx 设置上执行"null_src_decode_display"用例。
为实现以下目标而采取的步骤:
1.我尝试了1280x720_00.h264和1280x720_00.HDR 文件(e2e.ti.com/.../2391227。 不显示输出的用例(仅绿色屏幕)
2.考虑到我们只能使用1920x1080分辨率的文件,我尝试通过以下命令将 mkv 文件转换为1920x1080分辨率的.h264和.hdr 文件,但是

   1.使用 ffprobe 命令生成索引文件(视频样本的所有信息)。

   ffprobe -show_packets ./h264_artifes_MOTION.h264 > index.idx

   2.使用 sed 命令从上面生成的索引文件中仅提取"size"。

   Pat=大小
   SED -n "/$PAT/p" index.idx | CUT -d'-f3 >> size_extracted.txt

   3.现在使用以下命令从大小提取的文件生成二进制文件。 请注意,“size_extracted.txt 不应包含任何字符串,只能包含数字,即      帧的大小”。

   CAT size_extracted_jelly.txt | perl -n -e 'printf ("%08x\n"、$_)'| sed S/\(.\)\(.\)\(.\)\(.\)/0x\4\n0x\3\n0x\2\n0x\1/'| xxd -r -p > Size_test.bin 和   Size_test.bin

 它为我提供了 Size_test.bin 文件。
面临的问题:无法创建1920x1080分辨率.h264和.HDR 文件


谢谢、

Nitin

www.blackpeppertech.com

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

    您好 Nitin、

    默认用例支持1080p 分辨率、但您可以将其更改为支持1280x720。

    您需要编辑用例文件以更改以下宏和数据文件名。

    #define ENCDEC_MAX_FRAME_WIDTH (1920)
    #define ENCDEC_MAX_FRAME_HEIGHT (1080)

    是否仅对1920x1080分辨率进行测试?

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

    e2e.ti.com/.../8562.log.txtHelloPrasad、

    感谢您的及时响应。

    我做了以下 实验:

    720p:

    修改内容和位置:

    #define ENCDEC_MAX_FRAME_WIDTH (1280)

    #define ENCDEC_MAX_FRAME_HEIGHT (720)

    strncpy (pPrm->channelParams[Chid].nameDataFile、"/home/1280x720_00.h264、260");

    strncpy (pPrm->channelParams[Chid].nameIndexFile、"/home/1280x720_00.hdr、260");

    当前行为:HDMI 屏幕上未显示视频。 日志已附加。

    1080p:

     更改内容和位置:

    我已经尝试过与上述相同的1920x1080参数更改、并通过 ffprobe 命令创建 Size_test.bin。

    如何生成.h264 和.hdr 文件:但我不知道如何为1920x1080分辨率创建.h264和.hdr 文件。

    谢谢、

    Nitin

    www.blackpeppertech.com

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

    Nitin、

    其他 e2e 帖子中提到了这些步骤。 分辨率为1280x720时、您能尝试以下图像吗?

    /cfs-file/__key/communityserver-discussions-components-files/791/3817.1018.1280x720_5F00_00.zip

    此外、如果您有 Windows 机器步骤来生成头文件和索引文件、如下所示非常简单

    ffprobe.exe -show_packets inData.h264 > index.idx

    sizeBin.exe index.idx inHeader

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

    Prasad、您好!

    感谢您的回复。

    我在继续我的同事尼廷所做的实验时,将会致函以下人士:

    我们基本上希望从流水线 NullSrc->A15->IPU->Decode->VPE->Display 获得 nullSrc 解码显示。

    我们使用的是 VISION SDK 提供的用例、并且未修改任何源代码。

    我们希望使用1080p、.h264视频来尝试此操作。 我们已从下载 h264示例视频

    视频大小为18MB、比特率为5Mbps。

    根据您以前的帖子,我们使用了以下命令:

    在 Ubuntu 14.04上:

    1.使用 ffprobe 命令生成索引文件(视频样本的所有信息)。

      ffprobe -show_packets index.idx

      2.使用 sed 命令从上面生成的索引文件中仅提取"size"。

      Pat=大小

      SED -n "/$PAT/p" index.idx | CUT -d'-f3 >> size_extracted.txt

      3.现在使用以下命令从大小提取的文件生成二进制文件。

      CAT size_extracted.txt | perl -n -e 'printf ("%08x\n"、$_)'| sed S/\(.\)\(.\)\(.\)\(.\)/0x\4\n0x\3\n0x\2\n0x\1/'| xxd -r -p > Size_test.bin 和  Size_test.bin

    因此,我们得到以下文件:

    Size_test.bin 文件、index.idx 和 size_extracted.txt 文件

     

    在 Windows 上:

    C:\ffmpeg\bin>ffprobe.exe -show_packets jellyfish-5-Mbps-hd.h264 > index.idx

    ffprobe 版本 N-89674-g57d0c24132版权所有(c) 2007-2018 FFmpeg 开发者

    使用 gcc 7.2.0 (GCC)构建

    配置:--enable-GPL --enable-version3 --enable-sdl2 --enable-bzlib --enable-fontconfig --enable-gvidls --enable-liphus--enable-liblibbluray --enable-liblibstab freetora --enable-gliblamus-enable-enable-lineb-lob-enable-enable-liniblobloblob-enable-enable-enable-enable-lineb-lineb-lob-enable-enable-lob-enable-lob-enable-lob-enable-enable-lob-enable-liniblobloblob-enable-enable-enable-loblobloblob-enable-enable-enable-enable-enable-enable-loblob-enable-loblob-enable-enable-enable-loblob-enable-enable-enable-loblob-enable-line-line-line-lib

    libavutil   56.  7.100/56。  7.100

    libavcodec  58.  9.100/58。  9.100

    libavformat  58.  3.100/58.  3.100

    libavdevice  58.  0.100/58。  0.100

    libavfilter  7.  8.100/7.   8.100

    libswscale   5.  0.101/5.   0.101.

    libswresample 3.  0.101/3.   0.101.

    libpostproc  55。  0.100/55。  0.100

    输入#0、matroska、webm、来自'jellyfish-5-Mbps-HD.h264':

    元数据:

     编码器     :libebml v1.2.0 + libmatroska v1.1.0

     creation_time :2016-02-06T04:00:51.000000Z

    持续时间:00:00:30.03、开始时间:0.000000、比特率:4976 KB/s

     流#0:0 (eng):视频:h264 (高)、yuv420p (tv、bt709、渐进)、1920x1080 [SAR 1:1 DAR 16:9]、29.97fps、29.97TBR、1k TBN、59.94 tbc (默认)

    C:\ffmpege\bin>sizeBin.exe index.idx inHeader

    'SizeBin.exe'不能识别为内部或外部命令、

    可操作的程序或批处理文件。

    index.idx

    我们面临的问题:

    1) 1)为了播放视频、我们需要

      a).h264视频

      b).HDR 文件

    那么、我们如何从 ffprobe 命令获取.hdr 文件? 我们只能看到上面提到的.bin、.idx 和.txt 文件。

    2) 2) chains_nullSrc_Display.c 具有以下代码

      strncpy (pPrm->channelParams[Chid].nameDataFile、"/home/1920x1080_00.h264、260");

      strncpy (pPrm->channelParams[Chid].nameIndexFile、"/home/1920x1080_00.hdr、260");

      我们是否需要修改大小- 260参数才能播放18MB 的视频?

    请告诉我们。

    谢谢、

    Prabhuraj

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

    Prabhuraj、您好!

    >>那么,我们如何从 ffprobe 命令获取.hdr 文件? 我们只能看到上面提到的.bin、.idx 和.txt 文件。

    以下命令生成的头文件的 Windows 输出。 您需要将 inHeader 重命名为1280x720_00.HDR 并将其放入 SD 卡中。

    sizeBin.exe index.idx inHeader

    从您的日志中、我看到您没有 sizeBin.exe、您可以通过 prasad.jondhale@ti.com 向我发送邮件、以便我可以与您共享二进制文件吗?

    对于 Linux、我从未尝试过 e2e 用户指定的方法、但我想 size_test.bin 是头文件。 我将确认这一点。 您可以同时尝试该文件吗?

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

    我们能够显示 nullSRC 示例。 用于创建.HDR 的 Linux 命令也起作用。
    问题出在我们使用的 HDMI 显示器。 我们有另一个 HDMI、它可以支持不同的分辨率、通过适当的设置、我们可以使它正常工作。


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

    很好、问题得到了解决。 我现在将关闭该线程。 如果您对此主题有进一步的疑问、可以在此处写下并重新打开它。

    此致、
    Yordan