Andrew-R/Rob,
AND the "const" were not in giflib 5.1.6 or in 5.2.1 but are now in 5.2.2.
Adding the int definition to Cinelerra filegif.C must have been needed to
fix something or for a speedup?


On Tue, Nov 25, 2025 at 11:14 AM Phyllis Smith <[email protected]>
wrote:

> Andrew-R/Rob,
> FYI - 27 Feb 2019 was a commit for "gif rework" and this appears to be the
> first date the QuantizeBuffer was used in filegif.C, BUT not yet defined as
> "int GIfQuantizeBuffer..." In the ReleaseNotes.pdf is stated:
>
>> Gif native capability has been completely upgraded to allow for reading
>> and writing the gif format in singles, sequences or lists.
>>
>
> I have verified that render to the GIF formats became available at/after
> the 27 Feb 2019 date.  QuantizeBuffer usage was in the giflib library
> before and after that time, but  the "int" definition was added in the
> Cinelerra filegif.C on 28 Feb 2020 as in:
>
>> diff --git a/cinelerra-5.1/cinelerra/filegif.C
>> b/cinelerra-5.1/cinelerra/filegif.C
>> index
>> 6f4e3e43d800a28dd4cf57b1b45231b73d04df77..bb26762bef07094251db75deeaea1b000230bcc6
>> 100644 (file)
>>
>  --- a/cinelerra-5.1/cinelerra/filegif.C
>> +++ b/cinelerra-5.1/cinelerra/filegif.C
>> @@ -32,6 +32,14 @@
>>  #include <fcntl.h>
>>  #include <string.h>
>>
>> +//from "getarg.h"
>> +extern "C"
>> +int GifQuantizeBuffer(unsigned int Width, unsigned int Height,
>> +                   int *ColorMapSize, GifByteType * RedInput,
>> +                   GifByteType * GreenInput, GifByteType * BlueInput,
>> +                   GifByteType * OutputBuffer,
>> +                   GifColorType * OutputColorMap);
>>
> +
>>  FileGIF::FileGIF(Asset *asset, File *file)
>>   : FileBase(asset, file)
>
> No help from the comment included with the commit or from the release
> notes (frowny face). Giflib was updated from 5.1.6 to 5.2.1 at that date
> also.
>
> ??? Can this commit be reversed? or since we do not know why it was
> included, should we just add the "const"???
>
> On Sat, Nov 22, 2025 at 6:37 AM Andrew Randrianasulu <
> [email protected]> wrote:
>
>> On Tue, Nov 18, 2025 at 8:19 PM Rob Prowel <[email protected]> wrote:
>> >
>> > Please help me to understand why.
>> >
>> > This is my make-config and I'm building from scratch on
>> > Debian-13(trixie).  I've re-run autoconf and aclocal to support the
>> > newer macros/features.  Also note that I'm leveraging the distro
>> > libraries over the in-source thirdparty ones.  I have sucessfully built
>> > this way several years ago.
>> >
>> >
>> > -----------------------------------------------
>> > #! /bin/bash
>> >
>> > CUDA_PATH=/usr \
>> > ./configure \
>> >          --prefix=/sharebin/cingg2511 \
>> >          --with-cuda \
>> >          --with-nv \
>> >          --with-gl \
>> >          --with-xv \
>> >          --with-jobs=8 \
>> >         --with-alsa \
>> >         --enable-audiofile \
>> >          --with-thirdparty=no
>> > -----------------------------------------------
>> >
>> > build fails due to function redeclaration of
>> >
>> > int GifQuantizeBuffer(unsigned int Width,
>> >                 unsigned int Height,
>> >                 int *ColorMapSize,
>> >                 GifByteType * RedInput,
>> >                 GifByteType * GreenInput,
>> >                 GifByteType * BlueInput,
>> >                 GifByteType * OutputBuffer,
>> >                 GifColorType * OutputColorMap);
>> >
>> > in filegif.h and filegif.C...but this method also exists in the
>> > thirdparty library giflib.  The reason it fails is that in the library
>> > the pointers are const (as they should be) but in the duplicated code
>> > under cinelerra directory they are not...and simply adding const in the
>> > included code is not a fix, IMHO.  Lets please evaluate why the library
>> > code was duplicated within the project source in the first place.
>> > giflib is not only available under the thirdparty directory, but is a
>> > common library on most linux distros.  It seems odd that it's both
>> > referenced from the library AND duplicated in-source.
>>
>> Because this function  at some point disappeared from official giflib ....
>>
>> I guess adding version defines around this piece of code will be
>> correct course of action.
>>
>> >
>> > So far the only dependency I've had to use from the thirdparty directory
>> > is libdpx since it is quite obscure and not a standard part of Debian.
>> >
>> > -Rob
>> >
>> >
>> >
>> >
>> > _______________________________________________
>> > Cin mailing list -- [email protected]
>> > To unsubscribe send an email to [email protected]
>> _______________________________________________
>> Cin mailing list -- [email protected]
>> To unsubscribe send an email to [email protected]
>>
>
_______________________________________________
Cin mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to