From cinelerra-commits-admin@skolelinux.no  Sun Nov 25 14:56:29 2007
Return-Path: <cinelerra-commits-admin@skolelinux.no>
X-Original-To: cinelerra-commits@e.kevb.net
Delivered-To: cinelerra-commits@e.kevb.net
Received: from init.linpro.no (init.linpro.no [80.232.38.252])
	by e.kevb.net (Postfix) with ESMTP id 7E460EC8A0F
	for <cinelerra-commits@e.kevb.net>; Sun, 25 Nov 2007 14:56:28 -0500 (EST)
Received: from localhost ([127.0.0.1] helo=init.linpro.no)
	by init.linpro.no with esmtp (Exim 4.50 #1 (Debian))
	id 1IwNaS-0006Om-EJ; Sun, 25 Nov 2007 20:56:20 +0100
Received: from [193.69.32.11] (helo=virusvask01.itsjefen.no)
	by init.linpro.no with esmtp (Exim 4.50 #1 (Debian))
	id 1IwNYb-0006Bx-53
	for <cinelerra-commits@skolelinux.no>; Sun, 25 Nov 2007 20:54:25 +0100
Received: from [193.69.32.11] by 80.232.38.252 (e-nough); Sun, 25 Nov 20:54:12 2007 +0100
Received: from localhost (localhost.localdomain [127.0.0.1])
	by virusvask01.itsjefen.no (Postfix) with ESMTP id F2B378AC02B
	for <cinelerra-commits@skolelinux.no>; Sun, 25 Nov 2007 20:54:22 +0100 (CET)
X-Virus-Scanned: Debian amavisd-new at virusvask01.itsjefen.no
Received: from virusvask01.itsjefen.no ([127.0.0.1])
	by localhost (virusvask01.itsjefen.no [127.0.0.1]) (amavisd-new, port 10024)
	with ESMTP id CCbyPR-DIsuV for <cinelerra-commits@skolelinux.no>;
	Sun, 25 Nov 2007 20:54:18 +0100 (CET)
Received: from mail-forward.uio.no (mail-forward.uio.no [129.240.10.42])
	by virusvask01.itsjefen.no (Postfix) with ESMTP id CB6E98AC023
	for <cinelerra-commits@skolelinux.no>; Sun, 25 Nov 2007 20:54:14 +0100 (CET)
Received: from mail-mx8.uio.no ([129.240.10.38])
	by pat.uio.no with esmtp (Exim 4.67)
	(envelope-from <j6t@user.skolelinux.no>)
	id 1IwNYL-0001f5-R8
	for cinelerra-commits@skolelinux.no; Sun, 25 Nov 2007 20:54:05 +0100
Received: from user.skolelinux.no ([158.36.191.139])
	by mail-mx8.uio.no with esmtps (TLSv1:AES256-SHA:256)
	(Exim 4.67)
	(envelope-from <j6t@user.skolelinux.no>)
	id 1IwNYL-0003Pk-Fb
	for cinelerra-commits@skolelinux.no; Sun, 25 Nov 2007 20:54:05 +0100
Received: from j6t by user.skolelinux.no with local (Exim 4.63)
	(envelope-from <j6t@user.skolelinux.no>)
	id 1IwNYL-0004DQ-Ad
	for cinelerra-commits@skolelinux.no; Sun, 25 Nov 2007 20:54:05 +0100
To: cinelerra-commits@skolelinux.no
Content-Type: text/plain; charset=UTF-8
From: "Johannes Sixt <johannes.sixt@telecom.at>" <j6t@user.skolelinux.no>
Message-Id: <E1IwNYL-0004DQ-Ad@user.skolelinux.no>
X-UiO-ClamAV-Virus: No
X-UiO-Spam-info: not spam, SpamAssassin (score=0.1, required=12.0, autolearn=disabled, AWL=0.067)
X-UiO-Scanned: 5DEC6DD6FAE32EC0FFFCB3B53F83046B7BA41923
X-UiO-SPAM-Test: remote_host: 158.36.191.139 spam_score: 1 maxlevel 200 minaction 2 bait 0 mail/h: 2 total 15535 max/h 1028 blacklist 0 greylist 0 ratelimit 0
Content-Transfer-Encoding: quoted-printable
X-Spam-Checker-Version: SpamAssassin 2.63 (2004-01-11) on spamtrap
X-Spam-Status: No, hits=-10.2 required=5.0 tests=DSPAM=-10.19694  version=2.63
X-Spam-Level: 
X-DSPAM-Signature: !DSPAM:4749d2e8243891090010467!
X-DSPAM-Probability: -2.0000
X-DSPAM-Confidence: 0.9997
X-Spam-Score: 0.0 (/)
Subject: [Cinelerra-commits] r1039 - trunk/hvirtual/plugins/titler
Sender: cinelerra-commits-admin@skolelinux.no
Errors-To: cinelerra-commits-admin@skolelinux.no
X-BeenThere: cinelerra-commits@skolelinux.no
X-Mailman-Version: 2.0.13
Precedence: bulk
List-Unsubscribe: <https://init.linpro.no/mailman/skolelinux.no/listinfo/cinelerra-commits>,
	<mailto:cinelerra-commits-request@skolelinux.no?subject=unsubscribe>
List-Id: Commits to the Cinelerra CVS. <cinelerra-commits.skolelinux.no>
List-Post: <mailto:cinelerra-commits@skolelinux.no>
List-Help: <mailto:cinelerra-commits-request@skolelinux.no?subject=help>
List-Subscribe: <https://init.linpro.no/mailman/skolelinux.no/listinfo/cinelerra-commits>,
	<mailto:cinelerra-commits-request@skolelinux.no?subject=subscribe>
List-Archive: <https://init.linpro.no/pipermail/skolelinux.no/cinelerra-commits/>
Date: Sun, 25 Nov 2007 20:54:05 +0100
X-Spam-Score: 0.0 (/)

Author: j6t
Date: 2007-11-25 20:54:05 +0100 (Sun, 25 Nov 2007)
New Revision: 1039

Modified:
   trunk/hvirtual/plugins/titler/title.C
Log:
Fixed titler bug: occasional full intensity flash at last frame

Bug: Titles configured to fade out sometimes flashed the title at full
intensity at the last frame of the effect range.

The problem was a boundary condition of the alpha calculation such that i=
f
the last frame of the effect was exactly aligned with a frame boundary,
alpha would be set to 1 instead of 0.

Also changed some integer truncation to rounding, although this wasn't
related to the bug.

[j6t: use lroundf(...) instead of (int)roundf(...)]

Patch by Craig Lawson.


Modified: trunk/hvirtual/plugins/titler/title.C
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/hvirtual/plugins/titler/title.C	2007-10-29 19:25:16 UTC (rev 10=
38)
+++ trunk/hvirtual/plugins/titler/title.C	2007-11-25 19:54:05 UTC (rev 10=
39)
@@ -1845,33 +1845,26 @@
 	alpha =3D 0x100;
 	if(!EQUIV(config.fade_in, 0))
 	{
-		int fade_len =3D (int)(config.fade_in * PluginVClient::project_frame_r=
ate);
-		int fade_position =3D get_source_position() -=20
-			config.prev_keyframe_position;
+		int fade_len =3D lroundf(config.fade_in * PluginVClient::project_frame=
_rate);
+		int fade_position =3D get_source_position() - config.prev_keyframe_pos=
ition;
=20
=20
 		if(fade_position >=3D 0 && fade_position < fade_len)
 		{
-			alpha =3D (int)((float)0x100 *=20
-				fade_position /
-				fade_len + 0.5);
+			alpha =3D lroundf(256.0f * fade_position / fade_len);
 		}
 	}
 //printf("TitleMain::overlay_mask 1\n");
=20
 	if(!EQUIV(config.fade_out, 0))
 	{
-		int fade_len =3D (int)(config.fade_out *=20
-			PluginVClient::project_frame_rate);
-		int fade_position =3D config.next_keyframe_position -=20
-			get_source_position();
+		int fade_len =3D lroundf(config.fade_out * PluginVClient::project_fram=
e_rate);
+		int fade_position =3D config.next_keyframe_position - get_source_posit=
ion();
=20
=20
-		if(fade_position > 0 && fade_position < fade_len)
+		if(fade_position >=3D 0 && fade_position < fade_len)
 		{
-			alpha =3D (int)((float)0x100 *
-				fade_position /
-				fade_len + 0.5);
+			alpha =3D lroundf(256.0f * fade_position / fade_len);
 		}
 	}
 //printf("TitleMain::overlay_mask 1\n");


_______________________________________________
Cinelerra-commits mailing list
Cinelerra-commits@skolelinux.no
https://init.linpro.no/mailman/skolelinux.no/listinfo/cinelerra-commits
