diff options
author | hkuang <hkuang@google.com> | 2014-09-11 15:37:08 -0700 |
---|---|---|
committer | hkuang <hkuang@google.com> | 2014-09-19 21:27:11 -0700 |
commit | c70cea97acd577f17f88394da2c76f693ee67c75 (patch) | |
tree | 3b20e1dc07f8b4c7b1746efa880c949360af937d /vp9/common/vp9_alloccommon.c | |
parent | 77caad4ff1cd9099efe6adb2f0fa6867cfca0c80 (diff) | |
download | libvpx-c70cea97acd577f17f88394da2c76f693ee67c75.tar libvpx-c70cea97acd577f17f88394da2c76f693ee67c75.tar.gz libvpx-c70cea97acd577f17f88394da2c76f693ee67c75.tar.bz2 libvpx-c70cea97acd577f17f88394da2c76f693ee67c75.zip |
Remove mi_grid_* structures.
mi_grid_* are arrays of pointer to pointer. They save the pointers that point
to the MIs in cm->mi. But they are unnecessary and complicated. The original
goal was to remove MODE_INFO_t copy. But with an extra MODE_INFO_t pointer
inside MODE_INFO_t, same goal could be achieved.
This commit totally removes the mi_grid_* structures. But there are still
many dummy MODE_INFO_t inside cm->mi which are a waste of memory. Next commit
will do on-demand MODE_INFO_t allocation in order to save these memories.
Change-Id: I3a05cf1610679fed26e0b2eadd315a9ae91afdd6
Diffstat (limited to 'vp9/common/vp9_alloccommon.c')
-rw-r--r-- | vp9/common/vp9_alloccommon.c | 21 |
1 files changed, 0 insertions, 21 deletions
diff --git a/vp9/common/vp9_alloccommon.c b/vp9/common/vp9_alloccommon.c index 21ae8d575..8b3b9dbe0 100644 --- a/vp9/common/vp9_alloccommon.c +++ b/vp9/common/vp9_alloccommon.c @@ -44,14 +44,8 @@ void vp9_set_mb_mi(VP9_COMMON *cm, int width, int height) { static void setup_mi(VP9_COMMON *cm) { cm->mi = cm->mip + cm->mi_stride + 1; cm->prev_mi = cm->prev_mip + cm->mi_stride + 1; - cm->mi_grid_visible = cm->mi_grid_base + cm->mi_stride + 1; - cm->prev_mi_grid_visible = cm->prev_mi_grid_base + cm->mi_stride + 1; vpx_memset(cm->mip, 0, cm->mi_stride * (cm->mi_rows + 1) * sizeof(*cm->mip)); - - vpx_memset(cm->mi_grid_base, 0, cm->mi_stride * (cm->mi_rows + 1) * - sizeof(*cm->mi_grid_base)); - clear_mi_border(cm, cm->prev_mip); } @@ -63,11 +57,6 @@ static int alloc_mi(VP9_COMMON *cm, int mi_size) { (MODE_INFO *)vpx_calloc(mi_size, sizeof(MODE_INFO)); if (cm->mip_array[i] == NULL) return 1; - - cm->mi_grid_base_array[i] = - (MODE_INFO **)vpx_calloc(mi_size, sizeof(MODE_INFO*)); - if (cm->mi_grid_base_array[i] == NULL) - return 1; } cm->mi_alloc_size = mi_size; @@ -78,8 +67,6 @@ static int alloc_mi(VP9_COMMON *cm, int mi_size) { cm->mip = cm->mip_array[cm->mi_idx]; cm->prev_mip = cm->mip_array[cm->prev_mi_idx]; - cm->mi_grid_base = cm->mi_grid_base_array[cm->mi_idx]; - cm->prev_mi_grid_base = cm->mi_grid_base_array[cm->prev_mi_idx]; return 0; } @@ -90,14 +77,10 @@ static void free_mi(VP9_COMMON *cm) { for (i = 0; i < 2; ++i) { vpx_free(cm->mip_array[i]); cm->mip_array[i] = NULL; - vpx_free(cm->mi_grid_base_array[i]); - cm->mi_grid_base_array[i] = NULL; } cm->mip = NULL; cm->prev_mip = NULL; - cm->mi_grid_base = NULL; - cm->prev_mi_grid_base = NULL; } void vp9_free_ref_frame_buffers(VP9_COMMON *cm) { @@ -224,12 +207,8 @@ void vp9_swap_mi_and_prev_mi(VP9_COMMON *cm) { // Current mip will be the prev_mip for the next frame. cm->mip = cm->mip_array[cm->mi_idx]; cm->prev_mip = cm->mip_array[cm->prev_mi_idx]; - cm->mi_grid_base = cm->mi_grid_base_array[cm->mi_idx]; - cm->prev_mi_grid_base = cm->mi_grid_base_array[cm->prev_mi_idx]; // Update the upper left visible macroblock ptrs. cm->mi = cm->mip + cm->mi_stride + 1; cm->prev_mi = cm->prev_mip + cm->mi_stride + 1; - cm->mi_grid_visible = cm->mi_grid_base + cm->mi_stride + 1; - cm->prev_mi_grid_visible = cm->prev_mi_grid_base + cm->mi_stride + 1; } |