diff options
author | Dmitry Kovalev <dkovalev@google.com> | 2013-04-30 12:00:35 -0700 |
---|---|---|
committer | Gerrit Code Review <gerrit@gerrit.golo.chromium.org> | 2013-04-30 12:00:35 -0700 |
commit | 347ad7fff0459dc8b9dfc9613e66d594c44b57b0 (patch) | |
tree | 8e0cb9a9d712dbdf2d79e10bd0874d8110d8a454 /vp9/common/vp9_alloccommon.c | |
parent | be9cf215a3960ce46b10c1be4e467367f0b18a9a (diff) | |
parent | 15b5e465f266c9d651a2d37a2759959d57887cf3 (diff) | |
download | libvpx-347ad7fff0459dc8b9dfc9613e66d594c44b57b0.tar libvpx-347ad7fff0459dc8b9dfc9613e66d594c44b57b0.tar.gz libvpx-347ad7fff0459dc8b9dfc9613e66d594c44b57b0.tar.bz2 libvpx-347ad7fff0459dc8b9dfc9613e66d594c44b57b0.zip |
Merge "Adding vp9_update_frame_size function." into experimental
Diffstat (limited to 'vp9/common/vp9_alloccommon.c')
-rw-r--r-- | vp9/common/vp9_alloccommon.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/vp9/common/vp9_alloccommon.c b/vp9/common/vp9_alloccommon.c index a80276705..8179a6915 100644 --- a/vp9/common/vp9_alloccommon.c +++ b/vp9/common/vp9_alloccommon.c @@ -223,3 +223,28 @@ void vp9_initialize_common() { vp9_entropy_mode_init(); vp9_entropy_mv_init(); } + + +void vp9_update_frame_size(VP9_COMMON *cm) { + const int aligned_width = multiple16(cm->width); + const int aligned_height = multiple16(cm->height); + + cm->mb_rows = aligned_height >> 4; + cm->mb_cols = aligned_width >> 4; + + cm->mi_rows = aligned_height >> LOG2_MI_SIZE; + cm->mi_cols = aligned_width >> LOG2_MI_SIZE; + + cm->MBs = cm->mb_rows * cm->mb_cols; + cm->mode_info_stride = cm->mi_cols + 1; + cm->mi = cm->mip + cm->mode_info_stride + 1; + cm->prev_mi = cm->prev_mip + cm->mode_info_stride + 1; + + memset(cm->mip, 0, + cm->mode_info_stride * (cm->mi_rows + 1) * sizeof(MODE_INFO)); + vp9_update_mode_info_border(cm, cm->mip); + vp9_update_mode_info_in_image(cm, cm->mi); + + vp9_update_mode_info_border(cm, cm->prev_mip); + vp9_update_mode_info_in_image(cm, cm->prev_mi); +} |