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:在使用硬件 VPU 了解 H265 解码时需要帮助。

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1615783/tda4vh-q1-require-assistance-to-understand-h265-decoding-using-hardware-vpu

器件型号: TDA4VH-Q1

您好的团队、

我们将使用“ti-processor-sdk-rtos-j784s4-evm-11_00_00_06"和“和“ti-processor-sdk-linux-adas-j784s4-evm-11_00_00_08"。“。  

在本例中、我们尝试使用硬件解码 VPU 来解码我们的 H265 文件或流。 此时、它正在抛出“内部数据流错误“。 同时、avdec_H265 不会处理输入、没有任何问题。 我们的最终目标是使用硬件解码器、因为我们的主应用程序已经需要 CPU 的最大处理能力。

请在下面找到终端日志:

root@j784s4-evm:~# gst-launch-1.0 -v udpsrc port=5000!   application/x-RTP、媒体=视频、时钟速率= 90000、编码名称= H265、有效载荷= 96!  rtph265debay! h265parse! v4l2h265dec! 视频转换! video/x-raw、format=NV12! fakesink                                                                                                 
正在将管道设置为已暂停...
流水线是实时的,不需要 PREROLL ...
流水线是 PREROLLED。
正在设置播放管道...
新时钟:GstSystemClock
/GstPipeline:pipaine0/GstCapsFilter:capsfilter0.GstPad:CAPS src = application/x-RTP、media=(字符串)视频、clock-rate=(int) 90000、encoding-name=(字符串)H265、payload=(int)96
/GstPipeline:pipaine0/GstRtpH265Depay:rtph265depay0.GstPad: src : caps=video/x-H265, stream-format=(string)byte-stream , align=(string)au
/GstPipeline:pipaine0/GstH265Parse:h265parse0.GstPad:sink: caps= video/x-H265、stream-format=(string) byte-stream、alignment =(string) au
/GstPipeline:pipaine0/GstRtpH265Depay:rtph265depay0.GstPad:sink: caps=application/x-RTP, media=(string)video, clock-rate=(int)90000, coding-name=(string)H265, payload=(int)96
重新分配延迟...
/GstPipeline:pipaine0/GstH265Parse:h265parse0.GstPad:src:cap = video/x-H265、stream-format=(string) byte-stream、alignment =(string) au、width=(int) 1280、height=(int) 720、 帧速率=(分数)30/1、色度格式=(字符串                                                                                                        
错误:来自元素/GstPipeline:pipaine0/GstUDPSrc:udpsrc0:内部数据流错误。
其他调试信息:
/usr/base/debug/gstreamer1.0/1.22.12/libs/gst/base/gstbasesrc.c src (3134):gst_base_src_loop ():/GstPipeline:pipaine0/GstUDPSrc:udpsrc0:
流已停止、原因未协商(–4)
执行在 0:00:00.792701025 之后结束
正在将管道设置为空...
正在释放管道...
root@j784s4-evm:~#  

root@j784s4-evm:~# gst-launch-1.0 filesrc location=output.h265! h265parse! v4l2h265dec! 视频转换! video/x-raw、format=NV12! fakesink
正在将管道设置为已暂停...
流水线是 PREROLLING ...
重新分配延迟...
错误:来自元素/GstPipeline:pipaine0/GstH265Parse:h265parse0:内部数据流错误。
其他调试信息:
/usr/base/debug/gstreamer1.0/1.22.12/libs/gst/base/gstbaseparse.c src (3699):gst_base_parse_loop ():/GstPipeline:pipaine0/GstH265Parse:h265parse0:
流已停止、原因未协商(–4)
错误:流水线不想预卷。
正在将管道设置为空...
正在释放管道...
root@j784s4-evm:~#  

 如果您需要我这边的其他信息、请告诉我

 

此致、

Jenius R

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

    尊敬的 Jenius:

    我们会重新检视您的建议、并在接下来的几天内回复您。

    谢谢、
    Sarabesh S.

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

    尊敬的 Jenius:

    对延迟深表歉意。 我与我们的开发团队沟通过、似乎这可能是编码错误和像素格式不正确。 您能共享输入流、以便我尝试重现问题吗?  

    此致、
    Sarabesh S.

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

    尊敬的 Sarabesh:

    感谢您的宝贵反馈、  

    根据您的回复、如果问题是像素格式、则意味着什么。  

    “avdec_H265"解码“解码器处理该文件时不会引发任何问题、同时 v4l2h265dec 抛出错误。

    请帮忙处理一下。

    请查找包含示例 H265 文件的 zip 文件。

    e2e.ti.com/.../Encoded_5F00_sample.zip

    此致、

    Jenius R

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

    Jenius,  

    感谢文件流、我将检查并告知您我的发现。

    此致、
    Sarabesh S.

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

    尊敬的 Sarabesh:

    我们正在等待您的宝贵答复、

    请尽快提供解决方案。

    此致、

    Jenius R

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

    尊敬的 Jenius:

    您是否可以尝试以下流水线:  

    gst-launch-1.0 filesrc location=/output.h265!  h265parse!  v4l2h265dec  ! 视频转换! video/x-raw、format=NV12、width=640、height=480! fakesink

    根据错误消息、问题似乎与流水线的 CAP 协商有关。 请告诉我、这是否会给您带来任何问题。

    谢谢、
    Sarabesh S.

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

    您好、sarabesh、

    我们测试了给定的 gstreamer 命令。

    但这也会抛出相同的错误。

    此致、

    Jenius R

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

    尊敬的 Jenius:  

    将继续调查

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

    尊敬的 Jenius:  

    如果使用绝对路径、我发现解码没有问题。 请在您的解码管道中指定流的完整路径、它应该会起作用。  

    我的测试案例:  

    filesrc location=/root/jellyfish_1920x1080_hevc.265! h265parse! v4l2h265dec! 视频转换! video/x-raw、format=NV12! fakesink

    流: e2e.ti.com/.../jellyfish_5F00_1920x1080_5F00_hevc.265

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

    您好、sarabesh、

    我们在这个 H265 编码的文件样例“output.h265 “中使用元数据。 同时、它通过“avdec_H265"正确“正确解码。

    仅与 v4l2h265decc 有关问题。  

    是“v4l2h265dec"具有“具有使用元数据解码 H265 文件的能力。

    此致、

    Jenius R

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

    请查找我随附的图像、了解  具有过时路径的“avdec_H265"和“和“v4l2h265dec"之间“之间的解码性能。

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

    尊敬的 Jenius:  

    我能够复制。 将检查数据流、以了解我们的解码器为何无法对该数据流进行解码。

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

    已联系 IP 供应商以确定我们发现的问题。 他们的反馈。

    谢谢、
    Sarabesh S.

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

    尊敬的 Jenius:  

    问题源于我们怀疑的输入流。 流的编码格式为 YUV422、如 chroma_format_idc=2 值所示。 Wave521CL 不支持对编码为 YUV422 的流进行解码。  

    注意:
    编码器接受 YUV422 作为输入格式、但在编码前会在内部将其转换为 YUV420。
    但解码器不支持解码已编码为 YUV422 的流。

    此致、
    Sarabesh S.