Align frame contexts. This will allow for aligned cdfs and scan orders inside. Change-Id: I8ebcd64d55e41da20f518a39ae6ef192def70109
diff --git a/av1/decoder/decoder.c b/av1/decoder/decoder.c index bcc6a1b..a03ec53 100644 --- a/av1/decoder/decoder.c +++ b/av1/decoder/decoder.c
@@ -99,10 +99,13 @@ cm->error.setjmp = 1; - CHECK_MEM_ERROR(cm, cm->fc, (FRAME_CONTEXT *)aom_calloc(1, sizeof(*cm->fc))); - CHECK_MEM_ERROR( - cm, cm->frame_contexts, - (FRAME_CONTEXT *)aom_calloc(FRAME_CONTEXTS, sizeof(*cm->frame_contexts))); + CHECK_MEM_ERROR(cm, cm->fc, + (FRAME_CONTEXT *)aom_memalign(32, sizeof(*cm->fc))); + CHECK_MEM_ERROR(cm, cm->frame_contexts, + (FRAME_CONTEXT *)aom_memalign( + 32, FRAME_CONTEXTS * sizeof(*cm->frame_contexts))); + memset(cm->fc, 0, sizeof(*cm->fc)); + memset(cm->frame_contexts, 0, FRAME_CONTEXTS * sizeof(*cm->frame_contexts)); pbi->need_resync = 1; once(initialize_dec);
diff --git a/av1/encoder/encoder.c b/av1/encoder/encoder.c index f1a6f72..33c536d 100644 --- a/av1/encoder/encoder.c +++ b/av1/encoder/encoder.c
@@ -2040,10 +2040,13 @@ cm->free_mi = av1_enc_free_mi; cm->setup_mi = av1_enc_setup_mi; - CHECK_MEM_ERROR(cm, cm->fc, (FRAME_CONTEXT *)aom_calloc(1, sizeof(*cm->fc))); - CHECK_MEM_ERROR( - cm, cm->frame_contexts, - (FRAME_CONTEXT *)aom_calloc(FRAME_CONTEXTS, sizeof(*cm->frame_contexts))); + CHECK_MEM_ERROR(cm, cm->fc, + (FRAME_CONTEXT *)aom_memalign(32, sizeof(*cm->fc))); + CHECK_MEM_ERROR(cm, cm->frame_contexts, + (FRAME_CONTEXT *)aom_memalign( + 32, FRAME_CONTEXTS * sizeof(*cm->frame_contexts))); + memset(cm->fc, 0, sizeof(*cm->fc)); + memset(cm->frame_contexts, 0, FRAME_CONTEXTS * sizeof(*cm->frame_contexts)); cpi->resize_state = 0; cpi->resize_avg_qp = 0;