pub fn check_animation_streaming_output_honesty<E, D>(
enc: E,
dec: D,
frames: &[TestImage],
) -> Conformancewhere
E: EncoderConfig,
D: DecoderConfig,
<E::Job as EncodeJob>::AnimationFrameEnc: AnimationFrameEncoder,Expand description
Verify the AnimationOutputTiming
an animation encoder’s begin reports.
Runs begin with the frame count declared and without it. For each
declaration that streams:
- With the count declared, the lag is below the frame count.
- Between any two points
lagor more frames apart (afterbeginand after each frame but the last), bytes become pending. To verify a lag ofLframes, supply more thanL + 1frames; fewer fails the check. - Draining everything after each frame, draining with
take_output, and not draining all produce the same bytes, which decode to the same frames and durations as the encode withoutbegin(so lossy codecs can run it). - A second
beginis an error, and so is finishing after fewer frames than declared. - A refused
beginleaves the encoder unchanged: whenbeginrefuses a zero-width canvas,beginwith the real canvas on the same encoder reports the same timing and streams the same file.
Skipped (returns Ok) when the encoder does not advertise animation.
begin may decline with an UnsupportedOperation; any other error
fails the check.