On 9/16/2019 10:05 PM, Soft Works wrote:
> An int32 option cannot have a maximum of UINT32_MAX

AV_OPT_TYPE_INT options are int64_t. In this case however the storage
type for trans_color in GifState is int.

Reading the code i see it's intended to be uint32_t, so i think the
correct fix is changing its storage type, and not limiting its allowed
range. Same with stored_bg_color.

> 
> Before this patch
>   -trans_color       <int>        .D.V..... color value (ARGB) that is used 
> instead of transparent color (from 0 to UINT32_MAX)
> 
> Afterwards:
>   -trans_color       <int>        .D.V..... color value (ARGB) that is used 
> instead of transparent color (from 0 to INT_MAX)
> Signed-off-by: softworkz <softwo...@hotmail.com>
> ---
>  libavcodec/gifdec.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/libavcodec/gifdec.c b/libavcodec/gifdec.c
> index 1906a4c738..4c5246c3d4 100644
> --- a/libavcodec/gifdec.c
> +++ b/libavcodec/gifdec.c
> @@ -546,7 +546,7 @@ static av_cold int gif_decode_close(AVCodecContext *avctx)
>  static const AVOption options[] = {
>      { "trans_color", "color value (ARGB) that is used instead of transparent 
> color",
>        offsetof(GifState, trans_color), AV_OPT_TYPE_INT,
> -      {.i64 = GIF_TRANSPARENT_COLOR}, 0, 0xffffffff,
> +      {.i64 = GIF_TRANSPARENT_COLOR}, 0, INT_MAX,
>        AV_OPT_FLAG_DECODING_PARAM|AV_OPT_FLAG_VIDEO_PARAM },
>      { NULL },
>  };
> 

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to