Incorrect timing of animated masks in the Video Sequence Editor #68700

Closed
opened 2019-08-15 17:56:49 +02:00 by Dietrich · 6 comments

System Information
Operating system: Linux-4.18.0-25-generic-x86_64-with-debian-buster-sid 64 Bits
Graphics card: Mesa DRI Intel(R) UHD Graphics 620 (Kabylake GT2) Intel Open Source Technology Center 4.5 (Core Profile) Mesa 18.2.8

Blender Version
Broken: version: 2.81 (sub 2), branch: master, commit date: 2019-08-14 22:18, hash: cb7ead2e3b
Worked: (optional)

Short description of error
The mask modifier in the VSE displays mask animations one frame too early when "Mask Time" is set to "Absolute".

Exact steps for others to reproduce the error

  1. Create a mask in the Movie Clip Editor with a shape key animation.
  2. Add a Color strip in the Video Sequence Editor.
  3. Add a Mask modifier to the strip and set the "Mask Input Type" to "Mask", select the mask created in 1. and set the "Mask Time" to "Absolute".
  4. Go through the animation frame by frame. In the VSE the mask will be animated one frame ahead of the actual shape keys. Other keyframes (like the mask layer opacity) will be timed correctly.

bug.jpg

VSEMaskBug.blend

**System Information** Operating system: Linux-4.18.0-25-generic-x86_64-with-debian-buster-sid 64 Bits Graphics card: Mesa DRI Intel(R) UHD Graphics 620 (Kabylake GT2) Intel Open Source Technology Center 4.5 (Core Profile) Mesa 18.2.8 **Blender Version** Broken: version: 2.81 (sub 2), branch: master, commit date: 2019-08-14 22:18, hash: `cb7ead2e3b` Worked: (optional) **Short description of error** The mask modifier in the VSE displays mask animations one frame too early when "Mask Time" is set to "Absolute". **Exact steps for others to reproduce the error** 1. Create a mask in the Movie Clip Editor with a shape key animation. 2. Add a Color strip in the Video Sequence Editor. 3. Add a Mask modifier to the strip and set the "Mask Input Type" to "Mask", select the mask created in 1. and set the "Mask Time" to "Absolute". 4. Go through the animation frame by frame. In the VSE the mask will be animated one frame ahead of the actual shape keys. Other keyframes (like the mask layer opacity) will be timed correctly. ![bug.jpg](https://archive.blender.org/developer/F7666088/bug.jpg) [VSEMaskBug.blend](https://archive.blender.org/developer/F7666091/VSEMaskBug.blend)
Author

Added subscriber: @Salatfreak

Added subscriber: @Salatfreak

This issue was referenced by b77da65e8c

This issue was referenced by b77da65e8c4d8deb5a27e29f5ba518f02fc1c35d
Member

Added subscriber: @lichtwerk

Added subscriber: @lichtwerk
Philipp Oeser self-assigned this 2019-08-15 20:34:14 +02:00
Member

Can confirm (in a way), this is weird.

we have:

  • Mask Settings (start / end)
    • introduced in bdf9e02346
    • tbh, I dont really get the usecase for start/end here, seems to only be used as an offset?
  • Strip Time Settings (start / end)
  • scene current frame

code in seq_render_mask will effectively do BKE_mask_evaluate(mask_temp, mask->sfra + (cfra - fra_offset), true) where fra_offset is zero for absolute and seq->start for relative.

If we really want the scene's current frame (as advertised) if Mask Time is set to Absolute (effectively ignoring the Masks) we would need to change the fra_offset from zero to mask->sfra...

Can confirm (in a way), this is weird. we have: - `Mask Settings` (start / end) - introduced in bdf9e02346 - tbh, I dont really get the usecase for start/end here, seems to only be used as an offset? - `Strip Time Settings` (start / end) - scene current frame code in `seq_render_mask` will effectively do `BKE_mask_evaluate(mask_temp, mask->sfra + (cfra - fra_offset), true)` where `fra_offset` is `zero` for absolute and `seq->start` for relative. If we really want the scene's current frame (as advertised) if `Mask Time` is set to `Absolute` (effectively ignoring the Masks) we would need to change the `fra_offset` from zero to `mask->sfra`...
Author

I overlooked the start/end settings of the masks before. Thanks for the fix. So for the current build, setting the masks start frame to 0 gets the mask and the VSE back in sync.

I overlooked the start/end settings of the masks before. Thanks for the fix. So for the current build, setting the masks start frame to 0 gets the mask and the VSE back in sync.
Member

Changed status from 'Open' to: 'Resolved'

Changed status from 'Open' to: 'Resolved'
Sign in to join this conversation.
3 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: blender/blender#68700
No description provided.