What happened?
After a subset of programmatic seeks, a freshly-opened VC-1 decoder context logs a hard decode error instead of the routine "first frame is no keyframe" warning that every other seek produces:
[vc1 @ 0x...] [IMGUTILS @ 0x...] [error] Picture size 0x0 is invalid
[vc1 @ 0x...] [error] Failed to set dimensions 0 0
Each occurrence coincides with a layerDrop jump in the next diagnostic sample (frames are lost, not just delayed). Observed 4 times across 3 sessions: once on progressive 23.976fps content (FileD, after seek to 1237.56s) and 3 times on interlaced 29.97i content (FileF, after seeks to 2125.91s and 1973.56s across two separate sessions of the same episode). It is not specific to the deinterlace path, but occurs more often on interlaced content in this sample.
Steps to reproduce
- Open a VC-1 (software path) file — reproduces on both a progressive file (FileD) and an interlaced file (FileF).
- Perform several programmatic seeks to arbitrary timestamps in succession.
- Watch for
[IMGUTILS] Picture size 0x0 is invalid in the log — it doesn't fire on every seek, only some.
AetherEngine version or commit SHA
6.68.0
Host app
AetherPlayer
Platform
macOS
OS version
macOS 27
Device / chip
Mac M1 Studio Max
Playback path
Software (dav1d) host
Source media (for playback bugs)
No response
Error codes / log lines
Anything else
This looks like a more severe version of the same landing condition that produces the ubiquitous "first frame is no keyframe" warning (seeking mid-GOP, before a full reference chain is available) — but here the decoder fails hard enough to report zero dimensions for that frame instead of just warning and continuing. Sample diagnostic context (FileF, second occurrence):
18:05:40.325Z [vc1 @ 0x7ca2661880] [IMGUTILS @ 0x16dd0db68] [error] Picture size 0x0 is invalid
18:05:40.325Z [vc1 @ 0x7ca2661880] [error] Failed to set dimensions 0 0
No corresponding corrupt counter increment and no crash — the frame is simply dropped and playback continues. Given it reproduces on both a progressive and an interlaced file, this is likely a general VC-1 reference-picture-buffer edge case on seek landing rather than something deinterlace-specific, but the sample size on interlaced content (3 of 4 occurrences) suggests it's more easily triggered there — possibly because interlaced GOPs land the software decoder on a bad reference frame more often.
What happened?
After a subset of programmatic seeks, a freshly-opened VC-1 decoder context logs a hard decode error instead of the routine "first frame is no keyframe" warning that every other seek produces:
Each occurrence coincides with a
layerDropjump in the next diagnostic sample (frames are lost, not just delayed). Observed 4 times across 3 sessions: once on progressive 23.976fps content (FileD, after seek to 1237.56s) and 3 times on interlaced 29.97i content (FileF, after seeks to 2125.91s and 1973.56s across two separate sessions of the same episode). It is not specific to the deinterlace path, but occurs more often on interlaced content in this sample.Steps to reproduce
[IMGUTILS] Picture size 0x0 is invalidin the log — it doesn't fire on every seek, only some.AetherEngine version or commit SHA
6.68.0
Host app
AetherPlayer
Platform
macOS
OS version
macOS 27
Device / chip
Mac M1 Studio Max
Playback path
Software (dav1d) host
Source media (for playback bugs)
No response
Error codes / log lines
Anything else
This looks like a more severe version of the same landing condition that produces the ubiquitous "first frame is no keyframe" warning (seeking mid-GOP, before a full reference chain is available) — but here the decoder fails hard enough to report zero dimensions for that frame instead of just warning and continuing. Sample diagnostic context (FileF, second occurrence):
No corresponding
corruptcounter increment and no crash — the frame is simply dropped and playback continues. Given it reproduces on both a progressive and an interlaced file, this is likely a general VC-1 reference-picture-buffer edge case on seek landing rather than something deinterlace-specific, but the sample size on interlaced content (3 of 4 occurrences) suggests it's more easily triggered there — possibly because interlaced GOPs land the software decoder on a bad reference frame more often.