summaryrefslogtreecommitdiff
path: root/vp9/encoder/vp9_onyx_if.c
diff options
context:
space:
mode:
authorJingning Han <jingning@google.com>2013-06-06 15:33:57 -0700
committerJingning Han <jingning@google.com>2013-06-07 14:19:40 -0700
commit78b8190cc71a7d4110aafde39e49a24cdb8168ea (patch)
treebdcc07ebab341511f8e0f6f6dcb5beb07d09ed2f /vp9/encoder/vp9_onyx_if.c
parent6462afe0889215041099e064954f0c52df929b11 (diff)
downloadlibvpx-78b8190cc71a7d4110aafde39e49a24cdb8168ea.tar
libvpx-78b8190cc71a7d4110aafde39e49a24cdb8168ea.tar.gz
libvpx-78b8190cc71a7d4110aafde39e49a24cdb8168ea.tar.bz2
libvpx-78b8190cc71a7d4110aafde39e49a24cdb8168ea.zip
Handle partition type coding of boundary blocks
The partition types of blocks sitting on the frame boundary are constrained by the block size and the position of each sub-block relative to the frame. Hence we use truncated probability models to handle the coding of such information. 100 frames run: yt 0.138% Change-Id: I85d9b45665c15280069c0234ea6f778af586d87d
Diffstat (limited to 'vp9/encoder/vp9_onyx_if.c')
-rw-r--r--vp9/encoder/vp9_onyx_if.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/vp9/encoder/vp9_onyx_if.c b/vp9/encoder/vp9_onyx_if.c
index 65efb548c..6afc59b74 100644
--- a/vp9/encoder/vp9_onyx_if.c
+++ b/vp9/encoder/vp9_onyx_if.c
@@ -815,7 +815,7 @@ static int alloc_partition_data(VP9_COMP *cpi) {
vpx_free(cpi->mb.pip);
cpi->mb.pip = vpx_calloc((cpi->common.mode_info_stride) *
- (cpi->common.mi_rows + 1),
+ (cpi->common.mi_rows + 64 / MI_SIZE),
sizeof(PARTITION_INFO));
if (!cpi->mb.pip)
return 1;
@@ -3385,11 +3385,11 @@ static void encode_frame_to_data_rate(VP9_COMP *cpi,
if (cm->show_frame) {
vpx_memcpy(cm->prev_mip, cm->mip,
- cm->mode_info_stride * (cm->mi_rows + 1) *
+ cm->mode_info_stride * (cm->mi_rows + 64 / MI_SIZE) *
sizeof(MODE_INFO));
} else {
vpx_memset(cm->prev_mip, 0,
- cm->mode_info_stride * (cm->mi_rows + 1) *
+ cm->mode_info_stride * (cm->mi_rows + 64 / MI_SIZE) *
sizeof(MODE_INFO));
}
// restore prev_mi