I've run some test cases for the shuffleframes filter. I've documented shuffleframes via my preferred documentation format (below). In the course of my testing, I found 2 cases (marked "***** Expected", below) that produced unexpected results, to wit: If the 1st frame is discarded, the entire input is discarded, even if the 1st discard is followed by frames that are supposed to be retained.

shuffleframes ...General frame manipulation that substitutes and/or discards video frames but that does not insert (cannot add) frames [1].
shuffleframes=0   ...Default
              ¦
              0   ...Passes the input frames to the output, unaltered (does 
nothing).
              ...For a pattern of frames with initial substitution:
              0 0    ...For input frames 0 1 2 3 4 5 etc., outputs 0 0 2 2 4 4 
etc.
              0 0 2    ...For input frames 0 1 2 3 4 5 6 7 8 etc., outputs 0 0 
2 3 3 5 6 6 8 etc.
0 0 2 3 ...For input frames 0 1 2 3 4 5 6 7 8 9 10 11 etc., outputs 0 0 2 3 4 4 6 7 8 8 10 11 etc.
              ...For a pattern of frames with final substitution:
              0 0    ...For input frames 0 1 2 3 4 5 etc., outputs 0 0 2 2 4 4 
etc.
              0 1 1    ...For input frames 0 1 2 3 4 5 6 7 8 etc., outputs 0 1 
1 3 4 4 6 7 7 etc.
0 1 2 2 ...For input frames 0 1 2 3 4 5 6 7 8 9 10 11 etc., outputs 0 1 2 2 4 5 6 6 8 9 10 10 etc.
              ...For a pattern of frames with internal substitution:
0 1 1 3 ...For input frames 0 1 2 3 4 5 6 7 8 9 10 11 etc., outputs 0 1 1 3 4 5 5 7 8 9 9 11 etc.
              ...For a pattern of frames with initial discard:
              -1    ...Blocks the pipeline (discards all frames).
              -1 1    ...Blocks the pipeline (discards all frames). ***** 
Expected 1 3 5 7 ..
              -1 1 2   ...Blocks the pipeline (discards all frames). ***** 
Expected 1 2 4 5 7 8 ..
              ...For a pattern of frames with final discard:
              0 -1    ...For input frames 0 1 2 3 4 5 etc., outputs 0 2 4 etc.
              0 1 -1    ...For input frames 0 1 2 3 4 5 6 7 8 etc., outputs 0 1 
3 4 6 7 etc.
0 1 2 -1 ...For input frames 0 1 2 3 4 5 6 7 8 9 10 11 etc., outputs 0 1 2 4 5 6 8 9 10 etc.
              ...For a pattern of frames with internal discard:
0 1 -1 3 ...For input frames 0 1 2 3 4 5 6 7 8 9 10 11 etc., outputs 0 1 3 4 5 7 8 9 11 etc.
              ...For a pattern of frames with 2 substitutions (exchange) and 1 
internal discard:
0 3 -1 1 ...For input frames 0 1 2 3 4 5 6 7 8 9 10 11 etc., outputs 0 3 1 4 7 5 8 11 9 etc.

[1] A scheme utilizing '+' to insert frames (similar to how '-' discards 
frames) was not implemented.

--
Facts: The U.S. President heads the military, federal police, and National 
Guard;
The President can unconditionally declare martial law at any time, for any 
reason;
The House impeached President Trump but it only takes 34 senators to block 
removal;
Lacking Senate action, only Vice President Pence could have stopped Trump;
On 6 January, Trump denounced Pence for 'allowing' Biden's election;
Vowing Pence's murder, Oath Keepers & Proud Boys attacked the Capital;
Trump did nothing to stop the insurrection and sent no help.
Trump? The Republicans? Connect the dots, folks. It's not rocket science.
_______________________________________________
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to