[FFmpeg-cvslog] r20778 - trunk/libavfilter/parseutils.c

stefano subversion
Tue Dec 8 23:00:07 CET 2009


Author: stefano
Date: Tue Dec  8 23:00:07 2009
New Revision: 20778

Log:
Use an unsigned int to contain all the color values of the expressions
of the type 0xRRGBBAA parsed by av_parse_color(), using a simple int
was resulting in unexpected results as the most significant bit was
used for the sign.

Modified:
   trunk/libavfilter/parseutils.c

Modified: trunk/libavfilter/parseutils.c
==============================================================================
--- trunk/libavfilter/parseutils.c	Tue Dec  8 22:24:01 2009	(r20777)
+++ trunk/libavfilter/parseutils.c	Tue Dec  8 23:00:07 2009	(r20778)
@@ -227,7 +227,7 @@ int av_parse_color(uint8_t *rgba_color, 
     if (!strncmp(color_string, "0x", 2)) {
         char *tail;
         int len = strlen(color_string);
-        int rgba = strtol(color_string, &tail, 16);
+        unsigned int rgba = strtoul(color_string, &tail, 16);
 
         if (*tail || (len != 8 && len != 10)) {
             av_log(log_ctx, AV_LOG_ERROR, "Invalid 0xRRGGBB[AA] color string: '%s'\n", color_string);
@@ -412,6 +412,7 @@ int main(void)
             "Red",
             "0x000000",
             "0x0000000",
+            "0xff000000",
             "0x3e34ff",
             "0x3e34ffaa",
             "0xffXXee",



More information about the ffmpeg-cvslog mailing list