Commit graph

2836 commits

Author SHA1 Message Date
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
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
a45e73ed02 encoder: fix invalid free of raw buffers am: 3e73f0d562 am: 39fd5ebf08 am: af5bd177be
Original change: 14392080

Change-Id: I569fb5085ea41e113deab307d7bbe0825e460664
2021-05-07 04:10:06 +00:00
Neelkamal Semwal
af5bd177be encoder: fix invalid free of raw buffers am: 3e73f0d562 am: 39fd5ebf08
Original change: 14392080

Change-Id: I4c62fc5ba6538c598bf5e391c3cfe515f92869bb
2021-05-07 03:36:51 +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
4e4dc6be01 avcenc: Add bitstream overflow check during emulation prevention am: 10910bf910 am: 51373e847b am: 08e74b410b
Original change: 13932334

Change-Id: I4877c869578404d15754ab1923a273d848592443
2021-03-31 18:27:29 +00:00
Neelkamal Semwal
08e74b410b avcenc: Add bitstream overflow check during emulation prevention am: 10910bf910 am: 51373e847b
Original change: 13932334

Change-Id: I5e70babd452137048665c8181eb7aaa59a9229e3
2021-03-31 17:59:49 +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
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
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
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
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
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
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
873bac42ec decoder: Move initialization of dbp_mgr entries to init_decoder() am: 01da7b5a52 am: 41fcd228ae am: cce42ea920 am: 6c9873af88
am: 662efee177

Change-Id: I14c0ab90853acfae799d88c288b3e28bfa734336
2019-11-05 16:58: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
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
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
Isha Kulkarni
c693cc9fad Merge "Decoder: Add error check for expected_poc in ih264d_decode_pic_order_cnt" into qt-dev
am: 6db97fcc8d

Change-Id: I3b6cbf44cc70645356be2b8869cf57ed32c7a445
2019-05-30 10:41:41 -07: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
1ffc4072ef [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
am: 75cd59e45b

Change-Id: I3fc2480bebd777aee2d4e7efe0a05dbad35c299f
2019-05-29 14:38:35 -07: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
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
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
TreeHugger Robot
26bcb6b37b Merge "libavcenc: Fix B frame incomplete subgop issue" into qt-dev 2019-05-11 00:45:45 +00:00
Thomala Srinivas
5c3b992b6f libavcenc: Fix B frame incomplete subgop issue
The encoder doesn't return remaining frames if last subgop is
incomplete. This problem is solved by swapping last NULL P frame
(as subgop is incomplete last P frame will be NULL) with the
last valid (non- NULL) B frame. Complete subgop swapping is not done.

Also update MAX_NUM_BFRAMES to 8 and added a separate macro to
define maximum number of pictures in input queue

Bug: 132063959
Test: run cts -m CtsMediaTestCases \
 -t android.media.cts.VideoEncoderTest
Change-Id: I9625c5f5f64ec60032c44dad54f735991921d6dd
2019-05-10 15:06:15 -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