Fix the frame size alignments

Change I59c996161053e313c873381c5bf6f8c36488483f aligned the number
of luma samples to 64byte boundaries when calculating and creating
the buffers. Unfortunately, it doesn't change all instances of that
calculation, leading to mismatches between creation/allocation/destruction.

Fixes android.media.cts.DecoderTest#testEOSBehaviorHEVC and
android.media.cts.DecoderTest#testCodecEarlyEOSHEVC

Bug: 24686670
Bug: 25070493
Bug: 25995793
Bug: 26217939
Bug: 26239053

Change-Id: I5b9dd682e08cfb03d2bc54829c4908976251dee7
This commit is contained in:
Ricardo Cerqueira 2015-12-15 23:16:20 +00:00 • committed by Marco Nelissen
parent b9f7c2c45c
commit 50ad42cf93

View file

@ -551,8 +551,8 @@ IHEVCD_ERROR_T ihevcd_pic_buf_mgr_add_bufs(codec_t *ps_codec)
/* Initialize MV Bank buffer manager */
ps_sps = ps_codec->s_parse.ps_sps;
pic_size = ps_sps->i2_pic_width_in_luma_samples *
ps_sps->i2_pic_height_in_luma_samples;
pic_size = ALIGN64(ps_sps->i2_pic_width_in_luma_samples) *
ALIGN64(ps_sps->i2_pic_height_in_luma_samples);
/* Compute the number of MB Bank buffers needed */
@ -673,8 +673,8 @@ IHEVCD_ERROR_T ihevcd_mv_buf_mgr_add_bufs(codec_t *ps_codec)
/* Compute the number of MB Bank buffers needed */
level = ps_codec->i4_init_level;
max_dpb_size = ihevcd_get_dpb_size(level,
ps_sps->i2_pic_width_in_luma_samples *
ps_sps->i2_pic_height_in_luma_samples);
ALIGN64(ps_sps->i2_pic_width_in_luma_samples) *
ALIGN64(ps_sps->i2_pic_height_in_luma_samples));
/* Allocate one extra MV Bank to handle current frame
* In case of asynchronous parsing and processing, number of buffers should increase here