Repository navigation
media: apple: avd: start AV1 pictures at the CDF producer's VP completion - #800
Merged
Merged
Conversation
Give queued AV1 banks separate coherent CDF output, seeded from the selected primary context. A consumer can snapshot it after the producer's tagged VP completion, without reading a CAPTURE tail still owned by PP. Save successful output to the existing CAPTURE tail at PP retirement; discard failed output and retain segmentation and temporal-MV PP barriers. Reuse and zero equal-sized scratch allocations only after a queued bank is free, removing repeated DMA mapping work from prepare. Keep the single-bank path unchanged. Extend production host fixtures for adaptive output inheritance, completion barriers, PP persistence, errors, bank reuse and scratch zeroing/resize. Assisted-by: LLM Signed-off-by: Ryan Murray <ryan@aurorasilicon.org>
mchalunderscore
pushed a commit
to mchalunderscore/linux
that referenced
this pull request
Nov 4, 2026
…tion/aurora Bring integration/aurora up to aurora-wip 52f0a6b, the source of 7.3.0-aurora-fleet14h, promoted on all four machines on 2026-11-02. The range also covers the fleet14g source b35adc7. It adds aurora-silicon#792, aurora-silicon#750, aurora-silicon#783, aurora-silicon#784, aurora-silicon#793, aurora-silicon#774, aurora-silicon#794, aurora-silicon#796, aurora-silicon#798, aurora-silicon#800, aurora-silicon#802 and aurora-silicon#801. No conflicts. Assisted-by: LLM Signed-off-by: Ryan Murray <ryan@aurorasilicon.org>
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.
One AV1 stream still decoded well below what the hardware does with two streams. On the J616s, 1080p ran at 1598 fps with one stream and 2236 with two. Most pictures in typical streams take their CDFs from the previous decode or the one before it. We released that dependency only at PP retirement, so picture N+1's VP stage waited for all of N.
Fix: each bank gets a private coherent CDF output, separate from its CDF input. Readiness of that output is published at the producer's tagged VP completion. A consumer snapshots it into its own bank, so it can start on another VP without waiting for PP. With disable_frame_end_update_cdf the output is seeded from the input. The saved CAPTURE tail is only updated at successful PP retirement. Segmentation and temporal MV dependencies keep their PP boundary. Banks, FIFOs, buffers and requests are still released only at PP retirement. Legacy firmware and single-bank programs are unchanged.
How tested: J616s, 7.3.0-aurora-fleet14g with avd-fw 6062e851 and the PMC floor, module-only swap, 3 passes per row, bit-exact against software decode, no DART or AVD kernel lines.
macOS VideoToolbox on the same machine decodes one AV1 1080p stream at 2420 fps and reaches 2886 with two streams; AV1 4K reaches 749. Host tests and the AV1 program, queue and unicorn tests pass.
🤖 Generated with Claude Code