diff --git a/example/gifplayer/gifplayer.c b/example/gifplayer/gifplayer.c
index f541fa8..e200c74 100644
--- a/example/gifplayer/gifplayer.c
+++ b/example/gifplayer/gifplayer.c
@@ -423,7 +423,11 @@
     }
 
     wuffs_base__status decode_frame_status = wuffs_gif__decoder__decode_frame(
-        &dec, &g_pb, &src, WUFFS_BASE__PIXEL_BLEND__SRC_OVER, g_workbuf, NULL);
+        &dec, &g_pb, &src,
+        wuffs_base__frame_config__overwrite_instead_of_blend(&fc)
+            ? WUFFS_BASE__PIXEL_BLEND__SRC
+            : WUFFS_BASE__PIXEL_BLEND__SRC_OVER,
+        g_workbuf, NULL);
     if (decode_frame_status.repr == wuffs_base__note__end_of_data) {
       break;
     }
diff --git a/example/imageviewer/imageviewer.c b/example/imageviewer/imageviewer.c
index 1447cee..d117cdc 100644
--- a/example/imageviewer/imageviewer.c
+++ b/example/imageviewer/imageviewer.c
@@ -85,6 +85,7 @@
 uint8_t g_src_buffer_array[SRC_BUFFER_ARRAY_SIZE] = {0};
 wuffs_base__io_buffer g_src = {0};
 wuffs_base__image_config g_image_config = {0};
+wuffs_base__frame_config g_frame_config = {0};
 wuffs_base__image_decoder* g_image_decoder = NULL;
 uint32_t g_background_color_index = 0;
 
@@ -254,13 +255,35 @@
   return true;
 }
 
-// This function always returns true. If we get this far, we still display a
-// partial image, even if we encounter an error.
 bool  //
 load_image_frame() {
+  // Decode the wuffs_base__frame_config.
+  while (true) {
+    wuffs_base__status status = wuffs_base__image_decoder__decode_frame_config(
+        g_image_decoder, &g_frame_config, &g_src);
+
+    if (status.repr == NULL) {
+      break;
+    } else if (status.repr != wuffs_base__suspension__short_read) {
+      printf("%s: %s\n", g_filename, wuffs_base__status__message(&status));
+      return false;
+    }
+
+    if (!read_more_src()) {
+      return false;
+    }
+  }
+
+  // From here on, this function always returns true. If we get this far, we
+  // still display a partial image, even if we encounter an error.
+
+  // Decode the frame (the pixels).
   while (true) {
     wuffs_base__status status = wuffs_base__image_decoder__decode_frame(
-        g_image_decoder, &g_pixbuf, &g_src, WUFFS_BASE__PIXEL_BLEND__SRC_OVER,
+        g_image_decoder, &g_pixbuf, &g_src,
+        wuffs_base__frame_config__overwrite_instead_of_blend(&g_frame_config)
+            ? WUFFS_BASE__PIXEL_BLEND__SRC
+            : WUFFS_BASE__PIXEL_BLEND__SRC_OVER,
         g_workbuf_slice, NULL);
 
     if (status.repr == NULL) {
