summaryrefslogtreecommitdiff
path: root/vp9/common/vp9_alloccommon.c
diff options
context:
space:
mode:
authorJohn Koleszar <jkoleszar@google.com>2013-05-21 17:29:51 -0700
committerGerrit Code Review <gerrit@gerrit.golo.chromium.org>2013-05-21 17:29:51 -0700
commitddf13be8ef7a9ab4c3b151b68de56da5ed9a069a (patch)
tree3dd0fdba23c7f693bf2f90073860cd9c4e732fc0 /vp9/common/vp9_alloccommon.c
parent1f7d810a72a290f3c52e518a72e130d42e69f3e1 (diff)
parent679e4abdd5f733ab544689ce210b42d37e7ce164 (diff)
downloadlibvpx-ddf13be8ef7a9ab4c3b151b68de56da5ed9a069a.tar
libvpx-ddf13be8ef7a9ab4c3b151b68de56da5ed9a069a.tar.gz
libvpx-ddf13be8ef7a9ab4c3b151b68de56da5ed9a069a.tar.bz2
libvpx-ddf13be8ef7a9ab4c3b151b68de56da5ed9a069a.zip
Merge "Initial version of alpha channel support" into experimental
Diffstat (limited to 'vp9/common/vp9_alloccommon.c')
-rw-r--r--vp9/common/vp9_alloccommon.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/vp9/common/vp9_alloccommon.c b/vp9/common/vp9_alloccommon.c
index d149f31b4..73f26f6b8 100644
--- a/vp9/common/vp9_alloccommon.c
+++ b/vp9/common/vp9_alloccommon.c
@@ -144,15 +144,19 @@ int vp9_alloc_frame_buffers(VP9_COMMON *oci, int width, int height) {
// FIXME(jkoleszar): allocate subsampled arrays for U/V once subsampling
// information is exposed at this level
mi_cols = mi_cols_aligned_to_sb(oci);
+# if CONFIG_ALPHA
+ // TODO(jkoleszar): Why is this * 2?
+ oci->above_context[0] = vpx_calloc(sizeof(ENTROPY_CONTEXT) * 8 * mi_cols, 1);
+#else
oci->above_context[0] = vpx_calloc(sizeof(ENTROPY_CONTEXT) * 6 * mi_cols, 1);
+#endif
if (!oci->above_context[0]) {
vp9_free_frame_buffers(oci);
return 1;
}
- oci->above_context[1] =
- oci->above_context[0] + sizeof(ENTROPY_CONTEXT) * 2 * mi_cols;
- oci->above_context[2] =
- oci->above_context[1] + sizeof(ENTROPY_CONTEXT) * 2 * mi_cols;
+ for (i = 1; i < MAX_MB_PLANE; i++)
+ oci->above_context[i] =
+ oci->above_context[0] + i * sizeof(ENTROPY_CONTEXT) * 2 * mi_cols;
oci->above_seg_context =
vpx_calloc(sizeof(PARTITION_CONTEXT) * mi_cols, 1);