mirror of
git://git.yoctoproject.org/meta-rockchip.git
synced 2025-07-04 20:54:48 +02:00
![]() v4l2codecs is the gstreamer plugin for V4L2 stateless video hardware decoding. The Rockchip SoCs that have a VPU all seems to be based on Hantro, RKVDEC or RKVDECv2, all stateless encoding/decoding VPUs. Therefore, let's enable VPU decoding in Gstreamer whenever possible, when the SoC supports it. PX30, RK3066, RK3188, RK3288, RK3328, RK3399, RK356x and RK3588(s) all have at least one Hantro VPU. RK3328, RK3399, RK356x and RK3588(s) all have at least one RKVDEC/RKVDECv2 VPU (though not necessarily supported in the upstream kernel just yet). === PX30 Tested on PX30 Ringneck with with Haikou+Haikou Video Demo adapter: $ gst-launch-1.0 filesrc location=$FILE ! parsebin ! v4l2slh264dec ! waylandsink with FILE storing the path to any h264 file, e.g. https://download.blender.org/peach/bigbuckbunny_movies/big_buck_bunny_720p_h264.mov https://download.blender.org/peach/bigbuckbunny_movies/big_buck_bunny_1080p_h264.mov Needed packages are: - weston - gstreamer1.0-plugins-bad (for waylandsink and v4l2slh264dec) - gstreamer1.0-plugins-base (for parsebin) A few frames are dropped every other second for 1080p but otherwise smooth. === RK3399 Tested on RK3399 Puma with Haikou: $ gst-launch-1.0 filesrc location=$FILE ! parsebin ! v4l2slh264dec ! waylandsink with FILE storing the path to any h264 file, e.g. https://download.blender.org/peach/bigbuckbunny_movies/big_buck_bunny_1080p_h264.mov https://download.blender.org/demo/movies/BBB/bbb_sunflower_2160p_30fps_normal.mp4.zip Needed packages are: - weston - gstreamer1.0-plugins-bad (for waylandsink and v4l2codecs) - gstreamer1.0-plugins-base (for parsebin) === RK3588 Tested on a RK3588 Tiger with Haikou+Haikou Video Demo adapter - on a downstream v6.6 (upstream-based, not Rockchip BSP-based) with DSI patches - : $ gst-launch-1.0 filesrc location=$FILE ! parsebin ! v4l2slav1dec ! fakesink with FILE storing the path to any AV1 file, e.g. http://download.opencontent.netflix.com.s3.amazonaws.com/AV1/cmaf/spark-8b-59.94fps/spark_606kbps_432p.mp4 https://woolyss.com/f/av1-nosound-chimera.mp4 https://woolyss.com/f/av1-opus-sita.webm Needed packages are: - gstreamer1.0-plugins-bad (for fakesink and v4l2slav1dec) - gstreamer1.0-plugins-base (for parsebin) For some reason though, waylandsink is very choppy. Combining fpsdisplaysink with fakesink shows a ~60fps when decoding the 432p file, ~24fps for the two others. Note that 10b-depth isn't supported (at least in my setup). Reviewed-by: Trevor Woerner <twoerner@gmail.com> Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de> |
||
---|---|---|
.. | ||
gstreamer1.0-plugins-bad_%.bbappend |