diff --git a/Base/res/html/misc/gifsuite.html b/Base/res/html/misc/gifsuite.html index a1c1766392..fb9756561c 100644 --- a/Base/res/html/misc/gifsuite.html +++ b/Base/res/html/misc/gifsuite.html @@ -140,6 +140,42 @@ Transparent gif with 4 transparent frames, loops forever, restore previous + + + + + + + +

Erroneous test case: frame out-of-bounds. + The first frame is located at offset (200,0) and so is wholly outside of the bounds of the 100x100 GIF. + The last frame is partially out of bounds, located at (60,60) and of size (50,50).

+ +

Note that the GIF specification is unclear on what to do if a frame extends past the logical + screen of the GIF, therefore different renderers behave differently here:

+ + + + + + + + N/A + N/A + N/A + N/A + +

Erroneous test case:. Final frame contains bad LZW data and will fail to decode. + Decoder implementations are not under any obligation to render anything useful here, however they + should fail gracefully and not crash.

+ + + diff --git a/Base/res/html/misc/gifsuite_files/animated_transparent_loop_frames_out_of_bounds-0.png b/Base/res/html/misc/gifsuite_files/animated_transparent_loop_frames_out_of_bounds-0.png new file mode 100644 index 0000000000..1388953be1 Binary files /dev/null and b/Base/res/html/misc/gifsuite_files/animated_transparent_loop_frames_out_of_bounds-0.png differ diff --git a/Base/res/html/misc/gifsuite_files/animated_transparent_loop_frames_out_of_bounds-1.png b/Base/res/html/misc/gifsuite_files/animated_transparent_loop_frames_out_of_bounds-1.png new file mode 100644 index 0000000000..e686ab7262 Binary files /dev/null and b/Base/res/html/misc/gifsuite_files/animated_transparent_loop_frames_out_of_bounds-1.png differ diff --git a/Base/res/html/misc/gifsuite_files/animated_transparent_loop_frames_out_of_bounds-2.png b/Base/res/html/misc/gifsuite_files/animated_transparent_loop_frames_out_of_bounds-2.png new file mode 100644 index 0000000000..f0b026083a Binary files /dev/null and b/Base/res/html/misc/gifsuite_files/animated_transparent_loop_frames_out_of_bounds-2.png differ diff --git a/Base/res/html/misc/gifsuite_files/animated_transparent_loop_frames_out_of_bounds-3.png b/Base/res/html/misc/gifsuite_files/animated_transparent_loop_frames_out_of_bounds-3.png new file mode 100644 index 0000000000..57ddb97f29 Binary files /dev/null and b/Base/res/html/misc/gifsuite_files/animated_transparent_loop_frames_out_of_bounds-3.png differ diff --git a/Base/res/html/misc/gifsuite_files/animated_transparent_loop_frames_out_of_bounds.gif b/Base/res/html/misc/gifsuite_files/animated_transparent_loop_frames_out_of_bounds.gif new file mode 100644 index 0000000000..0abc0ff540 Binary files /dev/null and b/Base/res/html/misc/gifsuite_files/animated_transparent_loop_frames_out_of_bounds.gif differ diff --git a/Base/res/html/misc/gifsuite_files/bad_lzw_data.gif b/Base/res/html/misc/gifsuite_files/bad_lzw_data.gif new file mode 100644 index 0000000000..a0a3debe5b Binary files /dev/null and b/Base/res/html/misc/gifsuite_files/bad_lzw_data.gif differ