View Issue Details

IDProjectCategoryView StatusLast Update
0000559Cinelerra-GG[All Projects] Bugpublic2021-06-25 20:55
ReporterPhyllisSmith Assigned ToPhyllisSmith  
PriorityhighSeverityminorReproducibilityhave not tried
Status feedbackResolutionopen 
Product Version 
Target VersionFixed in Version 
Summary0000559: Fade In/Fade out flash bug
Description"Fade black flash" bug reported in the Mailing List around March 7/8, 2021. More information follows from IgorB:

    I confirm the bug reported by Camille.
    Here two videos about Title effect and Image with Dissolve Transition:
    https://streamable.com/86y59m
    https://streamable.com/ywcaee

    This is my trick to solve it:
    https://streamable.com/vkp9ou
TagsNo tags attached.

Activities

PhyllisSmith

PhyllisSmith

2021-06-25 19:57

manager   ~0004862

Last edited: 2021-06-25 20:55

View 2 revisions

@IgorBeg
Thank you so much for the feedback. I will try to duplicate your gradient example to see what you are talking about.
@Andrew-R has been looking at this also and suggested perhaps we could special case for the Titler and Dissolve to use the new code and everything else keep using the old code. It would be hard for me to figure out how to do this though.

At least the mod fixes the reported bug, but it looks like we can not use it as is because of too much destruction.

Also, if I start with my current $HOME/.bcast5, the problem still occurs. If I start with a new one, the mod fixes the problem so there is some setting in Cinelerra_rc that retains the bad flash somehow.

IgorBeg

IgorBeg

2021-06-25 09:37

reporter   ~0004861

Thanks for the AppImage.
My tests compare Cin_20201031_static with Cin_20210624_AppImage.
I am using two my test xml (Project) files.

In my tests I am using a Gradient effect as bottom (background) video track.
Bottom track with Gradient Effect: Shape=Linear; Angle=83; Rate=Log; InnerRadius=3; OuterRadius=46; InnerColor= ffffffff; OuterColor=ff2a0c66.

In Cin_20210624_AppImage there is a different behaviour from YUVA8 to RGBA8, and there is a strange banding effect. Those there aren't on Cin_20201031_static release.

Changing some "OverlayMode" in Patchbay the behaviour is different for the two releases. So, an old project would no longer be compatible with the new Cin version.

If I add "Color3Way" effect on a top video track where there are PNGs (with Alpha channel) and Dissolve transitions that effect is transferred to the bottom video track and it changes the old behaviour.

The new mod works fine "alone", but with usual effects and an old Project, unfortunately you lose compatibility.

I could make some screencasts but I need a lot of time and I think I might just confuse you.
PhyllisSmith

PhyllisSmith

2021-06-23 22:23

manager   ~0004860

@IgorBeg
I need your testing expertise. A Freelancer has provided a fix but I can not tell for sure if it is totally correct and has no side effects.
Could you test it really well using the file at: https://cinelerra-gg.org/download/testing/cin_for_older_distros.AppImage ?
When I test on Fedora, using the black_flash demo provided by Camille, it seems to work (both Title plugin and Dissolve Transition).
When I test on Ubuntu 14, I had to start with a "fresh" copy of .bcast5 to get it to work correctly.

Some concern I have is that the modification is in overlayframe.h which is used in several places in Cinelerra.
Anyone is welcome to test and the "for older distros" works on the newer distros just as well.

If Andrew or anyone else who does their own builds, wants to rebuild change the following lines in overlayframe.h.

After line:
#define TWO 2

Add:
#define GAMMA 2.4
static inline double mpow(double a, double b) { return pow(a, b); }

#define LINEAR2SRGB(in) (in <= 0.0031308 ? 12.92 * in : 1.055 * mpow(in, 1.0/GAMMA) - 0.055)
#define SRGB2LINEAR(in) (in <= 0.04045 ? in / 12.92 : mpow((in + 0.055) / 1.055, GAMMA))

#define A_BLEND(top, bottom, alpha, max) \
        max * LINEAR2SRGB(SRGB2LINEAR(1. * top / max)+ SRGB2LINEAR(1. * bottom / max)*(1.0 - (1. * alpha / max)))

Change lines:
#define ALPHA_NORMAL(mx, Sa, Da) (Sa + (Da * (mx - Sa)) / mx)
#define COLOR_NORMAL(mx, Sc, Sa, Dc, Da) ((Sc * Sa + Dc * (mx - Sa)) / mx)
To:
#define ALPHA_NORMAL(mx, Sa, Da) ((Sa + (mx - Sa)*(mx - Sa)) / mx)
#define COLOR_NORMAL(mx, Sc, Sa, Dc, Da) A_BLEND(Sc, Dc, Sa, mx)
RafaMar

RafaMar

2021-03-10 14:47

reporter   ~0004670

When you insert an effect on an empty track the fade fades as if it were on a black background, it interprets the alpha as black where there is transparency, which is what produces the fade.
To avoid the unwanted effect produced by the fade over black (because there is no content) it is best to leave the fade in out of the effect at 0 and use the fade line to perform these, so there is no problem with the alpha channel.
Watch the following video
https://streamable.com/quj37w

Issue History

Date Modified Username Field Change
2021-03-09 20:44 PhyllisSmith New Issue
2021-03-10 14:47 RafaMar Note Added: 0004670
2021-06-23 22:12 PhyllisSmith Description Updated View Revisions
2021-06-23 22:23 PhyllisSmith Assigned To => PhyllisSmith
2021-06-23 22:23 PhyllisSmith Status new => feedback
2021-06-23 22:23 PhyllisSmith Note Added: 0004860
2021-06-25 09:37 IgorBeg Note Added: 0004861
2021-06-25 19:57 PhyllisSmith Note Added: 0004862
2021-06-25 20:55 PhyllisSmith Note Edited: 0004862 View Revisions