工具/软件:
您好:
我有一个简单的测试流水线、它获取 videotestsrc @ 1920x1080 的输出、并将其缩小到 528x410、然后使用 tiovxdlcolorconvert 从 NV12 转换为 RGB。
如果我使用 tiovxmultiscaler 进行缩放(速度更快)、则颜色错误。
gst-launch-1.0 -v -e videotestsrc is-live=true \
! video/x-raw, format=NV12, width=1920, height=1080, framerate=30/1 \
! queue max-size-buffers=1 leaky=0 name=qstream2 \
! tiovxmultiscaler target=1 \
! video/x-raw, width=528, height=410 \
! tiovxdlcolorconvert \
! video/x-raw, format=RGB \
! queue max-size-buffers=1 leaky=0 \
! kmssink sync=true plane-id=31 render-rectangle="<97,8,528,410>"

如果我使用 tiscaler 替换 tiovxmultiscaler、则流水线如下所示:
gst-launch-1.0 -v -e videotestsrc is-live=true \
! video/x-raw, format=NV12, width=1920, height=1080, framerate=30/1 \
! queue max-size-buffers=1 leaky=0 name=qstream2 \
! tiscaler method=0 \
! video/x-raw, width=528, height=410 \
! tiovxdlcolorconvert \
! video/x-raw, format=RGB \
! queue max-size-buffers=1 leaky=0 \
! kmssink sync=true plane-id=31 render-rectangle="<97,8,528,410>"
并且屏幕输出正确(但我只需要 15fps 而不是 30fps):

如何使用 tiovxmultiscaler、使这种颜色损坏不会发生?
此致、
Bas Vermeulen

