Commit graph

2707 commits

Author SHA1 Message Date
Ray Essick
6ddeb05426 Merge "Decoder: Update check for increment u2_cur_slice_num" into oc-mr1-dev am: 6b338befbc
Original change: 14460944

Change-Id: I300cccfd44f15600ae486e39d12fcd9af87bc556
2021-06-08 04:16:50 +00:00
Ray Essick
6b338befbc Merge "Decoder: Update check for increment u2_cur_slice_num" into oc-mr1-dev 2021-06-08 04:02:13 +00:00
Neelkamal Semwal
39fd5ebf08 encoder: fix invalid free of raw buffers am: 3e73f0d562
Original change: 14392080

Change-Id: Ib72ea7316073631d5c2bf0dd350bcb0f3e487386
2021-05-07 03:09:39 +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
Neelkamal Semwal
3e73f0d562 encoder: fix invalid free of raw buffers
Return current input buffer as buffer to be freed in case
of errors that are seen before picking up the input buffer
to be from the input queue.
Once a buffer is picked up from the queue, that is returned
as the buffer to be freed.

There is no need to return a buffer from ps_proc context

Bug: 180643802

Test: poc in the bug description
Test: atest CtsMediaV2TestCases:CodecEncoderTest
Test: atest VtsHalMediaC2V1_0TargetVideoEncTest

Change-Id: I1671ca1e82f522004d1f070df89b256b856f75b8
2021-04-30 21:57:10 +00:00
Neelkamal Semwal
51373e847b avcenc: Add bitstream overflow check during emulation prevention am: 10910bf910
Original change: 13932334

Change-Id: I53fa66c08c448484d5c0b5457a6e6a726d453095
2021-03-31 17:08:38 +00:00
Neelkamal Semwal
10910bf910 avcenc: Add bitstream overflow check during emulation prevention
Bug: 176533109

Test: poc in the bug description

Change-Id: Ia83383f9b65cbde8d7a50a1af8a054936daa4d78
(cherry picked from commit b59de5a25f)
2021-03-20 15:36:08 +00:00
Harish Mahendrakar
4fb26568a9 decoder: Update check for first mb in slice am: 7e06940dce
Original change: 13171299

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I0c8a04ddea6fc1a08fcde807f7c78c8810a5ce81
2020-12-09 01:02:10 +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
Automerger Merge Worker
ed2b83d989 Merge "decoder: Fix minimum poc calculation check while adding to display" into oc-dev am: 9d7a036d7b am: cebf26ab4d am: f64194a96f
Change-Id: I7bd7ba5f8adb66af75ef92257576bef227507f15
2020-01-09 04:21:17 +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
Automerger Merge Worker
cebf26ab4d Merge "decoder: Fix minimum poc calculation check while adding to display" into oc-dev am: 9d7a036d7b
Change-Id: I8d4b3415dfe5d2148f3211de258798de214559d0
2020-01-09 03:49:11 +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
6c9873af88 decoder: Move initialization of dbp_mgr entries to init_decoder() am: 01da7b5a52 am: 41fcd228ae
am: cce42ea920

Change-Id: Ic12eb8cd9a900cae262b9f2e8a28925b33e4a018
2019-11-05 16:43:04 -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
Harish Mahendrakar
41fcd228ae decoder: Move initialization of dbp_mgr entries to init_decoder()
am: 01da7b5a52

Change-Id: I93871c49b268b3ead96db8e44eb268c70f124379
2019-11-05 16:25:58 -08: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
Rakesh Kumar
d406f08816 [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

Change-Id: I17d333502eaf3084c0c08dd0fd2a4494c3251ab4
2019-05-29 14:23:26 -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
Rakesh Kumar
9460fbd521 [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

Change-Id: I86f63de8c4eb3c534aeafbbb592c738f8805188c
2019-05-29 14:11:21 -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)
1e6ef7fee5 [automerger] Decoder: Delete node from st if lt and st point to same am: f312a1d305 am: f82a1f8d7f am: ae2c8cfdc1 am: 8332d0bfa2
Change-Id: Ie1677fa6ad378564e164729d80b7d1edf4bd214c
2019-05-08 18:45:11 +00:00
Android Build Merger (Role)
8332d0bfa2 [automerger] Decoder: Delete node from st if lt and st point to same am: f312a1d305 am: f82a1f8d7f am: ae2c8cfdc1
Change-Id: Iebc6317ca7ae7f6417cfd1e1cff39110e6fe82db
2019-05-08 18:45:09 +00:00
Android Build Merger (Role)
ae2c8cfdc1 [automerger] Decoder: Delete node from st if lt and st point to same am: f312a1d305 am: f82a1f8d7f
Change-Id: Ibca538dbd7a3d262fa87ca47d3f951a9b6c1e9f4
2019-05-08 18:45:07 +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
Harish Mahendrakar
48900d4e51 [automerger] decoder: Signal IVD_RES_CHANGED error for change in crop params am: 442a01bf37 am: 1d7d7f9bf6 am: acacf063c2 am: f33c02ed73 am: c09d3f99ab am: 145ae0d049 am: 4402b34a4f
am: 7a6b55da22

Change-Id: I8b702d7198da5bf9dfa1ab19979e248fd2f1b790
2018-11-27 12:15:45 -08:00
Harish Mahendrakar
7a6b55da22 [automerger] decoder: Signal IVD_RES_CHANGED error for change in crop params am: 442a01bf37 am: 1d7d7f9bf6 am: acacf063c2 am: f33c02ed73 am: c09d3f99ab am: 145ae0d049
am: 4402b34a4f

Change-Id: I16ce7cfc21dcb0ccf10b4ce8109a61e272765120
2018-11-27 12:10:36 -08:00
Harish Mahendrakar
4402b34a4f [automerger] decoder: Signal IVD_RES_CHANGED error for change in crop params am: 442a01bf37 am: 1d7d7f9bf6 am: acacf063c2 am: f33c02ed73 am: c09d3f99ab
am: 145ae0d049

Change-Id: I83f9555eed25009c0e8067383e938f1caf822fc3
2018-11-27 12:07:34 -08:00
Android Build Merger (Role)
145ae0d049 [automerger] decoder: Signal IVD_RES_CHANGED error for change in crop params am: 442a01bf37 am: 1d7d7f9bf6 am: acacf063c2 am: f33c02ed73 am: c09d3f99ab
Change-Id: I0dda0584bd0bf112fade0827b0460a82f8c14437
2018-11-10 18:16:37 +00:00
Android Build Merger (Role)
c09d3f99ab [automerger] decoder: Signal IVD_RES_CHANGED error for change in crop params am: 442a01bf37 am: 1d7d7f9bf6 am: acacf063c2 am: f33c02ed73
Change-Id: I8bbf6662b1fef6cc3de87422a9809b14b394a2d2
2018-11-10 18:16:36 +00:00
Android Build Merger (Role)
f33c02ed73 [automerger] decoder: Signal IVD_RES_CHANGED error for change in crop params am: 442a01bf37 am: 1d7d7f9bf6 am: acacf063c2
Change-Id: I2fd29d8974797d8b7d864d73a1c59d37b40aa0d9
2018-11-10 18:16:35 +00:00
Android Build Merger (Role)
acacf063c2 [automerger] decoder: Signal IVD_RES_CHANGED error for change in crop params am: 442a01bf37 am: 1d7d7f9bf6
Change-Id: Ifc70d8423a211de3c488f75a289c1566d836242e
2018-11-10 18:16:34 +00:00
Android Build Merger (Role)
1d7d7f9bf6 [automerger] decoder: Signal IVD_RES_CHANGED error for change in crop params am: 442a01bf37
Change-Id: I05d6d693a8e8d18cd3cf74d95271efd8a339e06f
2018-11-10 18:16:32 +00:00
Harish Mahendrakar
442a01bf37 decoder: Signal IVD_RES_CHANGED error for change in crop params
IVD_RES_CHANGED was not signaled when crop parameters changed, i.e.
display dimensions changed without change in decode dimensions.

In such cases, if output buffer was allocated as per the current
dimension being decoded, without IVD_RES_CHANGED signalled, there can be
an OOB write if the new buffer is smaller than the frame being returned
as output

Bug: 118399205
Test: vendor
Change-Id: Ia750a99cda08a3254a6f8ea8b55d07e655b34d05
2018-11-10 10:16:06 -08:00
Hamsalekha S
e910b1686a [automerger] Bug fix for flush without valid frames am: 10c1176f1b am: 54fe392964 am: 6261ed297b am: 051d4fb2dc am: 1863b7cc03 am: e6d4971fdb am: 309f184ed5 am: 99015cf2e6 skipped: eb9952c5f1 am: 8788730e4b am: 7ff5530ec9
am: 5703c42e4c

Change-Id: I2bba948053d9eff2ed3752849414ffec36ac3996
2018-05-25 14:15:22 -07:00
Hamsalekha S
5703c42e4c [automerger] Bug fix for flush without valid frames am: 10c1176f1b am: 54fe392964 am: 6261ed297b am: 051d4fb2dc am: 1863b7cc03 am: e6d4971fdb am: 309f184ed5 am: 99015cf2e6 skipped: eb9952c5f1 am: 8788730e4b
am: 7ff5530ec9

Change-Id: I4993adfc92850633be431d922d1ff822a1d66ac2
2018-05-25 14:10:19 -07:00
Hamsalekha S
7ff5530ec9 [automerger] Bug fix for flush without valid frames am: 10c1176f1b am: 54fe392964 am: 6261ed297b am: 051d4fb2dc am: 1863b7cc03 am: e6d4971fdb am: 309f184ed5 am: 99015cf2e6 skipped: eb9952c5f1
am: 8788730e4b

Change-Id: I57570577b07891092037e205db524574b36fdf8a
2018-05-25 14:05:48 -07:00
Android Build Merger (Role)
8788730e4b [automerger] Bug fix for flush without valid frames am: 10c1176f1b am: 54fe392964 am: 6261ed297b am: 051d4fb2dc am: 1863b7cc03 am: e6d4971fdb am: 309f184ed5 am: 99015cf2e6 skipped: eb9952c5f1
Change-Id: I40ed642f6851cb04bcf578922f1f4cf4dce81bc5
2018-05-21 23:45:34 +00:00
Android Build Merger (Role)
eb9952c5f1 [automerger] Bug fix for flush without valid frames am: 10c1176f1b am: 54fe392964 am: 6261ed297b am: 051d4fb2dc am: 1863b7cc03 am: e6d4971fdb am: 309f184ed5 am: 99015cf2e6
Change-Id: I1fbf4c51536d8b759988b7869e3762854d832aa0
2018-05-21 23:36:29 +00:00
Android Build Merger (Role)
99015cf2e6 [automerger] Bug fix for flush without valid frames am: 10c1176f1b am: 54fe392964 am: 6261ed297b am: 051d4fb2dc am: 1863b7cc03 am: e6d4971fdb am: 309f184ed5
Change-Id: I1a46096968e5ba105ab3c8d8adf8891b097575bb
2018-05-21 23:36:28 +00:00
Android Build Merger (Role)
309f184ed5 [automerger] Bug fix for flush without valid frames am: 10c1176f1b am: 54fe392964 am: 6261ed297b am: 051d4fb2dc am: 1863b7cc03 am: e6d4971fdb
Change-Id: I24d6ff4f49063c54f1326e0280caea4ed636c5d9
2018-05-21 23:36:27 +00:00
Android Build Merger (Role)
e6d4971fdb [automerger] Bug fix for flush without valid frames am: 10c1176f1b am: 54fe392964 am: 6261ed297b am: 051d4fb2dc am: 1863b7cc03
Change-Id: Ibd65acb3016732e53b25cb4aee2ec58076f6340f
2018-05-21 23:36:25 +00:00
Android Build Merger (Role)
1863b7cc03 [automerger] Bug fix for flush without valid frames am: 10c1176f1b am: 54fe392964 am: 6261ed297b am: 051d4fb2dc
Change-Id: I836923c5188a8b7090f8d0afa76de02f501df147
2018-05-21 23:36:24 +00:00
Android Build Merger (Role)
051d4fb2dc [automerger] Bug fix for flush without valid frames am: 10c1176f1b am: 54fe392964 am: 6261ed297b
Change-Id: I6dc330eae917f98dc8be65b123c8f77aa4b75ddd
2018-05-21 23:36:23 +00:00
Android Build Merger (Role)
6261ed297b [automerger] Bug fix for flush without valid frames am: 10c1176f1b am: 54fe392964
Change-Id: Ie3423ba1be63c8a26a05d0c1c7ca1c0281ed95ca
2018-05-21 23:36:22 +00:00
Android Build Merger (Role)
54fe392964 [automerger] Bug fix for flush without valid frames am: 10c1176f1b
Change-Id: Ie26a4e3f41ab437f9d41bddb0a1166274fc3a261
2018-05-21 23:36:19 +00:00
Hamsalekha S
10c1176f1b Bug fix for flush without valid frames
We now return fail and get out of flush mode to accept bitstream in the next call.

Bug: 35585952
Bug: 63521984
Test: test case does not hang
Change-Id: Id22cc98d4a47714475a67918990a181a805c4c9f
2018-05-21 15:36:09 -07:00
Akshata Jadhav
83edef6949 [automerger] Encoder: Return error for odd resolution am: 9fa58d4db3 am: f56e0c0ed3 am: db53adff11 am: 538e4ed787 am: c8fc4c0206 am: 2e1c177836 am: 353851c307 am: 207d68137f am: 0bc2eef47a am: 1f7f247c05 am: f4ad409786
am: f01457548f

Change-Id: If11d359f1068e414ca4a6fd26efc42ead1d122d0
2018-04-14 16:19:58 -07:00