Commit graph

48 commits

Author SHA1 Message Date
Harish Mahendrakar
89e719dc77 Fix heap buffer overflow while searching for valid PPS
am: 5204651228

Change-Id: I350a07a784f1e8570babeb670b5338ad98feb477
2017-05-17 10:04:11 +00:00
Harish Mahendrakar
5204651228 Fix heap buffer overflow while searching for valid PPS
Bug: 37094889
Test: Tested POC on ASAN build
Change-Id: Id4e52cd10a4d5eac015efe4b752162dc39cc30b8
2017-05-16 16:48:29 -07:00
Naveen Kumar P
f7635dd278 Merge "Check for buffer overflow in pps/slice header parsing" into lmp-dev
am: 1853d3871a

Change-Id: Iba174494476450fbbf283e16c3f15d37783d9544
2017-05-16 22:24:02 +00:00
Harish Mahendrakar
c1c11822d6 Merge "memset SPS to zero" into lmp-dev
am: 31e21c5134

Change-Id: Iddca06711b6801b6b7fa45a8e2201dcc0c8c3974
2017-05-16 22:23:52 +00:00
TreeHugger Robot
1853d3871a Merge "Check for buffer overflow in pps/slice header parsing" into lmp-dev 2017-05-16 22:20:33 +00:00
TreeHugger Robot
31e21c5134 Merge "memset SPS to zero" into lmp-dev 2017-05-16 22:18:29 +00:00
Naveen Kumar P
d61d5e5f6a Check for buffer overflow in pps/slice header parsing
Bug: 36215950
Bug: 36215953
Bug: 36216719
Change-Id: Ibdc05e1d5aa21d060d7c683fd9af4bed8537053f
2017-05-15 15:45:50 -07:00
Harish Mahendrakar
2e0e75aede memset SPS to zero
SPS structure is memset to zero in parse_sps()
Bug: 33966031
Bug: 37458993

Change-Id: I7d4c04d2d25d7e9c8f581bd470260fc4394a564b
2017-05-12 16:21:21 -07:00
Marco Nelissen
e4ca1d697d Merge "Fixed out of bound reads in stack variables" into lmp-dev
am: 4629c5cebf

Change-Id: Ic58f75e9cea0b77b0ec905667b5d14f11a977acb
2017-05-12 20:48:11 +00:00
Marco Nelissen
4629c5cebf Merge "Fixed out of bound reads in stack variables" into lmp-dev 2017-05-12 20:45:19 +00:00
Wonsik Kim
4490398c88 Merge "DO NOT MERGE Check for cpb cnt in hrd parsing" into lmp-dev 2017-05-10 23:48:22 +00:00
Harish Mahendrakar
c9834edd64 Fixed out of bound reads in stack variables
Out of bound reads in the following variables are fixed

scaling_mat_offset in ihevcd_iquant_itrans_recon_ctb()
ai1_offset_y, ai1_offset_cb and ai1_offset_cr in ihevcd_sao_shift_ctb()

These values were read but not used

Bug: 34819017
Change-Id: Ic00e713b2c61d6793e1e097f852f0d1b3f913712
2017-05-09 14:28:47 -07:00
Hangyu Kuang
a78650de6d Merge "Correct Tiles rows and cols check" into lmp-dev
am: 7e3858b313

Change-Id: Icd1f4987a8ab0997ef6e6f77e401d7a83b29e60b
2017-04-12 20:10:01 +00:00
Hangyu Kuang
7e3858b313 Merge "Correct Tiles rows and cols check" into lmp-dev 2017-04-12 20:00:25 +00:00
Naveen Kumar Ponnusamy
1ebd5e1d81 Merge "Check only allocated mv bufs for releasing from reference" into lmp-dev
am: 397d2f6c42

Change-Id: I91a8038300092b3113907c5a69cd9c83a77dda6c
2017-04-12 19:59:30 +00:00
TreeHugger Robot
397d2f6c42 Merge "Check only allocated mv bufs for releasing from reference" into lmp-dev 2017-04-12 19:49:50 +00:00
Naveen Kumar P
07ef4e7138 Correct Tiles rows and cols check
Bug: 36231493
Bug: 34064500
Change-Id: Ib17b2c68360685c5a2c019e1497612a130f9f76a
2017-04-11 14:12:29 -07:00
Ray Essick
88133ef0a3 Merge "Set current slice ctb x and y to fill prev incomplete slice" into lmp-dev
am: bfcdbd6a5b

Change-Id: Id1b2bb473c7b9a9bbd2228a5cb56f243e0b99776
2017-04-10 22:55:39 +00:00
Ray Essick
bfcdbd6a5b Merge "Set current slice ctb x and y to fill prev incomplete slice" into lmp-dev 2017-04-10 22:46:39 +00:00
Harish Mahendrakar
eb8657808f Fixed an out of bound read in accessing inverse scan table
am: fed1a3d8d8

Change-Id: I822440a1ca11f6d99e941acd4034074df2d220dd
2017-04-10 20:27:29 +00:00
Naveen Kumar P
f9aea65f69 DO NOT MERGE Check for cpb cnt in hrd parsing
Bug: 34896431

The arrays in hrd are of size MAX_CPB_CNT. If cpb cnt is more
than MAX_CPB_CNT, more data is parsed and the subsequent buffer
is corrupted.

Change-Id: I74c01b8c7142b67a358eb5e36b160a7fbf2b69e4
2017-04-10 10:20:11 -07:00
Naveen Kumar P
830858436b Set current slice ctb x and y to fill prev incomplete slice
If previous slice is not completed, update the current slice
ctb_x and ctb_y so that while filling the previous slice,
the parse slice code can break properly.

Bug: 32322258
Test: boot, ran POC supplied with bug
Change-Id: Ie9090694514a018268851560a3f056194ff6fc91
2017-04-07 20:00:54 +00:00
Harish Mahendrakar
fed1a3d8d8 Fixed an out of bound read in accessing inverse scan table
Bug: 34819017
Change-Id: Ib25db1da92eee390a3847df06c0c0675ebcfb1a4
2017-03-22 10:06:35 -07:00
Naveen Kumar Ponnusamy
23bfe3e06d Check only allocated mv bufs for releasing from reference
When checking mv bufs for releasing from reference, unallocated
mv bufs were also checked. This issue was fixed by restricting
the loop count to allocated number of mv bufs.

Bug: 34896906
Bug: 34819017

Change-Id: If832f590b301f414d4cd5206414efc61a70c17cb
2017-03-15 18:13:38 +00:00
Marco Nelissen
d93f4fc0f4 Merge "Handle error return from ref list in slice hdr parsing" into lmp-dev
am: fd5656fe76

Change-Id: Ibb21d3c950af705da0ed1897ec124a7188d6bfb7
2017-03-13 23:59:29 +00:00
Marco Nelissen
fd5656fe76 Merge "Handle error return from ref list in slice hdr parsing" into lmp-dev 2017-03-13 23:53:33 +00:00
Naveen Kumar Ponnusamy
eef834a4d0 Merge "Return error from cabac init if offset is greater than range" into lmp-dev
am: 09ff5c6298

Change-Id: I16f27f1643a3556273a3c5729301596b9b12e452
2017-03-13 22:40:10 +00:00
Naveen Kumar Ponnusamy
766f97657f Handle error return from ref list in slice hdr parsing
The error returned by ref_list function was not handled by the
caller parse_slice_header.

Bug: 34672748
Change-Id: I55f6cb0e651746e77f7ff3375115894ec3964203
2017-03-13 15:37:19 -07:00
TreeHugger Robot
09ff5c6298 Merge "Return error from cabac init if offset is greater than range" into lmp-dev 2017-03-13 22:31:34 +00:00
Harish Mahendrakar
2f206ceb72 Return error if SPS parsing reads more bytes than the nal length
am: 232bbe1908

Change-Id: I4ab8199f06050125d48e4c335fe83dbab2885dbb
2017-03-11 00:13:01 +00:00
Naveen Kumar Ponnusamy
b92314c860 Return error from cabac init if offset is greater than range
When the offset was greater than range, the bitstream was read
more than the valid range in leaf-level cabac parsing modules.
Error check was added to cabac init to fix this issue. Additionally
end of slice and slice error were signalled to suppress further
parsing of current slice.

Bug: 34897036
Change-Id: I1263f1d1219684ffa6e952c76e5a08e9a933c9d2
(cherry picked from commit 3b175da88a1807d19cdd248b74bce60e57f05c6a)
2017-03-10 14:56:09 -08:00
Harish Mahendrakar
232bbe1908 Return error if SPS parsing reads more bytes than the nal length
Bug: 35039946

Change-Id: Ia97fa8711f313d0029d2b13e6d150d5e46b2bb99
(cherry picked from commit a6c58e18a49a1ea4929f8345b3c59f900d5813f5)
2017-03-03 11:22:24 -08:00
Marco Nelissen
10f2b105f5 Merge "Fix in handling wrong cu_qp_delta" into lmp-dev
am: 98f9e26d24

Change-Id: I75f4e069f89bff32ce17e7500d308e3fc9421c0c
2017-02-14 22:54:32 +00:00
Marco Nelissen
98f9e26d24 Merge "Fix in handling wrong cu_qp_delta" into lmp-dev 2017-02-14 22:47:49 +00:00
Harish Mahendrakar
cb6fa6a0d4 Handle invalid num_reorder_pics & max_dec_pic_buffering in SPS
am: 1ab5ce7e42

Change-Id: I85672c5c53a450c4aa4a62577eefe0350adfefd3
2017-02-14 21:36:55 +00:00
Harish Mahendrakar
1ab5ce7e42 Handle invalid num_reorder_pics & max_dec_pic_buffering in SPS
Bug: 33864300
Change-Id: I920e45c3420a1a41a366ad45bd4186c5f6af6d6b
2017-02-13 20:21:01 +00:00
Harish Mahendrakar
01ca88bb6c Fix in handling wrong cu_qp_delta
cu_qp_delta is now checked for the range as specified in the spec
Bug: 33966031

Change-Id: I00420bf68081af92e9f2be9af7ce58d0683094ca
2017-02-13 20:18:51 +00:00
Ricardo Cerqueira
4917993a7e Fix the frame size alignments
am: 50ad42cf93

* commit '50ad42cf93':
  Fix the frame size alignments
2015-12-17 18:02:24 +00:00
Ricardo Cerqueira
50ad42cf93 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
2015-12-17 16:27:54 +00:00
Harish Mahendrakar
b9f7c2c45c DO NOT MERGE Added few memsets to avoid uninitialized reads for error clips
Also aligned few allocations to 4 byte boundary

Bug: 25070493
Bug: 24686670
Change-Id: I59c996161053e313c873381c5bf6f8c36488483f
2015-11-06 12:12:01 -08:00
Marco Nelissen
552578a757 Revert "Added few memsets to avoid uninitialized reads for error clips"
This reverts commit d71abc6924.

Change-Id: I24ea5da7d00f9cd52ce8f64a0a5bce47df67216e
2015-11-06 19:22:31 +00:00
Harish Mahendrakar
d71abc6924 Added few memsets to avoid uninitialized reads for error clips
Also aligned few allocations to 4 byte boundary

Bug: 25070493
Bug: 24686670

Change-Id: I430b18fce2fe2940f4fb0ff95e5eadc7fdd705d4
2015-10-27 08:18:04 -07:00
Harish Mahendrakar
e8bfec1fa4 Aligned ps_pic_pu to 4 bytes
stmia was resulting in SEGV_MAPERR when ps_pic_pu is not aligned to 4 bytes
Bugfix: 24686670, 21468583

Change-Id: I07672d4a790f73cf27964983350181e66edc4d57
2015-10-21 07:50:33 -07:00
Harish Mahendrakar
2b67e53265 Align pic_width_in_luma_samples and pic_width_in_luma_samples to 8
Spec mandates these to be multiples of min_cb_size.
Bug fix: 22278703

Change-Id: I17f0c2242519a9277598b8fb5b05717e1ce7469b
(cherry picked from commit dde3d8a3c7)
2015-08-14 23:48:15 +00:00
Naveen Kumar Ponnusamy
6c166a9e18 Source files clean up
Cleaned up source files for redundant and inactive #if directives
2014-07-12 15:09:24 -07:00
Naveen Kumar Ponnusamy
9cbd70a293 Reduced stack operations in arm64 assembly
Change-Id: Ia19a99001fef37334f18521dd8f8710907fe370d
2014-07-12 15:09:24 -07:00
Harish Mahendrakar
707042fda9 Few bug fixes and warnings removed
Added support for returning coded width and height along with display dimensions
Fixed few macros for mips
Removed signed comparison warnings
Removed few files that are not needed
Fixed an issue in handling more than 256 slices in a picture

Bug: 14571712
Change-Id: Ie485aaae3a13744bc9acff8aa699efbbc31f94f1
2014-06-06 06:42:02 -07:00
Harish Mahendrakar
0d8951cef4 Initial Version of HEVC decoder
Compliant to reference software HM11.0 onwards

Bug: 14571712
Change-Id: I8af25c1221cc6ab70440141c4d9b48c1ac69696a
2014-05-21 18:14:55 -07:00