[FFmpeg-devel] [PATCH] move av_parse_color() to libavcore
Wed Nov 10 01:38:36 CET 2010
On Sat, Oct 23, 2010 at 08:28:06PM +0200, Michael Niedermayer wrote:
> On Sat, Oct 23, 2010 at 06:27:59PM +0200, Aurelien Jacobs wrote:
> > On Sat, Oct 23, 2010 at 06:25:59PM +0200, Aurelien Jacobs wrote:
> > > Hi,
> > >
> > > I need to use the av_parse_color() function in the upcomming SubRip
> > > decoder (especially to decode those html named colors).
> > > So the attached patch move this function from libavfilter to libavcore.
> > > To simplify review, this patch don't contain removal of
> > > libavfilter/parseutil.* but I will do the svn rm while committing.
> > Hum... Here is the patch.
> > Aurel
> > libavcore/parseutils.c | 272 +++++++++++++++++++++++++++++++++++++++++++++++
> > libavcore/parseutils.h | 19 +++
> > libavfilter/Makefile | 1
> > libavfilter/vf_drawbox.c | 2
> > libavfilter/vf_frei0r.c | 2
> > libavfilter/vf_pad.c | 1
> > 6 files changed, 293 insertions(+), 4 deletions(-)
> > 62f8c66e68b5cffb991d1ba90cbfad4fe2cd8f53 parse_color.diff
> > Index: libavcore/parseutils.h
> > ===================================================================
> > --- libavcore/parseutils.h (revision 25528)
> > +++ libavcore/parseutils.h (working copy)
> > @@ -50,4 +50,23 @@
> > */
> > int av_parse_video_rate(AVRational *rate, const char *str);
> > +/**
> > + * Put the RGBA values that correspond to color_string in rgba_color.
> > + *
> > + * @param color_string a string specifying a color. It can be the name of
> > + * a color (case insensitive match) or a 0xRRGGBB[AA] sequence,
> > + * possibly followed by "@" and a string representing the alpha
> > + * component.
> > + * The alpha component may be a string composed by "0x" followed by an
> > + * hexadecimal number or a base-10 number between 0 and 255, or a
> > + * decimal number between 0.0 and 1.0, which represents the opacity
> > + * value (0/0x00/0.0 means completely transparent, 255/0xff/1.0
> > + * completely opaque).
> I think the double meaning of 1 should be fixed 1==1.0
I'm not totally sure what you mean. The current parser will correctly
distinguish those 2 strings : "1" => 0x01 and "1.0" => 0xFF.
So I guess what you mean is that it is confusing for end user.
If so, the best solution might be to just drop support for base-10
numbers. Anyway, I can't really imagine a use case for it and I think
describing alpha value as a base-10 byte is not user friendly at all.
Is that what you had in mind ?
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 1738 bytes
Desc: not available
More information about the ffmpeg-devel