diff --git a/test/decode_test_driver.cc b/test/decode_test_driver.cc
index 7a93e50c25cd7276effcef3572660b2e5cf65ec8..e667d1dd05702b0e4bbe34aa6615832b7602cf94 100644
--- a/test/decode_test_driver.cc
+++ b/test/decode_test_driver.cc
@@ -15,11 +15,13 @@
 
 namespace libvpx_test {
 
-vpx_codec_err_t Decoder::DecodeFrame(const uint8_t *cxdata, int size) {
+vpx_codec_err_t Decoder::DecodeFrame(const uint8_t *cxdata, size_t size) {
   vpx_codec_err_t res_dec;
   InitOnce();
-  REGISTER_STATE_CHECK(res_dec = vpx_codec_decode(&decoder_,
-                                                  cxdata, size, NULL, 0));
+  REGISTER_STATE_CHECK(
+      res_dec = vpx_codec_decode(&decoder_,
+                                 cxdata, static_cast<unsigned int>(size),
+                                 NULL, 0));
   return res_dec;
 }
 
diff --git a/test/decode_test_driver.h b/test/decode_test_driver.h
index 3e8ff724b30f04a67ca860f2a53229f1e8d18d95..44a0fc03d6b2d3b5e5da5299951317e6f4da63bf 100644
--- a/test/decode_test_driver.h
+++ b/test/decode_test_driver.h
@@ -49,7 +49,7 @@ class Decoder {
     vpx_codec_destroy(&decoder_);
   }
 
-  vpx_codec_err_t DecodeFrame(const uint8_t *cxdata, int size);
+  vpx_codec_err_t DecodeFrame(const uint8_t *cxdata, size_t size);
 
   DxDataIterator GetDxData() {
     return DxDataIterator(&decoder_);