diff --git a/examples/analyzer.cc b/examples/analyzer.cc
index 3a02e32..6c2a35f 100644
--- a/examples/analyzer.cc
+++ b/examples/analyzer.cc
@@ -18,6 +18,7 @@
 #include "aom/aomdx.h"
 #include "av1/common/accounting.h"
 #include "av1/common/onyxc_int.h"
+#include "av1/decoder/inspection.h"
 
 #define OD_SIGNMASK(a) (-((a) < 0))
 #define OD_FLIPSIGNI(a, b) (((a) + OD_SIGNMASK(b)) ^ OD_SIGNMASK(b))
@@ -39,6 +40,8 @@
   const AvxVideoInfo *info;
   const AvxInterface *decoder;
 
+  insp_frame_data frame_data;
+
   aom_codec_ctx_t codec;
 
  public:
@@ -57,8 +60,10 @@
   int getWidth() const;
   int getHeight() const;
 
-  bool setAccountingEnabled(bool enable);
   bool getAccountingStruct(Accounting **acct);
+  bool setInspectionCallback();
+
+  static void inspect(void *decoder, void *data);
 };
 
 AV1Decoder::AV1Decoder()
@@ -84,6 +89,8 @@
     fprintf(stderr, "Failed to initialize decoder.");
     return false;
   }
+  ifd_init(&frame_data, info->frame_width, info->frame_height);
+  setInspectionCallback();
   return true;
 }
 
@@ -119,6 +126,19 @@
          AOM_CODEC_OK;
 }
 
+bool AV1Decoder::setInspectionCallback() {
+  aom_inspect_init ii;
+  ii.inspect_cb = AV1Decoder::inspect;
+  ii.inspect_ctx = (void *)this;
+  return aom_codec_control(&codec, AV1_SET_INSPECTION_CALLBACK, &ii) ==
+         AOM_CODEC_OK;
+}
+
+void AV1Decoder::inspect(void *pbi, void *data) {
+  AV1Decoder *decoder = (AV1Decoder *)data;
+  ifd_inspect(&decoder->frame_data, pbi);
+}
+
 #define MIN_ZOOM (1)
 #define MAX_ZOOM (4)
 
