summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJingning Han <jingning@google.com>2014-11-17 17:40:54 -0800
committerGerrit Code Review <gerrit@gerrit.golo.chromium.org>2014-11-17 17:40:54 -0800
commit13a999de8ecd158ee386c677df85165bd85087db (patch)
treed002ecf8f919834176841f325a0558356a1abe2b
parent4539c496bcfaf54a16d3ed5668bbe174a3ed5ad2 (diff)
parenta62c87fb046997848a0b4cf834366b453aef4a83 (diff)
downloadlibvpx-13a999de8ecd158ee386c677df85165bd85087db.tar
libvpx-13a999de8ecd158ee386c677df85165bd85087db.tar.gz
libvpx-13a999de8ecd158ee386c677df85165bd85087db.tar.bz2
libvpx-13a999de8ecd158ee386c677df85165bd85087db.zip
Merge "Add empty pointer check to pred buffering in rtc coding mode"
-rw-r--r--vp9/encoder/vp9_pickmode.c39
1 files changed, 21 insertions, 18 deletions
diff --git a/vp9/encoder/vp9_pickmode.c b/vp9/encoder/vp9_pickmode.c
index 358bedd33..23575b0ee 100644
--- a/vp9/encoder/vp9_pickmode.c
+++ b/vp9/encoder/vp9_pickmode.c
@@ -802,13 +802,14 @@ void vp9_pick_inter_mode(VP9_COMP *cpi, MACROBLOCK *x,
MIN(max_txsize_lookup[bsize],
tx_mode_to_biggest_tx_size[cpi->common.tx_mode]);
- if (best_pred != NULL && reuse_inter_pred &&
- best_pred->data == orig_dst.buf) {
- this_mode_pred = &tmp[get_pred_buffer(tmp, 3)];
- vp9_convolve_copy(best_pred->data, best_pred->stride,
- this_mode_pred->data, this_mode_pred->stride,
- NULL, 0, NULL, 0, bw, bh);
- best_pred = this_mode_pred;
+ if (reuse_inter_pred && best_pred != NULL) {
+ if (best_pred->data == orig_dst.buf) {
+ this_mode_pred = &tmp[get_pred_buffer(tmp, 3)];
+ vp9_convolve_copy(best_pred->data, best_pred->stride,
+ this_mode_pred->data, this_mode_pred->stride,
+ NULL, 0, NULL, 0, bw, bh);
+ best_pred = this_mode_pred;
+ }
}
pd->dst = orig_dst;
@@ -844,22 +845,24 @@ void vp9_pick_inter_mode(VP9_COMP *cpi, MACROBLOCK *x,
}
pd->dst = orig_dst;
- if (reuse_inter_pred && best_pred->data != orig_dst.buf &&
- is_inter_mode(mbmi->mode)) {
+
+ if (reuse_inter_pred && best_pred != NULL) {
+ if (best_pred->data != orig_dst.buf && is_inter_mode(mbmi->mode)) {
#if CONFIG_VP9_HIGHBITDEPTH
- if (cm->use_highbitdepth)
- vp9_highbd_convolve_copy(best_pred->data, best_pred->stride,
- pd->dst.buf, pd->dst.stride, NULL, 0,
- NULL, 0, bw, bh, xd->bd);
- else
+ if (cm->use_highbitdepth)
+ vp9_highbd_convolve_copy(best_pred->data, best_pred->stride,
+ pd->dst.buf, pd->dst.stride, NULL, 0,
+ NULL, 0, bw, bh, xd->bd);
+ else
+ vp9_convolve_copy(best_pred->data, best_pred->stride,
+ pd->dst.buf, pd->dst.stride, NULL, 0,
+ NULL, 0, bw, bh);
+#else
vp9_convolve_copy(best_pred->data, best_pred->stride,
pd->dst.buf, pd->dst.stride, NULL, 0,
NULL, 0, bw, bh);
-#else
- vp9_convolve_copy(best_pred->data, best_pred->stride,
- pd->dst.buf, pd->dst.stride, NULL, 0,
- NULL, 0, bw, bh);
#endif
+ }
}
if (is_inter_block(mbmi))