Commit graph

565 commits

Author SHA1 Message Date
Ray Essick
2c7af2702b Merge "decoder: fix integer overflow when setting i4_prev_max_display_seq" 2020-07-29 21:29:42 +00:00
Shivaansh Agrawal
358b09305a decoder: fix integer overflow when setting i4_prev_max_display_seq
reset ps_dec->i4_prev_max_display_seq if out of int32 range
to avoid overflow

Bug: 143791121
Bug: 143791161
Test: POC in bug description
Change-Id: I3d8df556b003a7c739716bb33262ab3a6ca7b2d9
2020-07-29 04:39:31 +00:00
Harish Mahendrakar
a0036e742b decoder: Allow stride to be smaller than decode width
When cropping is enabled, application can request a stride that
is larger than display width but smaller than decode width.

Bug: 160397536
Test: stagefright -sS <clip in bug>

Change-Id: I453b2de0474f3ae4d021084729c33d52fc1090dc
2020-07-09 17:59:47 +00:00
Aasaipriya Chandran
083b9fc086 Decoder: Fix Null dereference
Add checks to validate long term index and
max long term index parsed in MMCO commands.

Bug: 140358770
Bug: 140680655
Bug: 148772548
Bug: 152148135
Bug: 152434373
Bug: 152550528

Test: poc in bug
Change-Id: I9052ce7721491fdd5fb4807ec33e399cee8c70cf
2020-06-12 17:21:26 +05:30
TreeHugger Robot
66556bc9a3 Merge "decoder: Fix lt_ref increment in ih264d_fix_error_in_dpb" into qt-qpr1-dev am: 280902e61f
Change-Id: I3a0e050d5e7f17f8233dd7203d0a382c86a70971
2020-03-20 02:39:03 +00:00
Harish Mahendrakar
c0215b1b3d decoder: Fix in detecting dangling fields am: 6dd54b9e18
Change-Id: I61076f4526feeb891a5f866d6f965211e9e65edc
2020-03-20 02:38:56 +00:00
TreeHugger Robot
280902e61f Merge "decoder: Fix lt_ref increment in ih264d_fix_error_in_dpb" into qt-qpr1-dev 2020-03-20 02:24:36 +00:00
Harish Mahendrakar
f80afe5b98 decoder: Fix lt_ref increment in ih264d_fix_error_in_dpb
When removing common nodes from short term list if it present in long
term reference list, number of long term buffers was wrongly
incremented. Only decrement of short term buffer count is needed in
such a case.

Bug: 140561484
Bug: 140566606
Bug: 140699853
Bug: 144980954
Bug: 145859214

Test: poc in bug
Change-Id: Iebf7ee7ed65e7b2097a899577982806b03fc6e5d
2020-02-11 16:29:24 -08:00
Harish Mahendrakar
6dd54b9e18 decoder: Fix in detecting dangling fields
When decoder is expecting to decode a field, ensure current slice
being decoded is a field and frame number matches with previous slice's
frame number.

Bug: 144687080
Test: poc in bug
Change-Id: I89d9d7b6fc26797de0420ecb0ca7e66b066aa908
2020-02-11 16:03:29 -08:00
Automerger Merge Worker
826a705863 Merge "decoder: Fix minimum poc calculation check while adding to display" into oc-dev am: 9d7a036d7b am: cebf26ab4d am: f64194a96f am: ed2b83d989 am: 4b7a562681 am: 8c2ee3ea8b
Change-Id: Idf10b1ae11ad8f376d0b3f2587bebeeece6126f1
2020-01-09 05:04:07 +00:00
Automerger Merge Worker
8c2ee3ea8b Merge "decoder: Fix minimum poc calculation check while adding to display" into oc-dev am: 9d7a036d7b am: cebf26ab4d am: f64194a96f am: ed2b83d989 am: 4b7a562681
Change-Id: I0966eed6f66382e3fa7ccc19558734cc202ed0f3
2020-01-09 04:51:33 +00:00
Automerger Merge Worker
4b7a562681 Merge "decoder: Fix minimum poc calculation check while adding to display" into oc-dev am: 9d7a036d7b am: cebf26ab4d am: f64194a96f am: ed2b83d989
Change-Id: I7feff45df303f49d95b4d5b07019929dead2810c
2020-01-09 04:38:27 +00:00
Automerger Merge Worker
f64194a96f Merge "decoder: Fix minimum poc calculation check while adding to display" into oc-dev am: 9d7a036d7b am: cebf26ab4d
Change-Id: Ib8872212d43d41ae25f28992b6c02ab15cb72b26
2020-01-09 04:06:39 +00:00
TreeHugger Robot
9d7a036d7b Merge "decoder: Fix minimum poc calculation check while adding to display" into oc-dev 2020-01-09 03:32:14 +00:00
Harish Mahendrakar
ffcf2a87d6 decoder: Fix minimum poc calculation check while adding to display
While adding the decoded buffer to display queue, allow buffer with
poc set to 0x7FFFFFFF

Bug: 145364230
Test: poc in bug
Change-Id: I2a15f73b8422cfa4fd3360bc21c0cea4542a3375
2020-01-02 10:22:38 -08:00
Harish Mahendrakar
942e7f8896 decoder: Move initialization of dbp_mgr entries to init_decoder() am: 01da7b5a52 am: 41fcd228ae am: cce42ea920 am: 6c9873af88 am: 662efee177 am: 873bac42ec
am: 474797af3c

Change-Id: I315a135615fdace5bc573e9f585133a991b30c77
2019-11-05 17:11:11 -08:00
Harish Mahendrakar
474797af3c decoder: Move initialization of dbp_mgr entries to init_decoder() am: 01da7b5a52 am: 41fcd228ae am: cce42ea920 am: 6c9873af88 am: 662efee177
am: 873bac42ec

Change-Id: I6f5d7d5486926100a815ffcddd134cf998d35c79
2019-11-05 17:05:10 -08:00
Harish Mahendrakar
662efee177 decoder: Move initialization of dbp_mgr entries to init_decoder() am: 01da7b5a52 am: 41fcd228ae am: cce42ea920
am: 6c9873af88

Change-Id: Ie95d6b810f751847eed7bc2c17c120a891b88fef
2019-11-05 16:52:06 -08:00
Harish Mahendrakar
cce42ea920 decoder: Move initialization of dbp_mgr entries to init_decoder() am: 01da7b5a52
am: 41fcd228ae

Change-Id: Id8fa44c3401f7ac1d2a540fa35cf0f4346da2c42
2019-11-05 16:31:59 -08:00
Chamarthi Kishore
7684b467b4 Merge changes I015ebe03,Idc0b0db5
am: 00fa4b6490

Change-Id: I71e761af5fd1551643418dd7979491c2a6b7a7ee
2019-10-31 18:59:50 -07:00
Harish Mahendrakar
01da7b5a52 decoder: Move initialization of dbp_mgr entries to init_decoder()
Earlier these were only initialized during static buffer allocations.
Initializing them in init_decoder() will ensure that these get
initialized to default values during reset() as well. Without this,
in some error cases, there is a possibility of heap-use-after free,
when resolution changes and these pointers point to memory that is freed

Bug: 142602711
Test: poc in bug
Change-Id: Ie39fee0eca56bf32cdc558099bf167d05eb89620
2019-10-29 19:52:49 -07:00
Chamarthi Kishore
ad2eaf8c7d libavc: Add MDCV, CLL, CCV and AVE SEI messages
This commit add support for encoding and decoding of MDCV, CLL, CCV and
AVE SEI messages

Test: avcenc -c enc.cfg, avcdec -c dec.cfg
Bug: 141931623

Change-Id: Idc0b0db5291482ae2bc19cdff65669c32374b02a
2019-10-24 17:20:00 +05:30
Harish Mahendrakar
59b642608e Fix integer overflows in computing poc and pic numbers am: 1d672d2bea am: f2157c2dc1
am: 684b6687dc

Change-Id: Iec8807289080cb3c9c6081ba1ff59001983773ba
2019-09-30 16:43:37 -07:00
Harish Mahendrakar
1d672d2bea Fix integer overflows in computing poc and pic numbers
Test: poc in bug
Bug: 135303936
Bug: 136568141

Change-Id: Ie426c678b60f2d078d0b39e73a44d42d931d7fe3
2019-09-30 18:25:07 +00:00
Harish Mahendrakar
d6ed5b9a0c Merge "Fix integer overflows while intializing reference lists" am: 47d5e6bb93 am: f374a3c5d1
am: 31d4186111

Change-Id: I1b755de6009bfb55163bd8c13c65b17541198f33
2019-09-28 10:41:18 -07:00
Harish Mahendrakar
ef807fde69 Fix integer overflows while intializing reference lists
Instead of looping through all poc/pic numbers with an increment
of 1, loop through only valid poc/pic numbers after sorting them.
This prevents integer overflows when poc/pic number is INT32_MIN or
INT32_MAX

This also fixes a timeout issue seen when integer sanitizers are
not enabled

Bug: 135303936
Bug: 136568141
Bug: 141276890
Test: poc in bug

Change-Id: I5db80dd8e811cbb1a9ecd00363fac997551ccaf5
2019-09-26 15:21:02 -07:00
Rakesh Kumar
eecfff5a7a Decoder: Add support for returning reorder_depth
am: fe5a6ada3e

Change-Id: Ia677a6ed414fa77ec1f67106261723bef6ea7f97
2019-09-12 11:11:24 -07:00
Rakesh Kumar
fe5a6ada3e Decoder: Add support for returning reorder_depth
Added support for returning reorder_depth for frames in decode order.

Bug: 138627015
Test: Verify reorder_depth returned for few clips

Change-Id: I9b68a9544d7d011cf93dfccd308c754b8e16e39e
2019-09-11 22:29:39 +00:00
Dan Willemsen
90ca457b95 Stop using __DATE__/__TIME__ on all builds
am: d8383dc45e

Change-Id: I58f071c0270bb7d080639f902ff772095ab2c139
2019-08-28 19:32:02 -07:00
Dan Willemsen
d8383dc45e Stop using __DATE__/__TIME__ on all builds
We're beginning to use remote caches with Android builds, so I'm turning
on -Werror=date-time so that host builds are also reproducible.

Test: treehugger
Test: mmma external/libavc
Change-Id: I581f3abf528a7bb5df6ee9963f4d72e2b4bb8a6c
2019-08-27 19:47:33 -07:00
Xin Li
9f3122c427 DO NOT MERGE - Merge pie-platform-release (PPRL.190801.002) into master
Bug: 139369544
Change-Id: If2c60e9bc1ed74a5204f42efd04f069f781b7ecf
2019-08-13 16:36:35 -07:00
Rakesh Kumar
13de16c79e Decoder: Delete node from st if lt and st point to same
If lt_list and st_list point to same node then delete it from st.
If there is error while adding a node in bottom field of lt_list (top is
already added) then this node will be pointed by st_list also. So we need
to remove it from st_list

bug: 73552574
Test: poc before/after on Android N security branch
Change-Id: I95304c242c5854b18c5c7220d114ce6215760124
(cherry picked from commit f312a1d305)
2019-06-12 09:54:49 +00:00
TreeHugger Robot
6db97fcc8d Merge "Decoder: Add error check for expected_poc in ih264d_decode_pic_order_cnt" into qt-dev 2019-05-30 17:31:28 +00:00
Rakesh Kumar
75cd59e45b [automerger] Decoder: Delete node from st if lt and st point to same am: f312a1d305 am: f82a1f8d7f am: ae2c8cfdc1 am: 8332d0bfa2 am: 1e6ef7fee5 am: b1734142ff am: 9460fbd521 am: 224bcf4592
am: d406f08816

Change-Id: I1351851c15384868d9ab579857e4fc46076f5942
2019-05-29 14:31:32 -07:00
Rakesh Kumar
224bcf4592 [automerger] Decoder: Delete node from st if lt and st point to same am: f312a1d305 am: f82a1f8d7f am: ae2c8cfdc1 am: 8332d0bfa2 am: 1e6ef7fee5 am: b1734142ff
am: 9460fbd521

Change-Id: I0c53bc30225153ff03d44670f6967a05e161c654
2019-05-29 14:16:23 -07:00
Isha Kulkarni
89daff526a Decoder: Add error check for expected_poc in ih264d_decode_pic_order_cnt
Bug: 131625739
Test: Validate with poc in bug

Change-Id: I3e1c132e28ad35541a0b9c4632b1f43611b90dea
2019-05-29 13:46:13 -07:00
Android Build Merger (Role)
b1734142ff [automerger] Decoder: Delete node from st if lt and st point to same am: f312a1d305 am: f82a1f8d7f am: ae2c8cfdc1 am: 8332d0bfa2 am: 1e6ef7fee5
Change-Id: Id6d3411d949ae069369d7bef1c50f904cf9c97dc
2019-05-08 18:45:13 +00:00
Android Build Merger (Role)
f82a1f8d7f [automerger] Decoder: Delete node from st if lt and st point to same am: f312a1d305
Change-Id: I90a0c3fca5d7542301994711448d7c79fe98e704
2019-05-08 18:45:05 +00:00
Rakesh Kumar
f312a1d305 Decoder: Delete node from st if lt and st point to same
If lt_list and st_list point to same node then delete it from st.
If there is error while adding a node in bottom field of lt_list (top is
already added) then this node will be pointed by st_list also. So we need
to remove it from st_list

bug: 73552574
Test: poc before/after on Android N security branch
Change-Id: I95304c242c5854b18c5c7220d114ce6215760124
2019-05-08 11:44:40 -07:00
TreeHugger Robot
6cb07e106a Merge "decoder: Remove skip picture support" into qt-dev 2019-05-04 21:16:35 +00:00
TreeHugger Robot
a09be99800 Merge "Decoder: Add missing error checks for parsing sps or pps" into qt-dev 2019-05-04 19:37:30 +00:00
Harish Mahendrakar
4f95fc0b9c decoder: Remove skip picture support
SKIP_P and SKIP_PB support was experimental and is not used
in libstagefright

Bug: 130541597
Test: poc in bug
Change-Id: If13b435e80d13d57de2fee0aa07ea7e6abca481b
2019-05-01 13:18:27 -07:00
Ritu Baldwa
b3427a4c49 Decoder: Add missing error checks for parsing sps or pps
Return error to application if valid sps or pps has not been decoded.
Also add check to prevent parsing of pps, if valid sps is not present.

Test: Tested a few clips with missing sps/pps
Bug: 129746168
Bug: 130575087

Change-Id: I1a6409d1cffc66c1b910d2102ab10a94e0227107
2019-05-01 13:01:23 -07:00
Harish Mahendrakar
54160a6d3e decoder: Treat unsupported feature errors as fatal errors
This will ensure clips with supported bitdepth or unsupport color
formats are not attempted to be decoded till end of the sequence.

Bug: 130578045
Test: adb shell stagefright -s -S /sdcard/crowd422_h264.mp4
Test: Ensure decoder doesn't attemp decoding all frames

Change-Id: I118ef2141f77986f6ec65c91dfeaa7ef17646c43
2019-04-30 17:14:01 -07:00
Isha Kulkarni
34769a5b08 Decoder: Fix Integer Sanitizer Issues
Bug: 118445723
Test: vendor
Change-Id: I719898beb93ca5d20d9822f685ac6d4920252cdf
2019-03-28 14:40:40 -07:00
Isha Kulkarni
43dc60e81e Decoder: Fix Integer Sanitizer Issues in ih264d_parse_cavlc
Bug:118445723
Test: vendor
Change-Id: I71b3c0f548b57c51c80de0bd4c640f56b2f31a55
2019-03-28 14:40:34 -07:00
Isha Shrikant Kulkarni
96f7193ba0 Decoder: Fix integer sanitizer issues in ih264d_parse_cabac
Bug: 118445723
Test: vendor
Change-Id: Icf98785fa474bd9c774ba4282b9c3d73360a69ea
2019-03-28 14:40:27 -07:00
Isha Shrikant Kulkarni
fc7139a53e Decoder: Fix Integer Sanitizer issues in ih264d_process_bslice
Bug: 118445723
Test: vendor
Change-Id: Ib5d8f72be016330beafa6e7996976eeff1b23c39
2019-03-28 14:40:17 -07:00
Xin Li
1c16be3720 DO NOT MERGE - Merge pi-dev@5234907 into stage-aosp-master
Bug: 120848293
Change-Id: Ie3a560c6683a7b355ad06d0f015cb536f327c8a4
2019-02-21 09:24:55 -08:00
Ray Essick
fbc772b17b Merge "Decoder: Add null check for scaling matrix." 2019-02-12 21:54:59 +00:00