|  | @@ -43,6 +43,7 @@ typedef struct GIFDemuxContext { | 
														
													
														
															
																|  |  | * invalid and set to value of default_delay. |  |  | * invalid and set to value of default_delay. | 
														
													
														
															
																|  |  | */ |  |  | */ | 
														
													
														
															
																|  |  | int min_delay; |  |  | int min_delay; | 
														
													
														
															
																|  |  |  |  |  | int max_delay; | 
														
													
														
															
																|  |  | int default_delay; |  |  | int default_delay; | 
														
													
														
															
																|  |  | 
 |  |  | 
 | 
														
													
														
															
																|  |  | /** |  |  | /** | 
														
													
												
													
														
															
																|  | @@ -159,6 +160,7 @@ static int gif_read_ext(AVFormatContext *s) | 
														
													
														
															
																|  |  | 
 |  |  | 
 | 
														
													
														
															
																|  |  | if (gdc->delay < gdc->min_delay) |  |  | if (gdc->delay < gdc->min_delay) | 
														
													
														
															
																|  |  | gdc->delay = gdc->default_delay; |  |  | gdc->delay = gdc->default_delay; | 
														
													
														
															
																|  |  |  |  |  | gdc->delay = FFMIN(gdc->delay, gdc->max_delay); | 
														
													
														
															
																|  |  | 
 |  |  | 
 | 
														
													
														
															
																|  |  | /* skip the rest of the Graphic Control Extension block */ |  |  | /* skip the rest of the Graphic Control Extension block */ | 
														
													
														
															
																|  |  | if ((ret = avio_skip(pb, sb_size - 3)) < 0 ) |  |  | if ((ret = avio_skip(pb, sb_size - 3)) < 0 ) | 
														
													
												
													
														
															
																|  | @@ -309,6 +311,7 @@ resync: | 
														
													
														
															
																|  |  | 
 |  |  | 
 | 
														
													
														
															
																|  |  | static const AVOption options[] = { |  |  | static const AVOption options[] = { | 
														
													
														
															
																|  |  | { "min_delay"    , "minimum valid delay between frames (in hundredths of second)", offsetof(GIFDemuxContext, min_delay)    , AV_OPT_TYPE_INT, {.i64 = GIF_MIN_DELAY}    , 0, 100 * 60, AV_OPT_FLAG_DECODING_PARAM }, |  |  | { "min_delay"    , "minimum valid delay between frames (in hundredths of second)", offsetof(GIFDemuxContext, min_delay)    , AV_OPT_TYPE_INT, {.i64 = GIF_MIN_DELAY}    , 0, 100 * 60, AV_OPT_FLAG_DECODING_PARAM }, | 
														
													
														
															
																|  |  |  |  |  | { "max_gif_delay", "maximum valid delay between frames (in hundredths of seconds)", offsetof(GIFDemuxContext, max_delay)   , AV_OPT_TYPE_INT, {.i64 = 65535}            , 0, 65535   , AV_OPT_FLAG_DECODING_PARAM }, | 
														
													
														
															
																|  |  | { "default_delay", "default delay between frames (in hundredths of second)"      , offsetof(GIFDemuxContext, default_delay), AV_OPT_TYPE_INT, {.i64 = GIF_DEFAULT_DELAY}, 0, 100 * 60, AV_OPT_FLAG_DECODING_PARAM }, |  |  | { "default_delay", "default delay between frames (in hundredths of second)"      , offsetof(GIFDemuxContext, default_delay), AV_OPT_TYPE_INT, {.i64 = GIF_DEFAULT_DELAY}, 0, 100 * 60, AV_OPT_FLAG_DECODING_PARAM }, | 
														
													
														
															
																|  |  | { "ignore_loop"  , "ignore loop setting (netscape extension)"                    , offsetof(GIFDemuxContext, ignore_loop)  , AV_OPT_TYPE_INT, {.i64 = 1}                , 0,        1, AV_OPT_FLAG_DECODING_PARAM }, |  |  | { "ignore_loop"  , "ignore loop setting (netscape extension)"                    , offsetof(GIFDemuxContext, ignore_loop)  , AV_OPT_TYPE_INT, {.i64 = 1}                , 0,        1, AV_OPT_FLAG_DECODING_PARAM }, | 
														
													
														
															
																|  |  | { NULL }, |  |  | { NULL }, | 
														
													
												
													
														
															
																|  | 
 |