shithub: libvpx

Download patch

ref: 530e60143a60b77ab749003bf991a58f083752a3
parent: a059dc09861d8299b6736f06825146b7009ad520
author: Vignesh Venkatasubramanian <vigneshv@google.com>
date: Mon Sep 25 12:56:04 EDT 2017

vp9_dx_iface: Stop using iter parameter incorrectly

'iter' parameter is being checked for NULL in every call to
decoder_get_frame which is quite pointless because it is always
going to be NULL unless the application changed it. The code works
as described only because vp9_get_raw_frame returns -1 on all
subsequent calls after the first.

Change-Id: Ic736b9e8fe36fc1430fc11d6a9b292be02497248

--- a/vp9/vp9_dx_iface.c
+++ b/vp9/vp9_dx_iface.c
@@ -378,9 +378,11 @@
                                       vpx_codec_iter_t *iter) {
   vpx_image_t *img = NULL;
 
-  // iter acts as a flip flop, so an image is only returned on the first
-  // call to get_frame.
-  if (*iter == NULL && ctx->pbi != NULL) {
+  // Legacy parameter carried over from VP8. Has no effect for VP9 since we
+  // always return only 1 frame per decode call.
+  (void)iter;
+
+  if (ctx->pbi != NULL) {
     YV12_BUFFER_CONFIG sd;
     vp9_ppflags_t flags = { 0, 0, 0 };
     if (ctx->base.init_flags & VPX_CODEC_USE_POSTPROC) set_ppflags(ctx, &flags);