diff options
author | Harish Mahendrakar <harish.mahendrakar@ittiam.com> | 2016-11-18 14:23:34 +0530 |
---|---|---|
committer | gitbuildkicker <android-build@google.com> | 2016-12-14 16:52:27 -0800 |
commit | d6e122d574a85cc162e1bb6e4ce114fcb7a4662b (patch) | |
tree | 36b2e9569aa14bd888d7ffa7df63473734569193 | |
parent | 2ebdc029b2be5ffda51eff8fd82f0224cdc8804d (diff) | |
download | libhevc-android-7.1.1_r14.tar.gz |
Fixed handling invalid chroma tu size for error clipsandroid-7.1.1_r15android-7.1.1_r14
Limit func_idx to valid range to ensure invalid functions are not
called when wrong TU size is signalled for chroma due to error in
parsing
Bug: 32915871
Change-Id: I662212eb2e9b8994e7e85780e667f14df73b5905
(cherry picked from commit a76773ab749bd57f3467c79aa60c16c1f2c87380)
-rw-r--r-- | decoder/ihevcd_iquant_itrans_recon_ctb.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/decoder/ihevcd_iquant_itrans_recon_ctb.c b/decoder/ihevcd_iquant_itrans_recon_ctb.c index 88ace44..6009d09 100644 --- a/decoder/ihevcd_iquant_itrans_recon_ctb.c +++ b/decoder/ihevcd_iquant_itrans_recon_ctb.c @@ -886,6 +886,11 @@ WORD32 ihevcd_iquant_itrans_recon_ctb(process_ctxt_t *ps_proc) src_strd = trans_size; func_idx = 1 + 4 + log2_uv_trans_size_minus_2; /* DST func + Y funcs + cur func index*/ + + /* Handle error cases where 64x64 TU is signalled which results in 32x32 chroma. + * By limiting func_idx to 7, max of 16x16 chroma is called */ + func_idx = MIN(func_idx, 7); + e_trans_type = (TRANSFORM_TYPE)(log2_uv_trans_size_minus_2 + 1); /* QP for U */ i1_chroma_pic_qp_offset = ps_pps->i1_pic_cb_qp_offset; |