media: rkvdec: Remove vb2_is_busy check (Chromium green-screen fix)#2
Open
dongioia wants to merge 1 commit into
Open
media: rkvdec: Remove vb2_is_busy check (Chromium green-screen fix)#2dongioia wants to merge 1 commit into
dongioia wants to merge 1 commit into
Conversation
The vb2_is_busy() check on the capture queue in rkvdec_s_ctrl() prevents Chromium from changing the decoded image format mid-stream, causing green-screen artifacts during video playback. This check is unique to rkvdec among all V4L2 stateless decoder drivers; removing it aligns rkvdec with the behavior of other decoders and resolves the Chromium green-screen issue without regressions on mpv. Tested on Rock 5B+ with kernel 7.0-piotr-v9 plus this fix: Chromium playback at 720p/1080p/1440p green-screen-free. Origin: https://patchwork.kernel.org/project/linux-rockchip/patch/20250904.../ Signed-off-by: Jianfeng Liu <liujianfeng1994@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Cherry-pick of Jianfeng Liu's fix on top of
7.1-rc1: removes thevb2_is_busy()check inrkvdec_s_ctrl()that prevents Chromium from changing the decoded image format mid-stream, causing green-screen artifacts during video playback.This check is unique to the
rkvdecdriver among V4L2 stateless decoders in the kernel. Removing it alignsrkvdecwith the standard behavior of other decoders, without regressions on mpv (which was not affected by the bug).Why this is needed on
7.1-rc1The
7.1-rc1branch correctly includes Piotr Oniszczuk's VP9 VDPU381 v9 (775f61afcd4) and Sarma's 2K+ vscale/segmap fix (fe18891c82c), but is missing this Chromium-specific fix. Without it, any rebuild on7.1-rc1will reintroduce the green-screen that had already been resolved on the previously deployed kernel. The check is still present atdrivers/media/platform/rockchip/rkvdec/rkvdec.c:174on the7.1-rc1HEAD; this PR removes the 6 lines (declaration ofvq+ assignment +if (vb2_is_busy)block).Authorship
The commit preserves the original authorship of Jianfeng Liu (
liujianfeng1994@gmail.com, original date 2025-09-04) — first applied on the previously deployed7.0-piotr-v9kernel as commit00d32ed1596f1on the older7.0.ytree. I do not have the upstream patchwork URL handy; happy to update the commit message if you have it.Verification
drivers/media/platform/rockchip/rkvdec/rkvdec.ocompiles cleanly on7.1-rc1withberyllium_rk3588_defconfigafter the change applied.7.0-piotr-v9kernel: Chromium video playback works without green-screen, mpv unaffected.7.1-rc1kernel built with this fix once the rest of the config update lands.