ref: da6b224e3cd1456fbf8ef984ed337092885ba41c
parent: da47b3415b25e2e2cbda17a5b09cdd13efc9e65b
parent: 709fecac83c86de956befbfcc029da1dba332a6d
author: Adrian Grange <agrange@google.com>
date: Tue Feb 25 03:48:14 EST 2014
Merge "Trap request to display non-existant frame"
--- a/vp9/decoder/vp9_decodeframe.c
+++ b/vp9/decoder/vp9_decodeframe.c
@@ -1120,6 +1120,12 @@
if (cm->show_existing_frame) {
// Show an existing frame directly.
const int frame_to_show = cm->ref_frame_map[vp9_rb_read_literal(rb, 3)];
+
+ if (cm->frame_bufs[frame_to_show].ref_count < 1)
+ vpx_internal_error(&cm->error, VPX_CODEC_UNSUP_BITSTREAM,
+ "Buffer %d does not contain a decoded frame",
+ frame_to_show);
+
ref_cnt_fb(cm->frame_bufs, &cm->new_fb_idx, frame_to_show);
pbi->refresh_frame_flags = 0;
cm->lf.filter_level = 0;
--
⑨