summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremy Leconte <jleconte@google.com>2020-12-10 17:54:54 +0100
committerJeremy Leconte <jleconte@google.com>2020-12-10 18:54:53 +0000
commitffc179d8bfb836d7b39aaf8595a9051b25a7b437 (patch)
tree5c5a78afe3c73a29e5e2ef8cc74c575571902394
parentebac57ce9250aac85701f5258ec54f9cf9bf14a8 (diff)
downloadlibvpx-ffc179d8bfb836d7b39aaf8595a9051b25a7b437.tar
libvpx-ffc179d8bfb836d7b39aaf8595a9051b25a7b437.tar.gz
libvpx-ffc179d8bfb836d7b39aaf8595a9051b25a7b437.tar.bz2
libvpx-ffc179d8bfb836d7b39aaf8595a9051b25a7b437.zip
Fix nullptr with offset.
The error occurs with low resolution when LibvpxVp8Encoder::NumberOfThreads returns 1. Bug: b:175283098 Change-Id: Icc9387c75f4ac6e4f09f102b3143e83c998c5e38
-rw-r--r--vp8/encoder/encodeframe.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/vp8/encoder/encodeframe.c b/vp8/encoder/encodeframe.c
index 2b3d9564c..2f84381d2 100644
--- a/vp8/encoder/encodeframe.c
+++ b/vp8/encoder/encodeframe.c
@@ -343,8 +343,11 @@ static void encode_mb_row(VP8_COMP *cpi, VP8_COMMON *cm, int mb_row,
const int nsync = cpi->mt_sync_range;
vpx_atomic_int rightmost_col = VPX_ATOMIC_INIT(cm->mb_cols + nsync);
const vpx_atomic_int *last_row_current_mb_col;
- vpx_atomic_int *current_mb_col = &cpi->mt_current_mb_col[mb_row];
+ vpx_atomic_int *current_mb_col = NULL;
+ if (vpx_atomic_load_acquire(&cpi->b_multi_threaded) != 0) {
+ current_mb_col = &cpi->mt_current_mb_col[mb_row];
+ }
if (vpx_atomic_load_acquire(&cpi->b_multi_threaded) != 0 && mb_row != 0) {
last_row_current_mb_col = &cpi->mt_current_mb_col[mb_row - 1];
} else {