Merge "Fix allocation of context buffers on frame resize"

This commit is contained in:
Yaowu Xu 2014-07-25 08:49:39 -07:00 committed by Gerrit Code Review
commit b43b4fe3a2

View File

@ -627,9 +627,13 @@ static void resize_context_buffers(VP9_COMMON *cm, int width, int height) {
"Width and height beyond allowed size.");
#endif
if (cm->width != width || cm->height != height) {
const int aligned_width = ALIGN_POWER_OF_TWO(width, MI_SIZE_LOG2);
const int aligned_height = ALIGN_POWER_OF_TWO(height, MI_SIZE_LOG2);
// Change in frame size (assumption: color format does not change).
if (cm->width == 0 || cm->height == 0 ||
width * height > cm->width * cm->height) {
aligned_width > cm->width ||
aligned_width * aligned_height > cm->width * cm->height) {
if (vp9_alloc_context_buffers(cm, width, height))
vpx_internal_error(&cm->error, VPX_CODEC_MEM_ERROR,
"Failed to allocate frame buffers");