Reset cm->next_ref_frame_map to NULL instead of -1 This follows commit e7ebf904b0e763997d23b9a17ea98e5573843e76, which changed buffer references from indices to pointers. So an invalid index of -1 should be replaced by a NULL pointer. BUG=aomedia:2244 Change-Id: I0c07e9e6f2ec0c7d0a1019947d33b17ab50e38e9
diff --git a/av1/decoder/decodeframe.c b/av1/decoder/decodeframe.c index 54d3a97..0811c05 100644 --- a/av1/decoder/decodeframe.c +++ b/av1/decoder/decodeframe.c
@@ -4766,8 +4766,10 @@ int i; // We have not stored any references to frame buffers in - // cm->next_ref_frame_map, so we can directly reset it to all -1. - memset(&cm->next_ref_frame_map, -1, sizeof(cm->next_ref_frame_map)); + // cm->next_ref_frame_map, so we can directly reset it to all NULL. + for (i = 0; i < REF_FRAMES; ++i) { + cm->next_ref_frame_map[i] = NULL; + } lock_buffer_pool(cm->buffer_pool); reset_ref_frame_map(cm);
diff --git a/av1/decoder/decoder.c b/av1/decoder/decoder.c index 31edd1d..f8b598c 100644 --- a/av1/decoder/decoder.c +++ b/av1/decoder/decoder.c
@@ -330,8 +330,8 @@ if (pbi->hold_ref_buf) { for (int ref_index = 0; ref_index < REF_FRAMES; ++ref_index) { decrease_ref_count(cm->next_ref_frame_map[ref_index], pool); + cm->next_ref_frame_map[ref_index] = NULL; } - memset(&cm->next_ref_frame_map, -1, sizeof(cm->next_ref_frame_map)); pbi->hold_ref_buf = 0; } // Release current frame.