[external/libhevc] 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 (cherry picked from commit 50ad42cf932173dc438e26eda5bc4606b09cbcd8)
This commit is contained in:
8
external/libhevc/decoder/ihevcd_utils.c
vendored
8
external/libhevc/decoder/ihevcd_utils.c
vendored
@ -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
|
||||
|
||||
Reference in New Issue
Block a user