Commit graph

154 commits

Author SHA1 Message Date
Harish Mahendrakar
bbd43b445b Decoder: Fix in returning incomplete frame error am: d1896deaf1 am: 3e29786590 am: 252ecb244e am: 0f5870d0ce am: 862e10b430 am: b8a9406113 am: 16cd53294c
am: d9655fc433

Change-Id: Ibd427351e4eee5451ce90cf50ccd87bd50fbce6e
2017-01-06 18:06:31 +00:00
Harish Mahendrakar
8d404d4e08 Decoder: Fix initialization of ps_next_dpb during reference list creation am: 54cbe1b29b am: a13436200c am: e057ae1738 am: 5fc3db621b am: 31e1ffeacb am: 53b01d5b00 am: d1dce9bafb
am: 5a2732bb3f

Change-Id: I8805f8e1fb95077c8cc63b9c3345618eab8c7887
2017-01-06 18:06:29 +00:00
Harish Mahendrakar
b8a9406113 Decoder: Fix in returning incomplete frame error am: d1896deaf1 am: 3e29786590 am: 252ecb244e am: 0f5870d0ce
am: 862e10b430

Change-Id: Iffb1a1cdd3f0e49552ef88cfccb8f49607706088
2017-01-06 17:55:00 +00:00
Harish Mahendrakar
53b01d5b00 Decoder: Fix initialization of ps_next_dpb during reference list creation am: 54cbe1b29b am: a13436200c am: e057ae1738 am: 5fc3db621b
am: 31e1ffeacb

Change-Id: I33a45c49e0c97a272af911c812c108c827c6a413
2017-01-06 17:54:59 +00:00
Harish Mahendrakar
862e10b430 Decoder: Fix in returning incomplete frame error am: d1896deaf1 am: 3e29786590 am: 252ecb244e
am: 0f5870d0ce

Change-Id: Id90926aceae1d9474bb594b2a054c0b6d2f79cab
2017-01-06 17:51:29 +00:00
Harish Mahendrakar
31e1ffeacb Decoder: Fix initialization of ps_next_dpb during reference list creation am: 54cbe1b29b am: a13436200c am: e057ae1738
am: 5fc3db621b

Change-Id: I76300b1ea0f555ffe64f4658f25bda4c320b4f6a
2017-01-06 17:51:28 +00:00
Harish Mahendrakar
3e29786590 Decoder: Fix in returning incomplete frame error
am: d1896deaf1

Change-Id: I81b68c6f7b30c3ba048967cd64426b204b8ee895
2017-01-06 17:40:58 +00:00
Harish Mahendrakar
a13436200c Decoder: Fix initialization of ps_next_dpb during reference list creation
am: 54cbe1b29b

Change-Id: I20cc2843ab762c35b8c6a35745d0a674f3f6ef8b
2017-01-06 17:40:57 +00:00
Harish Mahendrakar
d1896deaf1 Decoder: Fix in returning incomplete frame error
In case a slice start code is found and picture decode is not complete
and a non slice NAL is encountered, then mark the current pic as incomplete

Bug: 33250932
Bug: 33139050

Change-Id: I9db4446338b307310805dba90c60c8cbdeee0739
2016-12-28 12:35:25 -08:00
Harish Mahendrakar
54cbe1b29b Decoder: Fix initialization of ps_next_dpb during reference list creation
ps_dpb_mgr->ps_dpb_ht_head is a linked list with
ps_dpb_mgr->u1_num_lt_ref_bufs number of valid buffers.
So ps_next_dbp has to be initialized to ps_dpb_mgr->ps_dpb_ht_head
for each u1_lt_index loop iteration

Bug: 33387820
Change-Id: I2dfd962bad5640a829afc123adbd0709e563e621
2016-12-28 12:33:39 -08:00
Harish Mahendrakar
9080154549 Decoder: Fix in checking for valid profile flags am: d7eee555dc am: 637cb7f434 am: 3735b426ae am: 4b8b6ff6cb am: 5c225e8959 am: f30749947b am: 70221f5df2
am: 5d6b36a138

Change-Id: I1caad9f86047d960ba486c1e22689f2d9e4de500
2016-12-08 00:45:04 +00:00
Harish Mahendrakar
f30749947b Decoder: Fix in checking for valid profile flags am: d7eee555dc am: 637cb7f434 am: 3735b426ae am: 4b8b6ff6cb
am: 5c225e8959

Change-Id: I95cad16f41abab8c7c97e074df8eac238cc449f2
2016-12-08 00:33:33 +00:00
Harish Mahendrakar
5c225e8959 Decoder: Fix in checking for valid profile flags am: d7eee555dc am: 637cb7f434 am: 3735b426ae
am: 4b8b6ff6cb

Change-Id: I885af804897da15c8f83d65bb0da9345a0dee766
2016-12-08 00:29:33 +00:00
Harish Mahendrakar
637cb7f434 Decoder: Fix in checking for valid profile flags
am: d7eee555dc

Change-Id: I73b07d5ce0b248387d5f4b492caf63f02d372881
2016-12-08 00:16:31 +00:00
Harish Mahendrakar
d7eee555dc Decoder: Fix in checking for valid profile flags
Apart from Baseline, main and high profile, only extended profile
is supported provided, constraint_set0_flag or constraint_set1_flag are set to 1

Bug: 31999646
Change-Id: I3b62069efc49e222a7126fba0805fa9124aac8f2
2016-12-06 14:19:39 -08:00
Harish Mahendrakar
1de6014b2f Merge "Decoder: Remove unnecssary optimization while setting MV context" am: 72179bfbfa
am: 00d89ac381

Change-Id: I46c6c1f354f20a7d0125d4bc802d690d0d5de2c9
2016-11-29 00:01:11 +00:00
Ray Essick
6e8a07f9fe Merge "Decoder: Reset p_curr_ctxt->i1_ref_idx using memset" am: 8342601b9d
am: a1d9b4383b

Change-Id: I8a7070b1a387e5d5a30fd3ffe08b928530bdf41c
2016-11-29 00:00:58 +00:00
Ray Essick
8996810109 Merge "Decoder: Aligned pi1_left_pred_mode[8] in _DecStruct definition" am: 1b0408dacf
am: 4cd2564672

Change-Id: Ibca8f5318afd9536b76e33d080e5c73bbd33d743
2016-11-29 00:00:45 +00:00
Harish Mahendrakar
00d89ac381 Merge "Decoder: Remove unnecssary optimization while setting MV context"
am: 72179bfbfa

Change-Id: Id501d46e6ce5f709a6d0f8b76f054096b827b7e2
2016-11-28 23:57:05 +00:00
Ray Essick
a1d9b4383b Merge "Decoder: Reset p_curr_ctxt->i1_ref_idx using memset"
am: 8342601b9d

Change-Id: I2846d4293cb18f274037c0f3ac3824d10aff1e47
2016-11-28 23:56:55 +00:00
Ray Essick
4cd2564672 Merge "Decoder: Aligned pi1_left_pred_mode[8] in _DecStruct definition"
am: 1b0408dacf

Change-Id: I9fc43fce5adedbb1255642e0012ae6e9552549b2
2016-11-28 23:56:43 +00:00
Harish Mahendrakar
46848b21f5 Decoder: Remove unnecssary optimization while setting MV context
Few MV cabac contexts were being used as WORD16 pointers
but were not guaranteed to be aligned to 2 byte boundary.

Bug: 33073518
Test: Tested with -fsanitize=alignment enabled on avcdec

Change-Id: I294179d6ec37b0f1d9cbe093b1f9780f036a9cb8
2016-11-24 12:20:42 +05:30
Harish Mahendrakar
ef2f525bec Decoder: Reset p_curr_ctxt->i1_ref_idx using memset
Since p_curr_ctxt->i1_ref_idx is not guaranteed to be 4 byte aligned,
use memset instead of using it as an int pointer.
On platforms that do not support unaligned stores, this change is needed

Bug: 33073518
Test: Tested with -fsanitize=alignment enabled on avcdec

Change-Id: I5970454be3250f6f87eab383f3b6afbf5b56f201
2016-11-24 12:19:42 +05:30
Harish Mahendrakar
e98bd1f5a0 Decoder: Aligned pi1_left_pred_mode[8] in _DecStruct definition
This array is sometimes accessed as two WORD32 variables.
On platforms that do not support unaligned load/stores, this needs
to be aligned to 4 byte boundary.

Bug: 33073518
Test: Tested with -fsanitize=alignment enabled on avcdec

Change-Id: I470bc868dde7049be12bee06ee0ba0c4c4bd8566
2016-11-24 12:18:48 +05:30
Harish Mahendrakar
75d40672bd Decoder: Ignore dangling fields during flush am: 4b6344b281
am: b258b1bd56

Change-Id: I5aa03ad409e6f1b2c17764741e0fc32b4a166c53
2016-10-25 19:24:50 +00:00
Harish Mahendrakar
b258b1bd56 Decoder: Ignore dangling fields during flush
am: 4b6344b281

Change-Id: I8017e81b6d14cb507f297c54a95748455d6b5484
2016-10-25 19:20:19 +00:00
Harish Mahendrakar
4b6344b281 Decoder: Ignore dangling fields during flush
If decoder has decoded one field and is waiting for next field,
and flush is called, then ignore the current decoded field.

This is needed to ensure seek works in case of flush between field
decode calls

Bug: 32391809
Test: Tested manually by decoding clip in the above bug in Photos app

Change-Id: I72bb0385c216ebe262b346a56d3bc8fb97f90a7b
2016-10-25 11:47:19 +05:30
Harish Mahendrakar
93059ecf3c Decoder: Fixes in handling errors in Mbaff clips. am: 6676aeb419 am: fab0729908 am: 05bd0e8d4c am: 69b2803e55 am: dcb099e183 am: 80f3b06d90 am: a6aa08d1dc
am: f416648c29

Change-Id: Ic52a5b4acfe095179a89e71b44569d77b0806079
2016-10-19 00:28:13 +00:00
Harish Mahendrakar
80f3b06d90 Decoder: Fixes in handling errors in Mbaff clips. am: 6676aeb419 am: fab0729908 am: 05bd0e8d4c am: 69b2803e55
am: dcb099e183

Change-Id: I9d542a27d8d0410758485a6ca7799c9715bb0729
2016-10-19 00:05:30 +00:00
Harish Mahendrakar
30243167b0 Decoder: Ignore few dpb errors am: 026745ef04 am: 5d794693d5 am: 4483ecc64b am: 7e5239dd82
am: a3a7de7001

Change-Id: I8c3ae6a50d75574789e5540372b0bf7a3170438f
2016-10-19 00:05:11 +00:00
Harish Mahendrakar
dcb099e183 Decoder: Fixes in handling errors in Mbaff clips. am: 6676aeb419 am: fab0729908 am: 05bd0e8d4c
am: 69b2803e55

Change-Id: Ie26061f05f05cc1095401966bd6902d186fa1591
2016-10-18 23:58:44 +00:00
Harish Mahendrakar
a3a7de7001 Decoder: Ignore few dpb errors am: 026745ef04 am: 5d794693d5 am: 4483ecc64b
am: 7e5239dd82

Change-Id: I4cbbe4ecf9a16e92941409b26a1b23fa09d80fa1
2016-10-18 23:58:28 +00:00
Harish Mahendrakar
fab0729908 Decoder: Fixes in handling errors in Mbaff clips.
am: 6676aeb419

Change-Id: If83edf15d904c166661b3ab6065c5230269231dd
2016-10-18 23:36:38 +00:00
Harish Mahendrakar
5d794693d5 Decoder: Ignore few dpb errors
am: 026745ef04

Change-Id: Ibd9e7f2c7936fcd1f8bea8a84b99eb9780947feb
2016-10-18 23:36:27 +00:00
Marco Nelissen
23d5bc6405 Merge "Decoder: Fixes in handling errors in Mbaff clips." into mnc-dev 2016-10-18 23:33:12 +00:00
TreeHugger Robot
b4a6d2037b Merge "Decoder: Ignore few dpb errors" into mnc-dev 2016-10-18 23:25:25 +00:00
Harish Mahendrakar
6676aeb419 Decoder: Fixes in handling errors in Mbaff clips.
Fixes mb_x, mb_y and first_mb_in_slice for Mbaff error streams

Bug: 30481714

Change-Id: Ie99f3b57e48a620a4bc7aee88031955a2e1b6753
2016-10-18 12:19:18 -07:00
Harish Mahendrakar
026745ef04 Decoder: Ignore few dpb errors
Ignore dpb errors, where decoder fails to release a non-existing picture
from reference lists. This is needed to decode streams where few pictures
are missing.

Change-Id: I8ece68cb1fa22473029e16158cd86ce7a197027a
2016-10-18 12:19:06 -07:00
Harish Mahendrakar
fe243c2298 Decoder: Fixes for handling errors in multi-slice MB Aff streams am: bc71ad2d43 am: 02f663b3c2 am: ea085f8526 am: 19ab04056d
am: 670293535c

Change-Id: I16015eb69ae5dd257debbaea2de12966b559bb48
2016-09-22 22:00:31 +00:00
Harish Mahendrakar
6a5a01eb14 Decoder: Fixes for handling errors in multi-slice MB Aff streams am: bc71ad2d43 am: 02f663b3c2 am: ea085f8526 am: 19ab04056d
am: 670293535c

Change-Id: I3ec518c62575a1081ccc7d1ebc828f1091f297d5
2016-09-22 22:00:31 +00:00
Harish Mahendrakar
670293535c Decoder: Fixes for handling errors in multi-slice MB Aff streams am: bc71ad2d43 am: 02f663b3c2 am: ea085f8526
am: 19ab04056d

Change-Id: Ia8b75b824f8225143f52295460c5ec8285b6b443
2016-09-22 21:58:32 +00:00
Harish Mahendrakar
02f663b3c2 Decoder: Fixes for handling errors in multi-slice MB Aff streams
am: bc71ad2d43

Change-Id: Ibcbdbb3c4473b3199abff8d47444e59416589695
2016-09-22 18:19:55 +00:00
Harish Mahendrakar
bc71ad2d43 Decoder: Fixes for handling errors in multi-slice MB Aff streams
Initialize default reference buffer for erroneous interlaced clips
Pick slice_type from decode thread slice structure
Call start_of_pic only once

Bug: 30822755
Change-Id: I553c646446d99a626d62351aa1b385355191cdc3
2016-09-22 08:29:34 -07:00
Harish Mahendrakar
a2723f8647 Fix in the case of invalid SPS PPS am: c2e8ffe451 am: ff7ccdab0c am: 956ab4c476 am: 5c1f3eb993
am: 8b610a8350

Change-Id: I586ffd87cbb76040e18eed79b8b776dcd1567e5c
2016-09-21 20:49:00 +00:00
Harish Mahendrakar
86c5eddcf6 Fix in the case of invalid SPS PPS am: c2e8ffe451 am: ff7ccdab0c am: 956ab4c476 am: 5c1f3eb993
am: 8b610a8350

Change-Id: I610cbaeccbf36d7209264e46faa34b8c4d5df17e
2016-09-21 20:49:00 +00:00
Harish Mahendrakar
8b610a8350 Fix in the case of invalid SPS PPS am: c2e8ffe451 am: ff7ccdab0c am: 956ab4c476
am: 5c1f3eb993

Change-Id: Ic3fe94c0c5ab99f62a560c999dfb1d9815eab1d5
2016-09-21 20:46:29 +00:00
Harish Mahendrakar
ff7ccdab0c Fix in the case of invalid SPS PPS
am: c2e8ffe451

Change-Id: Iaf266c5ff2187ba980737b699884e3ebebe87bd0
2016-09-21 20:38:58 +00:00
Harish Mahendrakar
c2e8ffe451 Fix in the case of invalid SPS PPS
Bug: 31092462
Change-Id: I0e2ab5a1088717bbf36f6b0cf859b5a6e0f59c5d
2016-09-21 09:50:06 -07:00
Harish Mahendrakar
b424a5e101 Fixed error concealment when no MBs are decoded in the current pic am: b926905ee2 am: ff54ee6115 am: 9fca73a55e am: 19080458ba
am: 9836aa04a9

Change-Id: I7a2f3551c304c180df9e05b06de9de7bef0b9436
2016-07-14 01:37:54 +00:00
Harish Mahendrakar
7419a0e039 Fixed error concealment when no MBs are decoded in the current pic am: b926905ee2 am: ff54ee6115 am: 9fca73a55e am: 19080458ba
am: 9836aa04a9

Change-Id: Iccfd85fcf60aa708c08fdebe0dc1d4bd27141181
2016-07-14 01:37:53 +00:00