Skip to content

gst-video: Optimize following functions with simd

jinboson requested to merge jinboson/gstreamer:main into main
  1. video_orc_convert_I420_BGRA

Performance test:

  • Test video: bbb_sunflower_1080p_30fps_normal.mp4 (yuv420p)
  • Test cmd: gst-launch-1.0 filesrc location=bbb_sunflower_1080p_30fps_normal.mp4 ! qtdemux ! queue ! h264parse ! avdec_h264 ! videoconvert ! ximagesink
  • Test machine: loongarch 3A5000 4 cores 2.5GHz
  • The cpu overhead of the Test cmd process: 91%-121%(before), 30%-54%(after)
  1. video_orc_convert_AYUV_ARGB, video_orc_unpack_Y444, video_orc_pack_BGRA

Performance test:

  • Test video: bbb_sunflower_1080p_30fps_normal_yuv444p.mp4 (yuv444p, created by ffmpeg)
  • Test cmd: gst-launch-1.0 filesrc location=bbb_sunflower_1080p_30fps_normal_yuv444p.mp4 ! qtdemux ! queue ! h264parse ! avdec_h264 ! videoconvert ! ximagesink
  • Test machine: loongarch 3A5000 4 cores 2.5GHz
  • The cpu overhead of the Test cmd process: 99%-140%(before), 44%-92%(after)

After the optimizations, the according video rendering becomes more smoothly.

Edited by jinboson

Merge request reports