diff options
author | Wan-Teh Chang <wtc@google.com> | 2018-10-17 14:43:22 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2018-10-17 14:43:22 +0000 |
commit | 86db847ab8d17d465f2839c2e5223eb8af1885c8 (patch) | |
tree | 8d878af1cbeaba95cc3044439582d4b9b4eeed99 /vp9/encoder | |
parent | 0c5fd59efdb234fe0231615c858e1f9c9945cbfa (diff) | |
parent | 9addd7499cc06bac2c04f1aa2bd287a1ee1b67f3 (diff) | |
download | libvpx-86db847ab8d17d465f2839c2e5223eb8af1885c8.tar libvpx-86db847ab8d17d465f2839c2e5223eb8af1885c8.tar.gz libvpx-86db847ab8d17d465f2839c2e5223eb8af1885c8.tar.bz2 libvpx-86db847ab8d17d465f2839c2e5223eb8af1885c8.zip |
Merge "Reduce the cpi->scaled_ref_idx array size by 1."
Diffstat (limited to 'vp9/encoder')
-rw-r--r-- | vp9/encoder/vp9_encoder.c | 4 | ||||
-rw-r--r-- | vp9/encoder/vp9_encoder.h | 2 | ||||
-rw-r--r-- | vp9/encoder/vp9_rd.c | 1 |
3 files changed, 4 insertions, 3 deletions
diff --git a/vp9/encoder/vp9_encoder.c b/vp9/encoder/vp9_encoder.c index 51c9337de..e902a832a 100644 --- a/vp9/encoder/vp9_encoder.c +++ b/vp9/encoder/vp9_encoder.c @@ -3276,7 +3276,7 @@ static void release_scaled_references(VP9_COMP *cpi) { } } } else { - for (i = 0; i < MAX_REF_FRAMES; ++i) { + for (i = 0; i < REFS_PER_FRAME; ++i) { const int idx = cpi->scaled_ref_idx[i]; if (idx != INVALID_IDX) { RefCntBuffer *const buf = &cm->buffer_pool->frame_bufs[idx]; @@ -6392,7 +6392,7 @@ int vp9_get_compressed_data(VP9_COMP *cpi, unsigned int *frame_flags, level_rc_framerate(cpi, arf_src_index); if (cpi->oxcf.pass != 0 || cpi->use_svc || frame_is_intra_only(cm) == 1) { - for (i = 0; i < MAX_REF_FRAMES; ++i) cpi->scaled_ref_idx[i] = INVALID_IDX; + for (i = 0; i < REFS_PER_FRAME; ++i) cpi->scaled_ref_idx[i] = INVALID_IDX; } if (cpi->twopass.gf_group.index == 1 && cpi->sf.enable_tpl_model) { diff --git a/vp9/encoder/vp9_encoder.h b/vp9/encoder/vp9_encoder.h index 79346ed09..9e58f2bb0 100644 --- a/vp9/encoder/vp9_encoder.h +++ b/vp9/encoder/vp9_encoder.h @@ -537,7 +537,7 @@ typedef struct VP9_COMP { // For a still frame, this flag is set to 1 to skip partition search. int partition_search_skippable_frame; - int scaled_ref_idx[MAX_REF_FRAMES]; + int scaled_ref_idx[REFS_PER_FRAME]; int lst_fb_idx; int gld_fb_idx; int alt_fb_idx; diff --git a/vp9/encoder/vp9_rd.c b/vp9/encoder/vp9_rd.c index 2e4a4fe9f..c5319bd87 100644 --- a/vp9/encoder/vp9_rd.c +++ b/vp9/encoder/vp9_rd.c @@ -631,6 +631,7 @@ YV12_BUFFER_CONFIG *vp9_get_scaled_ref_frame(const VP9_COMP *cpi, const VP9_COMMON *const cm = &cpi->common; const int scaled_idx = cpi->scaled_ref_idx[ref_frame - 1]; const int ref_idx = get_ref_frame_buf_idx(cpi, ref_frame); + assert(ref_frame >= LAST_FRAME && ref_frame <= ALTREF_FRAME); return (scaled_idx != ref_idx && scaled_idx != INVALID_IDX) ? &cm->buffer_pool->frame_bufs[scaled_idx].buf : NULL; |