ggarra13 / mrv2

Professional player and review tool for vfx, animation and computer graphics.
https://mrv2.sourceforge.io
BSD 3-Clause "New" or "Revised" License
190 stars 13 forks source link

MRV2 1.1.9 Repeat Frame option clamps values to 1 on the repeated frame. #254

Closed c0nvexo closed 2 months ago

c0nvexo commented 2 months ago

Describe the bug When i'm compositing resource heavy scenes, I usually render previews on 12s, meaning i'd skip a frame intermittently so that it effectively makes the scene a 12FPS scene, where the frame sequence goes (1001,1003,1005,1007...) so that I get to see them without waiting for longer render times. For this I use the Repeat Frame option for a seamless playback, which worked fine on sequences with values higher than 1 before updating mrv2. (example: sky on an file with an ACEScg color space), but after upgrading to 1.1.8 then 1.1.9, it clamps the max value of the repeated frames frames to 1, making the high values go from bright to washed out frame after frame, intermittently thought the playback when converted to the correct display color space.

To Reproduce Steps to reproduce the behavior:

  1. Go to Preferences
  2. Click on Loadling category
  3. Click on the "Missing Frame Dropdown Menu " and Select Repeat frame
  4. Hit Ok.
  5. Load an exr sequence with missing frames where the available frames have pixel values over 1.
  6. In this case, select NONE on the OCIO color space settings.
  7. Check the RGB values of available frames and missing frames.
  8. If you want, then select the correct color space of the EXR to visually see the difference (in this case, ACES2065-1)
  9. Then check once again watch how the color and values behave when viewing the missing frames and the available frames.

Expected behavior The missing frame should not be clamped, it should be displayed exactly as the earlier frame without clamping the values.

Screenshots Available Frame: image

Missing Frame: image

Desktop (please complete the following information):

ggarra13 commented 2 months ago

Good catch! Find a beta of v1.2.0 that should fix the issue:

.exe: https://mega.nz/file/TbxkDQiK#QiUA4W-T-EZad5udeztl8vYz_qmCmWnKh7T0mA8ot3w

.zip: https://mega.nz/file/mCZ0wIKA#WhKY-Zm1DZvOimYkOkWYoW9zI4borZiew575T_v4UB4

c0nvexo commented 2 months ago

Hey! Just letting you know the update fixed the color issue. There's a strange issue i've encountered when I try to hit play. The app closes itself. If I scrub on the timeline and then hit play on said, it doesn't happen. For context I have the Auto-Play option disabled, this error appeared when I rolled back to previous version to test the initial color bug. I went from 1.1.9 to 1.1.4 then 1.1.0, and finally 1.2.0 after reading your response. Tried resseting the preferences, which fixes. But the error appears when i disable the Auto-Play Option and also enable the repeat frame option on the settings. Those are 2 of the 3 settings i change, the third being setting the half float default colorspace to ACES2065-1. Right after that, I opened a sequence with missing frames, and i hit play, and it closes itself. If i scrub the timeline first, then hit play, it doesn't happen.

Managed to get a command line "Log", this is what i get. image

The issue started happening when i rolled back to 1.1.4, in 1.1.0 didn't happen, if i recall correctly.

Hope this info helps to improve the software, it's a really good tool and i can't thank you enough for the fast feedback. Have a nice day!

ggarra13 commented 2 months ago

I am afraid I could not follow your instructions to reproduce it.

Can you try downloading the beta from:

https://sourceforge.net/projects/mrv2/files/beta/

and running it again until you make it crash.

It will create a file in:

C:\Users\%User%\AppData\Local\Temp\mrv2.crash.log

The file should have files and line numbers in it from my source code, which will help me more.

c0nvexo commented 2 months ago

Tried uninstalling mrv2 1.2.0 then reinstalling the exe from sourceforge. When i open it for the first time, it does play the sequence when hitting the play button. If I close the program, and open it once again, it starts the erratic behavior of closing itself after hitting play. Also, it isn't generating the crash log for some reason. image

ggarra13 commented 2 months ago

If it is not saving the log where I told you, check if you set these environment variables: %TMP% - this is used first %TEMP% - this is used next

Alternatively, you can fire it from the command-line (cmd.exe, terminal, etc) and it should print out the stack trace like you did before.

c0nvexo commented 2 months ago

It was at %tmp%, here it is! mrv2.crash.log

ggarra13 commented 2 months ago

Thanks! I think I found what it's happening.

Are you by any chance watching a multi-layered OpenEXR and not in the first layer (ie. not in the Color/Alpha channel)?

c0nvexo commented 2 months ago

Nope, it's an exr sequence with only RGB channels, no alpha, and just that single layer. FWIW i've noticed the bounding box of the image sequence i'm working with is actually bigger than the actual output resolution of the image sequence. I could try rendering with the correct size bounding box.

ggarra13 commented 2 months ago

I can tell why it's crashing, but not yet sure what triggers it. I put a check in this version of v1.2.0 that should avoid the crashes. Give it a try and let me know if it does not help:

.exe: https://mega.nz/file/TD5wgJBY#vivqROtGZXIDjU1JmiVzGf_LJaQDvyQkQZR6a8oveqw

.zip: https://mega.nz/file/eKoAlKpI#oqPahNjW9s1yzkNkuzZxOZApyFutHGK0cgpKvUCPD20

c0nvexo commented 2 months ago

I tried it, and sadly it's still crashing. I recorded a video of the behavior i'd be happy to send you through email if you need it.

ggarra13 commented 2 months ago

Upload the video to your favorite upload service and mail the link to me at ggarra13@gmail.com.

c0nvexo commented 2 months ago

Just sent the video, let me know either through here or email if there's something else you need!

ggarra13 commented 2 months ago

OK. Watching your video made my internal light bulb turn on, so I think I got it now.

FYI. The issue was exactly like what you were telling me, but I was not paying attention. When you loaded without Autoplay on, the first frame would not get cached so when you then started playing, and got to frame 2 missing, it had no frame to display and would crash.

.exe: https://mega.nz/file/Xeg1wAha#nFY67G7mmCOClM6_tMzEUBGWGlALc_9vGnbu5k4nNMg

.zip: https://mega.nz/file/nHQgAAjL#OpObwH8ROFVD1hYBDvn09-P-d4NWH0eh8sZa8wRQgmw

c0nvexo commented 2 months ago

Hi, I just tested it and can confirm its working properly now, thank you for the fast response. This is a really solid app and your efforts on making it better everyday are showing. Keep it up!