| Index: source/libvpx/vp9/encoder/vp9_rd.c
|
| diff --git a/source/libvpx/vp9/encoder/vp9_rd.c b/source/libvpx/vp9/encoder/vp9_rd.c
|
| index 0b6d11eca76b12a36fbded5749e23453d66b4eca..5cc980cf79d7f73a964ad69caba7f9e2aa01c5bb 100644
|
| --- a/source/libvpx/vp9/encoder/vp9_rd.c
|
| +++ b/source/libvpx/vp9/encoder/vp9_rd.c
|
| @@ -532,13 +532,14 @@ int16_t* vp9_raster_block_offset_int16(BLOCK_SIZE plane_bsize,
|
| return base + vp9_raster_block_offset(plane_bsize, raster_block, stride);
|
| }
|
|
|
| -const YV12_BUFFER_CONFIG *vp9_get_scaled_ref_frame(const VP9_COMP *cpi,
|
| - int ref_frame) {
|
| +YV12_BUFFER_CONFIG *vp9_get_scaled_ref_frame(const VP9_COMP *cpi,
|
| + int ref_frame) {
|
| const VP9_COMMON *const cm = &cpi->common;
|
| - const int ref_idx = cm->ref_frame_map[get_ref_frame_idx(cpi, ref_frame)];
|
| const int scaled_idx = cpi->scaled_ref_idx[ref_frame - 1];
|
| - return (scaled_idx != ref_idx) ?
|
| - &cm->buffer_pool->frame_bufs[scaled_idx].buf : NULL;
|
| + const int ref_idx = get_ref_frame_buf_idx(cpi, ref_frame);
|
| + return
|
| + (scaled_idx != ref_idx && scaled_idx != INVALID_IDX) ?
|
| + &cm->buffer_pool->frame_bufs[scaled_idx].buf : NULL;
|
| }
|
|
|
| int vp9_get_switchable_rate(const VP9_COMP *cpi, const MACROBLOCKD *const xd) {
|
|
|