尊敬的 TI 团队:
我们使用 H264视频解码插件、使用 Ducati 插件对视频进行解码、并希望在 QT 应用程序中加速播放。 使用 Gstreamer 流水线运行、解码和显示视频似乎可以正常工作:
gst-launch-1.0文件 rc locity=/big_buck_bunny_720x480_H264_AAC_25fps.mkv! 超棒的大学! h264parse! ducatih264dec! kmsink
使用 Qt 时、我们注意到 QT 尝试将灌电流设置为 qmlsink 或任何其他类型。 使用 SDK 中使用的 Qt 示例时,我们看到屏幕上出现绿色边沿(与 https://e2e.ti.com/support/processors/f/791/t/550005?Artifacts-on-H-264-videos-playing-on-Qt5中的引用相同 )
管道中的 Matroka Demux 似乎检测到输入图像的宽度和高度正确:
0:00:02.431555642 274 0x107a60信息 matrosskademux matrossa-Demux .c:1500:gst_matrossa_Demux_add_stream: 使用 cap video/x-h264、level=(string) 3、profile=(string) main、codec_data=(buffer) 014d401effe10018674d401eda02d0f6c044000003000400000300c83c58ba800468ef80、stream-format=(字符串)添加焊盘'vc''vc' alignment=(string) au、width=(int) 720、height=(int) 480、PIXEL 纵横比=(分数) 1/1、帧速率=(分数) 25/1
Ducati 插件似乎也检测到了这种非常好的情况:
视频/x-raw、帧速率=(fraction) 25/1、width=(int) 896、height=(int) 576、像素宽高比=(fraction) 1/1、 DRM_mem=(布尔值) true、max-ref-frames=(int) 18、format=(string) NV12、interlace-mode=(string) progressive
0:00:26.401782107 292 bb1434fb0 info Ducati gstducatividdec:692:codec_process: 活动框架区域32、24、752、504、裁剪720x480
但当使用 QT 时、似乎未完成此裁剪:
视频/x-raw、帧速率=(fraction) 25/1、width=(int) 896、height=(int) 576、像素宽高比=(fraction) 1/1、 DRM_mem=(布尔值) true、max-ref-frames=(int) 18、format=(string) NV12、interlace-mode=(string) progressive
这在两种情况下都是相同的。 那么、区别似乎在于视频链接(kmsink 与 qt (某些) sink)??
QT 与本机 GStreamer 之间的性能
此外、性能似乎也是一个问题、当使用 GST 启动或播放箱时、我看到 CPU 负载大约为3/5%、正如我在具有硬件视频解码的 AM5708上所期望的那样、 但是、当通过 Qt 显示时、我看到大约70%的 CPU 负载和非常高的内存负载。
请在这里帮助我们。