Timing pictures travel small, sound-clocked nodes count, sound-only feeds end - #4
Merged
Merged
Conversation
A picture only timing inputs read may cross smaller than it is. -pad's "geometry" gives each of an input's pictures its own size, by position among them: the node is told that size in video-format, an output like the input takes it, and each frame is checked against the wire's header. A picture something reads the pixels of is refused at another size. shape-probe gains `matte`, a gray picture like `size`, to show it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A node input that wants timing reads a frame's times and the stream's size, never its pixels, yet the picture it was handed crossed whole: decoded, split, relayed and dropped by the host. Where every port a node region hands a picture to reads it for its timing, the picture is now scaled to 16x16 in the ffmpeg that writes it, in the pixel format it already has, and its own size rides the input's -pad as "geometry". A picture a port of the same region reads the pixels of still crosses whole, once, for both. The plan's diagram labels such an edge "timing, 16x16". On the demo's head this is the sell clock: 103 CPU s a minute of output to 93, the split, the relay and sell each cheaper, deals and pictures as before. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A node's delay was counted at its pictures' rate, so a node reading no picture (the switch with only `a` bound, 1024 samples a tick) had no size, and over one live input whose picture goes elsewhere the plan was refused UNBOUNDED_LIVE_INPUT naming it. What it holds past its clock is now counted in frames of the bound: the pictures of the input its clock comes from, or the longest frame where that input has none, the unit the edges' bounds are sized in. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A hold group's end was foretold from the lead member's last queued frame, or else from the picture it last showed. A sound shows nothing, so once the ticks had taken its last run the foretold end was gone, and the feed's last tick reported none where a picture's reports it. A sound's end is now foretold from the pts its last run arrived with. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.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.
Three things the first CPU measurement of the SMART demo on 0.29.0 asked for.
-pad, so the node's stream info,likeoutputs and matte sizes are unchanged while the split, the relay and the host carry almost nothing for it.Head of the demo: about 9% less CPU per minute of output, identical deal rows, pictures identical outside the countdown-start frames that vary run to run.
🤖 Generated with Claude Code