Flickering when building items with video and cropping

Steps causing the bug to occur

  1. I think it’s easier to see it in the composition
  2. creating vertical delay lines for the video and cropping them to compose a new image via layers causes an interference pattern
  3. Also there seems to be a mismatch between layer sizes of a pixel or so causing black lines
  4. I’m using a “Build list” node triggered from the “requested frame” that seemed to exhibit some of the same flickering with different/simpler compositions.

How did the result differ from what you expected?

Black lines and flickering artifacts/scanlines that shouldn’t be there.

Have you found a workaround?


Other notes

  • Vuo version: 1.2.0
  • macOS version: OS X 10.10

I’m not totally sure if it is a real bug, or just a result of me doing something that won’t match up in the first place. I don’t think so though, since I’ve had proper result with about the same concepts in QC when it comes to scaling and cropping layers and images/video. The flickering also seems like a frame-mismatch between video in and out, but it also happens with video files.

The “scanline” behavior also gets worse/more pronounced with more delayed lines so I’m a bit stumped. It may be resource dependent, but it is still present with few lines (and low resource usage) so I think there is something to it. I also noticed earlier that if building lists with the requested frame as an event source, it looked like it flickered at the last objects, which is where this flicker also seems to happen.

scanlineTest.vuo (7.55 KB)

@MartinusMagneson, this is a super cool composition :)

Problem 1: Flickering artifacts

The composition behaves erratically because of extra events going into the Build List loop. With the Build List node, you have to make sure that each event into the Built Item port matches an event fired from the Build Item port. Be careful that the loop of nodes between Build Item and Built Item can only be executed by the events fired from Build Item. (See the Build List node’s description for more info.)

In the attached composition, I fixed the problem by adding some Hold Value and Hold List nodes to block the extra events.

Problem 2: Black lines

The thin horizontal black lines are happening because the layers being created aren’t quite tall enough. The Crop Image node is getting a 1024x768 input image and being told to crop to a height of 0.075 (in Vuo coordinates). This translates to a height of 0.075*(1024/2) = 38.4 pixels. The output image can’t have fractional pixel dimensions, so it ends up with a height of 38 pixels. 20 layers x 38 pixels = 760 pixels, so you end up with 8 pixels’ worth of gaps.

To fix the problem, you should make the total height of the layers add up to the window height. I did that quickly in the attached composition just by changing the number of layers from 20 to 16 (since 16 evenly divides into 768). Of course this only works if the window is not resized.

scanlineTest 2016-01-12.vuo (8.43 KB)

Yes it’s a very effectual and nice effect, and it is conceptually simple as well! I saw it a couple years ago when doodeling in QC from these guys: https://vimeo.com/7878518 (with explanation and history of the effect) and reproduced it there. It can also be seen in Flumes “Some Minds” music video, with a mix of vertical and horizontal delays. I thought it would be nice to try to translate it to Vuo as well while trying to figure out the build/process list, so I almost got there :D, and thanks a bunch for looking at it!