diff --git a/test/encode_test_driver.cc b/test/encode_test_driver.cc
index e212e3c..b5c506c 100644
--- a/test/encode_test_driver.cc
+++ b/test/encode_test_driver.cc
@@ -39,7 +39,8 @@
   }
 }
 
-void Encoder::EncodeFrame(VideoSource *video, const unsigned long frame_flags) {
+void Encoder::EncodeFrame(VideoSource *video,
+                          const aom_enc_frame_flags_t frame_flags) {
   if (video->img())
     EncodeFrameInternal(*video, frame_flags);
   else
@@ -56,7 +57,7 @@
 }
 
 void Encoder::EncodeFrameInternal(const VideoSource &video,
-                                  const unsigned long frame_flags) {
+                                  const aom_enc_frame_flags_t frame_flags) {
   aom_codec_err_t res;
   const aom_image_t *img = video.img();
 
diff --git a/test/encode_test_driver.h b/test/encode_test_driver.h
index fb18ecb..80be8ed 100644
--- a/test/encode_test_driver.h
+++ b/test/encode_test_driver.h
@@ -99,7 +99,7 @@
   }
   // This is a thin wrapper around aom_codec_encode(), so refer to
   // aom_encoder.h for its semantics.
-  void EncodeFrame(VideoSource *video, const unsigned long frame_flags);
+  void EncodeFrame(VideoSource *video, aom_enc_frame_flags_t frame_flags);
 
   // Convenience wrapper for EncodeFrame()
   void EncodeFrame(VideoSource *video) { EncodeFrame(video, 0); }
@@ -172,7 +172,7 @@
 
   // Encode an image
   void EncodeFrameInternal(const VideoSource &video,
-                           const unsigned long frame_flags);
+                           aom_enc_frame_flags_t frame_flags);
 
   // Flush the encoder on EOS
   void Flush();
@@ -277,7 +277,7 @@
   unsigned int passes_;
   TwopassStatsStore stats_;
   aom_codec_flags_t init_flags_;
-  unsigned long frame_flags_;
+  aom_enc_frame_flags_t frame_flags_;
   TestMode mode_;
 };
 
