diff options
author | Naveen Kumar Ponnusamy <naveenkumar.p@ittiam.com> | 2014-10-28 11:23:59 +0530 |
---|---|---|
committer | Rachad Alao <rachad@google.com> | 2015-07-31 01:59:55 +0000 |
commit | 221aaccb7a9b501ce16ccc1fd7f7d44a8f73cd6e (patch) | |
tree | 72631015a9d26ab94dcb1c4a31d12eafd66a4103 /decoder/ihevcd_decode.c | |
parent | b0ddcd25beb4a5b8a33ed322b73e006938fb0b47 (diff) | |
download | android_external_libhevc-221aaccb7a9b501ce16ccc1fd7f7d44a8f73cd6e.tar.gz android_external_libhevc-221aaccb7a9b501ce16ccc1fd7f7d44a8f73cd6e.tar.bz2 android_external_libhevc-221aaccb7a9b501ce16ccc1fd7f7d44a8f73cd6e.zip |
Few bug fixes in loop filter
Removed few unused functions
Fixed an issue in 420P output in shared mdoe
Few bug fixes in handling loop filter corner cases in multi-tile multi-slice clips
Renamed few elements in mv_buf_t for consistency
Bug: 22860270
Change-Id: I8d179b9ad3c7ee3ad27972ee02ea2658fd2c3c25
Diffstat (limited to 'decoder/ihevcd_decode.c')
-rw-r--r-- | decoder/ihevcd_decode.c | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/decoder/ihevcd_decode.c b/decoder/ihevcd_decode.c index 0afdd31..94de640 100644 --- a/decoder/ihevcd_decode.c +++ b/decoder/ihevcd_decode.c @@ -76,7 +76,7 @@ #define NUM_FRAMES_LIMIT_ENABLED 0 #if NUM_FRAMES_LIMIT_ENABLED -#define NUM_FRAMES_LIMIT 3600 +#define NUM_FRAMES_LIMIT 10000 #else #define NUM_FRAMES_LIMIT 0x7FFFFFFF #endif @@ -183,16 +183,16 @@ static void ihevcd_fill_outargs(codec_t *ps_codec, ps_dec_op->u4_error_code = ihevcd_map_error((IHEVCD_ERROR_T)ps_codec->i4_error_code); ps_dec_op->u4_num_bytes_consumed = ps_dec_ip->u4_num_Bytes - ps_codec->i4_bytes_remaining; - if(ps_codec->i4_sps_done) - { - ps_dec_op->u4_pic_wd = ps_codec->i4_disp_wd; - ps_dec_op->u4_pic_ht = ps_codec->i4_disp_ht; - } - else if(ps_codec->i4_error_code == IHEVCD_UNSUPPORTED_DIMENSIONS) + if(ps_codec->i4_error_code == IHEVCD_UNSUPPORTED_DIMENSIONS) { ps_dec_op->u4_pic_wd = ps_codec->i4_new_max_wd; ps_dec_op->u4_pic_ht = ps_codec->i4_new_max_ht; } + else if(ps_codec->i4_sps_done) + { + ps_dec_op->u4_pic_wd = ps_codec->i4_disp_wd; + ps_dec_op->u4_pic_ht = ps_codec->i4_disp_ht; + } else { ps_dec_op->u4_pic_wd = 0; @@ -347,7 +347,11 @@ WORD32 ihevcd_decode(iv_obj_t *ps_codec_obj, void *pv_api_ip, void *pv_api_op) ps_dec_ip = (ivd_video_decode_ip_t *)pv_api_ip; ps_dec_op = (ivd_video_decode_op_t *)pv_api_op; - memset(ps_dec_op, 0, sizeof(ivd_video_decode_op_t)); + { + UWORD32 u4_size = ps_dec_op->u4_size; + memset(ps_dec_op, 0, sizeof(ivd_video_decode_op_t)); + ps_dec_op->u4_size = u4_size; //Restore size field + } if(ps_codec->i4_init_done != 1) { ps_dec_op->u4_error_code |= 1 << IVD_FATALERROR; @@ -603,7 +607,7 @@ WORD32 ihevcd_decode(iv_obj_t *ps_codec_obj, void *pv_api_ip, void *pv_api_op) continue; } - if(((IHEVCD_FAIL == ret) && (ps_codec->i4_error_code == IVD_RES_CHANGED)) || + if((IVD_RES_CHANGED == ret) || (IHEVCD_UNSUPPORTED_DIMENSIONS == ret)) { break; |