{"id":217961,"date":"2026-02-27T03:05:00","date_gmt":"2026-02-27T08:05:00","guid":{"rendered":"https:\/\/news-you-need.com\/index.php\/2026\/02\/27\/rockchip-rk3588-and-rk3576-h-264-and-h-265-video-decoders-gain-mainline-linux-support\/"},"modified":"2026-02-27T04:25:18","modified_gmt":"2026-02-27T09:25:18","slug":"rockchip-rk3588-and-rk3576-h-264-and-h-265-video-decoders-gain-mainline-linux-support","status":"publish","type":"post","link":"https:\/\/news-you-need.com\/index.php\/2026\/02\/27\/rockchip-rk3588-and-rk3576-h-264-and-h-265-video-decoders-gain-mainline-linux-support\/","title":{"rendered":"Rockchip RK3588 and RK3576 H.264 and H.265 video decoders gain mainline Linux support"},"content":{"rendered":"<p><a href=\"https:\/\/www.cnx-software.com\/2026\/02\/27\/rockchip-rk3588-rk3576-h-264-and-h-265-video-decoders-mainline-linux\/\">Rockchip RK3588 and RK3576 H.264 and H.265 video decoders gain mainline Linux support<\/a><\/p>\n<p><a href=\"https:\/\/www.cnx-software.com\/2026\/02\/27\/rockchip-rk3588-rk3576-h-264-and-h-265-video-decoders-mainline-linux\/\">https:\/\/www.cnx-software.com\/2026\/02\/27\/rockchip-rk3588-rk3576-h-264-and-h-265-video-decoders-mainline-linux\/<\/a><\/p>\n<p>Publish Date: <a href=\"publish_date]\">2026-02-27 03:05:00<\/a><\/p>\n<p>Source Domain: <a href=\"www.cnx-software.com\">www.cnx-software.com<\/a><\/p>\n<p>VDPU381 and VDPU383 video decoders are found in Rockchip RK3588 and RK3576 SoCs and variants like the RK3588S and RK3576J. So far, we had to rely on the Rockchip BSP to support hardware video decoding, but Collabora has just announced upstream\/mainline Linux support for H.264 (AVC) and H.265 (HEVC) video decoding for RK3588 and RK3576 SoCs.<\/p>\n<p>Highlights of H.265\/H.264 video decoder implementation on mainline Linux:<\/p>\n<ul>\n<li>A 17-patch series adding decoder support, in addition to dt-bindings and device tree nodes<\/li>\n<li>New V4L2 HEVC UAPI controls for explicit short-term and long-term RPS (Reference Picture Set) handling<\/li>\n<li>Fixing a non-obvious IOMMU restore issue caused by decoder-embedded IOMMU resets<\/li>\n<li>Struct-based register programming model to enforce completeness, ordering, and future multi-core readiness<\/li>\n<\/ul>\n<p>Tux looks happy about the news\u2026<\/p>\n<p>The new V4L2 UAPI controls for HEVC long and short-term Reference Picture Set (RPS) are required for the VDPU381 (RK3588) and VDP383 (RK3576) video decoders, contrary to some other decoders (e.g., VeriSilicon) that can ignore those.\u00a0 So an API was needed for userspace to pass fully described short-term and long-term RPS tables to the kernel. The company also added support in the Virtual Stateless Decoder (visl) driver that shows ftraces with all control parameters. The V4L2 UAPI controls were implemented in GStreamer 1.28 (merged) and FFmpeg (preliminary). The new API also enables compatibility with the Vulkan Video Decode.<\/p>\n<p>The IOMMU restore issue is an interesting one. The IOMMU core is embedded into the Rockchip decoders, so when the decoder is reset, the internal IOMMU is also reset, clearing all previous address mappings. However, the kernel still considers the IOMMU mapping valid after a decoder reset. A patch fixes this issue by explicitly restoring cached IOMMU mappings after a decoder reset. This also impacts other IP blocks in Rockchip SoC,s like the RGA 2D graphics accelerator.<\/p>\n<p>Rockchip decoder registers have some default values&#8230;<\/p>\n<p><a href=\"https:\/\/www.cnx-software.com\/2026\/02\/27\/rockchip-rk3588-rk3576-h-264-and-h-265-video-decoders-mainline-linux\/\">Source<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Rockchip RK3588 and RK3576 H.264 and H.265 video decoders gain mainline Linux support https:\/\/www.cnx-software.com\/2026\/02\/27\/rockchip-rk3588-rk3576-h-264-and-h-265-video-decoders-mainline-linux\/ Publish&#8230;<\/p>\n","protected":false},"author":1,"featured_media":217962,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"https:\/\/www.cnx-software.com\/wp-content\/uploads\/2026\/02\/Rockchip-RK3588-RK3576-main-linux-H.265-H.264-video-decoders.jpg","fifu_image_alt":"","footnotes":""},"categories":[48],"tags":[71],"class_list":["post-217961","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-linux","tag-linux"],"_links":{"self":[{"href":"https:\/\/news-you-need.com\/index.php\/wp-json\/wp\/v2\/posts\/217961"}],"collection":[{"href":"https:\/\/news-you-need.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/news-you-need.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/news-you-need.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/news-you-need.com\/index.php\/wp-json\/wp\/v2\/comments?post=217961"}],"version-history":[{"count":1,"href":"https:\/\/news-you-need.com\/index.php\/wp-json\/wp\/v2\/posts\/217961\/revisions"}],"predecessor-version":[{"id":217963,"href":"https:\/\/news-you-need.com\/index.php\/wp-json\/wp\/v2\/posts\/217961\/revisions\/217963"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/news-you-need.com\/index.php\/wp-json\/wp\/v2\/media\/217962"}],"wp:attachment":[{"href":"https:\/\/news-you-need.com\/index.php\/wp-json\/wp\/v2\/media?parent=217961"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/news-you-need.com\/index.php\/wp-json\/wp\/v2\/categories?post=217961"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/news-you-need.com\/index.php\/wp-json\/wp\/v2\/tags?post=217961"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}