Hi there,
I'm on the latest master on MacOS / ARM64 and I'm noticing a crash in libaom when speed = 11, content type = screen and bit depth = 10bit in estimate_scroll_motion.
Specifically, the stack trace is the following:
0 libaom.dylib 0x1035957ec aom_int_pro_row_neon + 108 (avg_neon.c:101)
1 libaom.dylib 0x1037308d8 estimate_scroll_motion + 384 (ratectrl.c:3116)
2 libaom.dylib 0x10372f258 rc_scene_detection_onepass_rt + 1448 (ratectrl.c:3338) [inlined]
3 libaom.dylib 0x10372f258 av1_get_one_pass_rt_params + 4708 (ratectrl.c:3747)
4 libaom.dylib 0x1036dd108 av1_encode_strategy + 2508 (encode_strategy.c:1482)
5 libaom.dylib 0x1036e7fc0 av1_get_compressed_data + 464 (encoder.c:4775)
6 libaom.dylib 0x103699c30 encoder_encode + 3760 (av1_cx_iface.c:3399)
7 libaom.dylib 0x103415e38 aom_codec_encode + 180 (aom_encoder.c:191)
estimate_scroll_motion is crashing when accessing a bad address in ref_buf:
ref_buf = last_src_buf - search_size_width;
aom_int_pro_row(hbuf, ref_buf, ref_stride, ref_buf_width, bh,
row_norm_factor);
Which is passed to it as last_src_y by rc_scene_detection_onepass_rt
last_src_y =
unscaled_last_src->y_buffer + pos_row * last_src_ystride + pos_col;
int best_intmv_col = 0;
int best_intmv_row = 0;
unsigned int y_sad = estimate_scroll_motion(
cpi, src_y, last_src_y, src_ystride, last_src_ystride, BLOCK_128X128,
pos_col, pos_row, &best_intmv_col, &best_intmv_row);
Does anyone know if this is a known issue in master? Any help would be highly appreciated.
Thanks.