[FFmpeg-devel] [PATCH] Add XPM decoder
Marton Balint
cus at passwd.hu
Sun Mar 12 20:10:50 EET 2017
On Sat, 11 Mar 2017, Paras Chadha wrote:
> On Sat, Mar 11, 2017 at 5:40 AM, Moritz Barsnick <barsnick at gmx.net> wrote:
>
>>
>> > +static int color_table_compare(const void *lhs, const void *rhs)
>> > +{
>> > + return av_strcasecmp(lhs, ((const ColorEntry *)rhs)->name);
>> > +}
>> > +
>> > +static const ColorEntry color_table[] = {
>> > + { "AliceBlue", { 0xF0, 0xF8, 0xFF } },
>> > + { "AntiqueWhite", { 0xFA, 0xEB, 0xD7 } },
>> > + { "Aqua", { 0x00, 0xFF, 0xFF } },
>> [...]
>>
>> Is this duplicated from libavutil/parseutils.c?
>>
>
> Yes, it is duplicated from parseutils.c
> XPM format also specifies a color None which is transparent, it has been
> added to the array.
> Also ColorEntry is changed a bit.
> These changes are in my next patch.
>
Why don't you improve the code in parseutils then, and use that?
Duplicating code is generally not welcome without a good reason.
>
>>
>> > +static uint32_t hexstring_to_rgba(const char *p, int len){
>> > + uint32_t ret = 0xFF000000;
>> > + const ColorEntry *entry;
>> > + char color_name[100];
>> > +
>> > + if(*p == '#'){
>> > + p++;
>> > + len--;
>> > + if (len == 3) {
>> > + ret |= (convert(p[2]) << 4) |
>> > + (convert(p[1]) << 12) |
>> > + (convert(p[0]) << 20);
>>
>> So is this a modified or redesigned av_parse_color()? Just wondering.
>>
>
> Yes, it is redesigned version of av_parse_color(). It is a bit fast than
> the original.
So please integrate your changes in parseutils, and use that if you can,
unless there is a reason for the duplication.
Thanks,
Marton
More information about the ffmpeg-devel
mailing list