From f653b8a403a13fd51cd92ef851b0e5f6550f6280 Mon Sep 17 00:00:00 2001 From: Good Guy Date: Sun, 30 Jan 2022 12:06:16 -0700 Subject: [PATCH 1/1] reverse Fade In, Fade Out patch from Freelancer --- cinelerra-5.1/msg/txt | 91 +++++++++++---------------- cinelerra-5.1/plugins/titler/titler.C | 21 +++---- 2 files changed, 46 insertions(+), 66 deletions(-) diff --git a/cinelerra-5.1/msg/txt b/cinelerra-5.1/msg/txt index 2288884b..1d68bfc3 100644 --- a/cinelerra-5.1/msg/txt +++ b/cinelerra-5.1/msg/txt @@ -3,61 +3,46 @@ For usage help, refer to the following: https://cinelerra-gg.org/download/CinelerraGG_Manual.pdf http://g-raffa.eu/Cinelerra/HOWTO/basics.html . -2021 Decemeber changes of note: - 15 plugin GUIs are visually improved and minor changes. - Libjpeg-turbo has been updated to version 2.1.2. -2021 November changes of note: - Libaom has been updated to v3.2.0 and may be faster. - Procedure to build for Android tablet/phone using Termux - is available and documented with additional tweaks. -2021 October changes of note: - Hungarian automated-google translation has been added. - Long existing bug when using Fade in/out in the Titler - plugin when there is an alpha channel in use is fixed. - Added new render formats of Cineform, DPX, and mxf. - In AppImage, the plugins are no longer loaded every time. -2021 September New Features of note: - Improvements have been made to the LV2 plugin code that - makes it more robust and prevents crashes on startup. - Additional 9 Video icons in the Resources window added. -. -2021 August New Features of note: - FFmpeg has been upgraded to 4.4 to include new plugins. - Speed PerCent plugin for easily changing video speed - is now available. +2022 January changes of note: + This month has only had minor changes and fixes added. +2021 New Features of note: + Context Help has been added using hotkey alt/h by Georgy. The + help page will come up in your web browser tab for the item + most relevant to where Alt/h used on a menu, plugin, button, + icon, transition, window, or tooltip. Additional information: + /https://cinelerra-gg.org/download/CinelerraGG_Manual/Troubleshooting_Help.html + The manual can now be used in HTML format besides PDF. + AppImage is now the method of distributing new releases; + Newer distros use: + CinGG-20210331-x86_64.AppImage + CinGG-20211231-multibit.AppImage + Older distros use: + CinGG-20210331-x86_64-older_distros.AppImage + CinGG-20211231-x86-64-older_distros-multibit.AppImage + 32-bit distros use: + CinGG-20211231-i386.AppImage + CinGG-20211231-i386-newer_distros.AppImage + Procedures to build for Android tablet/phone using Termux and + for aarch64 have been proven and partially documented. + The following libraries have been upgraded to newer versions: + ffmpeg to 4.4; libjpeg-turbo to version 2.1.2; x264; x265; + libaom to v3.2.0 and may be faster; openjpeg to 2.4.0. + Render formats have been added or improved to include: + Cineform, DPX, mxf, miscellaneous FFmpeg video/audio; + and high fps rendering formats added for over 60 fps. + Plugin changes and additions: + Speed PerCent plugin for easily changing speed added. + Posterize and Timelapse Helper are new plugins. + The update of ffmpeg, included several new plugins. + Improvements have been made to the LV2 plugin code that + makes it more robust and prevents crashes on startup. + 15 plugin GUIs are visually improved and minor changes. FAST_SPEED and SLOW_SPEED variables to personalize your - playback speed have been added. -. -2021 July New Features of note: - Libraries x264, x265, and libaom have been upgraded. + playback speed have been added. YUV Colorspace 601 and 2020 have been split into more - available options of 601 NTSC/PAL and 2020 NCL/CL. -. -2021 June New Features of note: - High fps rendering formats added for over 60 fps. - Upgrade of libjpeg-turbo to 2.1.0. - Additional mxf + other rendering formats added. -. -2021 May New Features of note: - Context Help has been added using hotkey Alt/h by Georgy. The - help page will come up in your web browser tab for the item - most relevant to where you used Alt/h on a menu, plugin, button, - icon, transition, window, or tooltip. For additional information: - /https://cinelerra-gg.org/download/CinelerraGG_Manual/Troubleshooting_Help.html -. -2021 March New Features of note: - AppImage is the method of distributing new releases; - Newer distros use: CinGG-20210331-x86_64.AppImage - Older distros use: CinGG-20210331-x86_64-older_distros.AppImage - There are 2 new plugins: Posterize and Timelapse Helper. -. -2021 1st Quarter New Features of note: - The manual can now be used in HTML format besides PDF. - Autosave backups optional feature in Preferences. - Additional FFmpeg video/audio render formats available. - Aspect ratio and Interlace improvements are in. - Batch Render menu now has hidden feature to prevent mistakes. - Openjpeg upgraded from 2.3.1 to 2.4.0. + available options of 601 NTSC/PAL and 2020 NCL/CL. + Autosave backups optional feature in Preferences added. + Batch Render menu now has hidden feature to avoid mistakes. . 2020 New Features of note: Drag select and deselect edits was added on the timeline. diff --git a/cinelerra-5.1/plugins/titler/titler.C b/cinelerra-5.1/plugins/titler/titler.C index 7655b5a3..06fb7938 100644 --- a/cinelerra-5.1/plugins/titler/titler.C +++ b/cinelerra-5.1/plugins/titler/titler.C @@ -594,6 +594,7 @@ void TitleUnit::draw_frame(int mode, VFrame *dst, VFrame *src, int x, int y) int color = chr->color, max = 0xff; int alpha = chr->alpha * chr->fade; int ofs = BC_CModels::is_yuv(dst->get_color_model()) ? 0x80 : 0x00; + switch( mode ) { case DRAW_ALPHA: { while( y_inp < inp_h && y_out < out_h ) { @@ -2154,6 +2155,7 @@ int TitleMain::draw_underline(VFrame *mask, int alpha) void TitleMain::draw_overlay() { +//printf("TitleMain::draw_overlay 1\n"); fade = 1; if( !EQUIV(config.fade_in, 0) ) { int64_t plugin_start = get_startproject(); @@ -2273,19 +2275,12 @@ TitleTranslateUnit::TitleTranslateUnit(TitleMain *plugin, TitleTranslate *server type in_r = (cp00[0]*a00 + cp01[0]*a01 + cp10[0]*a10 + cp11[0]*a11)*s + r; \ type in_g = (cp00[1]*a00 + cp01[1]*a01 + cp10[1]*a10 + cp11[1]*a11)*s + r; \ type in_b = (cp00[2]*a00 + cp01[2]*a01 + cp10[2]*a10 + cp11[2]*a11)*s + r; \ - type a = in_a*plugin->fade, px; \ - type b ; \ - double total_alpha, double_b; \ - if ( comps == 4 ) { b = *(op+3); } \ - else b = max - a; \ - double_b = (1.0 * b * (max - a)/(max*1.0)); \ - total_alpha = a + double_b; \ - if (total_alpha > 0.00000001) { \ - px = *op; *op++ = (a*in_r + double_b*px) / total_alpha; \ - px = *op; *op++ = (a*(in_g-ofs) + double_b*(px-ofs)) / total_alpha + ofs; \ - px = *op; *op++ = (a*(in_b-ofs) + double_b*(px-ofs)) / total_alpha + ofs; \ - if( comps == 4 ) { b = *op; *op++ = a + b - a*b / max; } \ - } \ + type a = in_a*plugin->fade, b = max - a, px; \ + /*if( comps == 4 ) { b = (b * op[3]) / max; }*/ \ + px = *op; *op++ = (a*in_r + b*px) / max; \ + px = *op; *op++ = (a*(in_g-ofs) + b*(px-ofs)) / max + ofs; \ + px = *op; *op++ = (a*(in_b-ofs) + b*(px-ofs)) / max + ofs; \ + if( comps == 4 ) { b = *op; *op++ = a + b - a*b / max; } \ } \ } \ } -- 2.26.2