Skip to content

Fix encoder test-decode failure when S-frames are enabled - #5210

Open
xinzhao-apple wants to merge 1 commit into
AOMediaCodec:mainfrom
xinzhao-apple:mr/avm-bugfix
Open

Fix encoder test-decode failure when S-frames are enabled#5210
xinzhao-apple wants to merge 1 commit into
AOMediaCodec:mainfrom
xinzhao-apple:mr/avm-bugfix

Conversation

@xinzhao-apple

Copy link
Copy Markdown
Contributor

With --enable-sframe=1, the encoder aborts during test decoding with "Failed to get decoder reference frame". Frames reaching the implicit-output suppression are hidden altrefs, so implicit output is their only route to being output, and gating it on enable_sframe cleared it while overlays still used show_existing_frame and emitted zero bytes, leaving nothing to output those display orders.

The suppression is only needed when the overlay is fully coded instead, which happens only in global error resilient mode, so gate on g_error_resilient_mode alone at both sites. That mode already had enable_sframe 0, so its output is bit-identical.

Fixes issue #5209.

With --enable-sframe=1, the encoder aborts during test decoding with
"Failed to get decoder reference frame". Frames reaching the
implicit-output suppression are hidden altrefs, so implicit output is
their only route to being output, and gating it on enable_sframe cleared
it while overlays still used show_existing_frame and emitted zero bytes,
leaving nothing to output those display orders.

The suppression is only needed when the overlay is fully coded instead,
which happens only in global error resilient mode, so gate on
g_error_resilient_mode alone at both sites. That mode already had
enable_sframe 0, so its output is bit-identical.
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.

2 participants