Commit graph

585 commits

Author SHA1 Message Date
Harish Mahendrakar
d2fa8b5c63 Move slice increments after completing header parsing am: dc110841d6 am: 9ab629f2b2 am: 2a1fd9a360
Original change: 16407185

Change-Id: Ibc61ef92e48f8b6ba0587c9b4609b9195729ed5f
2021-12-08 23:30:20 +00:00
Harish Mahendrakar
2a1fd9a360 Move slice increments after completing header parsing am: dc110841d6 am: 9ab629f2b2
Original change: 16407185

Change-Id: I9cd1d17bd3f60e717c9c728e6819befff5bf2eae
2021-12-08 23:14:56 +00:00
Harish Mahendrakar
9ab629f2b2 Move slice increments after completing header parsing am: dc110841d6
Original change: 16407185

Change-Id: I64bc47c5e09ef577c7a9a7686ddd3e5e6c63936a
2021-12-08 23:00:15 +00:00
Harish Mahendrakar
dc110841d6 Move slice increments after completing header parsing
Slice increments are now done after completing header parse.
Earlier this was done before validating mmco related parameters
and calculating poc. In case there were errors that were detected
at this stage, slice increments were incorrect.

Bug: 199536974
Bug: 199733300
Bug: 205702093
Bug: oss-fuzz#38387
Bug: oss-fuzz#38482
Bug: oss-fuzz#40851
Test: ossfuzz generated poc in bug

Change-Id: I8569e9369e4ab6f6c69c81b937f111c299b7a134
(cherry picked from commit cd0385dc07)
2021-12-06 21:55:35 +00:00
Ray Essick
aa568c1bb1 Merge "Decoder: Update check for increment u2_cur_slice_num" into oc-mr1-dev am: 6b338befbc am: 6ddeb05426 am: a537f15bc9 am: 83c84781df
Original change: 14460944

Change-Id: I8450e2c4b4a096449bcca429bdc125f3a3be3969
2021-06-08 05:20:40 +00:00
Ray Essick
83c84781df Merge "Decoder: Update check for increment u2_cur_slice_num" into oc-mr1-dev am: 6b338befbc am: 6ddeb05426 am: a537f15bc9
Original change: 14460944

Change-Id: Iafcffc3094782c99dfe832f4bcfe91324e37a7fc
2021-06-08 04:57:54 +00:00
Ray Essick
a537f15bc9 Merge "Decoder: Update check for increment u2_cur_slice_num" into oc-mr1-dev am: 6b338befbc am: 6ddeb05426
Original change: 14460944

Change-Id: Id3844c9c5eb2c20ad2db75981bb19ff58151be47
2021-06-08 04:41:36 +00:00
Rakesh Kumar
a88e0683a4 Decoder: Update check for increment u2_cur_slice_num
Increment u2_cur_slice_num only if current slice had atleast
one MB of memory left.

Test: clusterfuzz generated poc in bug
Bug: b/182152757
Bug: b/179938345
Bug: b/185112718

Change-Id: Ic5eb07e961bccb7fde954bcfd791fd879804e335
2021-05-06 19:51:10 -07:00
Harish Mahendrakar
640eda280b decoder: Update check for first mb in slice am: 7e06940dce am: 4fb26568a9 am: 2bf6790f63 am: 5f4f6e2ecf
Original change: 13171299

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I255ad3b9709afceb4cc8b31298bf3a9071ef4b3a
2020-12-09 02:21:19 +00:00
Harish Mahendrakar
5f4f6e2ecf decoder: Update check for first mb in slice am: 7e06940dce am: 4fb26568a9 am: 2bf6790f63
Original change: 13171299

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I99b30e4b2ac5f7b0fdeac9adbce15e92d2b36c8f
2020-12-09 01:48:37 +00:00
Harish Mahendrakar
2bf6790f63 decoder: Update check for first mb in slice am: 7e06940dce am: 4fb26568a9
Original change: 13171299

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I062c47998e23df0fe4d9c18ad9622aa55eb7ec96
2020-12-09 01:33:06 +00:00
Harish Mahendrakar
7e06940dce decoder: Update check for first mb in slice
first_mb_in_slice shouldn't be >= mbs in the picture.

Test: poc in bugs
Bug: b/174238784
Bug: b/174507022
Bug: oss-fuzz:27856
Bug: oss-fuzz:28039
Change-Id: Id3a41c8c2ddf814910fc2d5dd4f57bdd84d28fec
2020-12-04 16:09:10 -08:00
Harish Mahendrakar
e0ad0016f0 Revert "decoder: set u4_frame_decoded to true only after both fields are decoded"
This reverts commit f76370c671.

Reason: This breaks interlaced clips which are sent one field at a time

C2 plugin for avc decoder is now updated to appropriately handle both
types of interlaced content, i.e. sent as one field per one input buffer
and sent as two fields per one input

Bug: 135146280
Bug: 152087140
Test: poc in bugs
Test: atest android.media.cts.DecoderTest

Change-Id: Ic79d13a4bd93573767c86ed31264e8780da8d9a5
2020-04-06 15:33:53 -07:00
TreeHugger Robot
7286f5f021 Merge "decoder: Fix lt_ref increment in ih264d_fix_error_in_dpb" into qt-qpr1-dev am: 280902e61f
Change-Id: I3f9e5f1019b7759e83a2cc7f2848766f52bcdfed
2020-03-20 02:38:53 +00:00
Harish Mahendrakar
7e44189621 decoder: Fix in detecting dangling fields am: 6dd54b9e18
Change-Id: Ia546016131ba894365e90089a6644383c76bf325
2020-03-20 02:38:43 +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
2f6f64e1c1 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 am: 826a705863
Change-Id: Ife6f6d0a5231076a9fec4cbf9a449f1fd67abc08
2020-01-09 05:21:04 +00: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
e40cbbfc51 decoder: Move initialization of dbp_mgr entries to init_decoder() am: 01da7b5a52 am: 41fcd228ae am: cce42ea920 am: 6c9873af88 am: 662efee177 am: 873bac42ec am: 474797af3c
am: 942e7f8896

Change-Id: I3fb8acb951bc8043546ab1c8956b664427b16295
2019-11-05 17:20:44 -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
68dce05ea6 Merge changes I015ebe03,Idc0b0db5 am: 00fa4b6490 am: 7684b467b4
am: d49fffd5f4

Change-Id: I0da6b5b695adb949b28ca9d29f806cd11625d2eb
2019-10-31 19:11:43 -07: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
41ea72e48f Fix integer overflows in computing poc and pic numbers am: 1d672d2bea am: f2157c2dc1 am: 684b6687dc
am: 59b642608e

Change-Id: I94747dc0574d94ebbde3b071efb267eeb53799c3
2019-09-30 16:50:38 -07:00
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
da990db40a Merge "Fix integer overflows while intializing reference lists" am: 47d5e6bb93 am: f374a3c5d1 am: 31d4186111
am: d6ed5b9a0c

Change-Id: I52d3e462e9cb180f943d003a12401d70e448dd42
2019-09-28 10:47:06 -07: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
273ca63a27 Decoder: Add support for returning reorder_depth am: fe5a6ada3e
am: eecfff5a7a

Change-Id: I6bd85bb64158294a61a4d094942dadcbc240844e
2019-09-12 11:20:27 -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
Ray Essick
21b313a048 Merge "Added error check while parsing scaling_list" 2019-08-30 17:37:27 +00:00
Dan Willemsen
7e9cf837a5 Stop using __DATE__/__TIME__ on all builds am: d8383dc45e am: 90ca457b95 am: 7c0202abcb am: 368349eeae
am: 2dcff9fd23

Change-Id: Ic02fa909ceb3e34d0826727e0d393efd2f9b7786
2019-08-28 20:08:06 -07: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
Harish Mahendrakar
7befa935af Added error check while parsing scaling_list
Test: poc in bug
Bug: 134405507
Change-Id: Ic3289a4fb1652dd35be5e2b59dbc41f2c888786f
2019-07-22 13:55:21 -07:00
Isha Kulkarni
2f8dcdd41a Decoder: Avoid overlapping memcpy while initializing ref lists
Bug: 117608404
Test: poc with valgrind before/after

Change-Id: I73f2c5302376af11a8f922ceb2e0b1c9cf883f8b
2019-07-16 15:28:02 -07:00