Skip to content

Remove encoder-side limitation for restricted switch frames - #5150

Open
mabenjak wants to merge 3 commits into
AOMediaCodec:mainfrom
mabenjak:restricted_sframe_inter_mode_fix
Open

Remove encoder-side limitation for restricted switch frames#5150
mabenjak wants to merge 3 commits into
AOMediaCodec:mainfrom
mabenjak:restricted_sframe_inter_mode_fix

Conversation

@mabenjak

@mabenjak mabenjak commented Jul 24, 2026

Copy link
Copy Markdown

The function prune_ref_by_selective_ref_frame() returned 1 for all blocks that reference restricted references. This caused WARPMV to be the only prediction mode to be considered for restricted references by the encoder, severely hindering the compression performance of restricted switch frames. Removed this limitation and set display_order_hint to REF_RESTRICTED_DOH to ensure that all now accessible prediction modes are correctly encoded. Added is_restricted checks to av2_get_refresh_frame_flags() because the display_order_hint of restricted references is always >= the current display_order_hint.

Fixes #5152

@mabenjak
mabenjak marked this pull request as ready for review July 24, 2026 20:50
@jkeui jkeui closed this Jul 24, 2026
@jkeui jkeui reopened this Jul 24, 2026
The function prune_ref_by_selective_ref_frame() returned 1 for all blocks that reference restricted references. This caused WARPMV to be the only prediction mode to be considered for restricted references by the encoder, severely hindering the compression performance of restricted switch frames.

Removed this limitation and set display_order_hint to REF_RESTRICTED_DOH to ensure that all now accessible prediction modes are correctly encoded. Added is_restricted checks to av2_get_refresh_frame_flags() because the display_order_hint of restricted references is always >= the current display_order_hint.
@mabenjak
mabenjak force-pushed the restricted_sframe_inter_mode_fix branch from 8c763a8 to c1e5fec Compare August 6, 2026 21:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Encoder limits prediction modes for restricted switch frames

3 participants