Thread: [Mlt-devel] SF.net SVN: mlt:[1365] trunk/mlt/src/modules/core/producer_colour.c
Brought to you by:
ddennedy,
lilo_booter
From: <dde...@us...> - 2009-02-20 23:35:52
|
Revision: 1365 http://mlt.svn.sourceforge.net/mlt/?rev=1365&view=rev Author: ddennedy Date: 2009-02-20 23:35:47 +0000 (Fri, 20 Feb 2009) Log Message: ----------- producer_colour.c: update to use new property-based color parsing. Modified Paths: -------------- trunk/mlt/src/modules/core/producer_colour.c Modified: trunk/mlt/src/modules/core/producer_colour.c =================================================================== --- trunk/mlt/src/modules/core/producer_colour.c 2009-02-20 23:33:38 UTC (rev 1364) +++ trunk/mlt/src/modules/core/producer_colour.c 2009-02-20 23:35:47 UTC (rev 1365) @@ -58,24 +58,15 @@ return NULL; } -rgba_color parse_color( char *color ) +rgba_color parse_color( char *color, unsigned int color_int ) { rgba_color result = { 0xff, 0xff, 0xff, 0xff }; if ( strchr( color, '/' ) ) color = strrchr( color, '/' ) + 1; - if ( !strncmp( color, "0x", 2 ) ) + if ( !strcmp( color, "red" ) ) { - unsigned int temp = 0; - sscanf( color + 2, "%x", &temp ); - result.r = ( temp >> 24 ) & 0xff; - result.g = ( temp >> 16 ) & 0xff; - result.b = ( temp >> 8 ) & 0xff; - result.a = ( temp ) & 0xff; - } - else if ( !strcmp( color, "red" ) ) - { result.r = 0xff; result.g = 0x00; result.b = 0x00; @@ -94,12 +85,10 @@ } else if ( strcmp( color, "white" ) ) { - unsigned int temp = 0; - sscanf( color, "%d", &temp ); - result.r = ( temp >> 24 ) & 0xff; - result.g = ( temp >> 16 ) & 0xff; - result.b = ( temp >> 8 ) & 0xff; - result.a = ( temp ) & 0xff; + result.r = ( color_int >> 24 ) & 0xff; + result.g = ( color_int >> 16 ) & 0xff; + result.b = ( color_int >> 8 ) & 0xff; + result.a = ( color_int ) & 0xff; } return result; @@ -129,7 +118,7 @@ int current_height = mlt_properties_get_int( producer_props, "_height" ); // Parse the colour - rgba_color color = parse_color( now ); + rgba_color color = parse_color( now, mlt_properties_get_int( producer_props, "resource" ) ); // See if we need to regenerate if ( strcmp( now, then ) || *width != current_width || *height != current_height ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dde...@us...> - 2009-02-24 00:47:08
|
Revision: 1369 http://mlt.svn.sourceforge.net/mlt/?rev=1369&view=rev Author: ddennedy Date: 2009-02-24 00:46:57 +0000 (Tue, 24 Feb 2009) Log Message: ----------- producer_colour.c: bugfix reading color value after westley has prepended the document path to the resource property Modified Paths: -------------- trunk/mlt/src/modules/core/producer_colour.c Modified: trunk/mlt/src/modules/core/producer_colour.c =================================================================== --- trunk/mlt/src/modules/core/producer_colour.c 2009-02-23 18:42:07 UTC (rev 1368) +++ trunk/mlt/src/modules/core/producer_colour.c 2009-02-24 00:46:57 UTC (rev 1369) @@ -62,9 +62,6 @@ { rgba_color result = { 0xff, 0xff, 0xff, 0xff }; - if ( strchr( color, '/' ) ) - color = strrchr( color, '/' ) + 1; - if ( !strcmp( color, "red" ) ) { result.r = 0xff; @@ -118,6 +115,9 @@ int current_height = mlt_properties_get_int( producer_props, "_height" ); // Parse the colour + char *resource = mlt_properties_get( producer_props, "resource" ); + if ( resource && strchr( resource, '/' ) ) + mlt_properties_set( producer_props, "resource", strrchr( resource, '/' ) + 1 ); rgba_color color = parse_color( now, mlt_properties_get_int( producer_props, "resource" ) ); // See if we need to regenerate This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dde...@us...> - 2009-02-24 00:53:55
|
Revision: 1370 http://mlt.svn.sourceforge.net/mlt/?rev=1370&view=rev Author: ddennedy Date: 2009-02-24 00:53:50 +0000 (Tue, 24 Feb 2009) Log Message: ----------- producer_colour.c: improve previous patch Modified Paths: -------------- trunk/mlt/src/modules/core/producer_colour.c Modified: trunk/mlt/src/modules/core/producer_colour.c =================================================================== --- trunk/mlt/src/modules/core/producer_colour.c 2009-02-24 00:46:57 UTC (rev 1369) +++ trunk/mlt/src/modules/core/producer_colour.c 2009-02-24 00:53:50 UTC (rev 1370) @@ -115,9 +115,11 @@ int current_height = mlt_properties_get_int( producer_props, "_height" ); // Parse the colour - char *resource = mlt_properties_get( producer_props, "resource" ); - if ( resource && strchr( resource, '/' ) ) - mlt_properties_set( producer_props, "resource", strrchr( resource, '/' ) + 1 ); + if ( now && strchr( now, '/' ) ) + { + now = strrchr( now, '/' ) + 1; + mlt_properties_set( producer_props, "resource", now ); + } rgba_color color = parse_color( now, mlt_properties_get_int( producer_props, "resource" ) ); // See if we need to regenerate This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |