Commit graph

174 commits

Author SHA1 Message Date
Harish Mahendrakar
ef0f9380bd Decoder: Fixed allocation of ps_dec->ps_nbr_mb_row am: 9b095de571 am: ccd57d9029 am: 4ec0548b97 am: 6e50592ca9 am: c54813cf06 am: 22261bd5c3
am: 000ca8c68c

Change-Id: I978c2ff4af86543226f8ef4e899b51dffa59de31
2017-01-06 18:19:01 +00:00
Harish Mahendrakar
5435034015 Decoder: Fixed cur_mb_info initialization in error cases am: 902c15251f am: 89850806d1 am: c2ab726dc9 am: 45111c3c52 am: 2d9ee53783 am: 2593b52d4d am: 8c67b66b6e
am: 601f024ec8

Change-Id: I198e4a861a05d46faa75bffa3573a42f4f62f091
2017-01-06 18:06:35 +00:00
Harish Mahendrakar
89c8f093e3 Decoder: Fix in error concealment in the case of Mbaff clips am: 3ebff7dc62 am: 8dfaf7cf1b am: 7b9f87283b am: 0b7536238d am: 0cba21c6bf am: 79cfc9557d am: 2871e959d6
am: bb5851eb13

Change-Id: I5f73c5a8e15a5ae8108311e80ac306cd2bf1fd64
2017-01-06 18:06:33 +00:00
Harish Mahendrakar
d05806b2c0 Decoder: Fix in the case of error in the first MB in frame. am: 56b5563f3e am: 7f2a8c6fa8 am: f5d29ebf92 am: 9db31ee733 am: b95d51ad3a am: 2f0f7c3b81 am: f2efe71c75
am: 02a440bdec

Change-Id: Ia4e00557b2177bdad4501454ce5dba89089ab08a
2017-01-06 18:06:32 +00:00
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
c54813cf06 Decoder: Fixed allocation of ps_dec->ps_nbr_mb_row am: 9b095de571 am: ccd57d9029 am: 4ec0548b97
am: 6e50592ca9

Change-Id: I56a790e1ee613f91e55319d1265bc5218fe5dfeb
2017-01-06 18:06:30 +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
6e50592ca9 Decoder: Fixed allocation of ps_dec->ps_nbr_mb_row am: 9b095de571 am: ccd57d9029
am: 4ec0548b97

Change-Id: I266651c36b1634945d4113f8cf0a9e4df7bbd604
2017-01-06 18:03:29 +00:00
Harish Mahendrakar
2593b52d4d Decoder: Fixed cur_mb_info initialization in error cases am: 902c15251f am: 89850806d1 am: c2ab726dc9 am: 45111c3c52
am: 2d9ee53783

Change-Id: Iccd3dfabcd039f1c273a56b02ebd81ae40b224dc
2017-01-06 17:55:03 +00:00
Harish Mahendrakar
79cfc9557d Decoder: Fix in error concealment in the case of Mbaff clips am: 3ebff7dc62 am: 8dfaf7cf1b am: 7b9f87283b am: 0b7536238d
am: 0cba21c6bf

Change-Id: Ibb9eec593c179d3d198be1e2863456c4ef32569d
2017-01-06 17:55:02 +00:00
Harish Mahendrakar
2f0f7c3b81 Decoder: Fix in the case of error in the first MB in frame. am: 56b5563f3e am: 7f2a8c6fa8 am: f5d29ebf92 am: 9db31ee733
am: b95d51ad3a

Change-Id: I85f54150ad95561e240a5fc90d396692c181eecd
2017-01-06 17:55:01 +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
ccd57d9029 Decoder: Fixed allocation of ps_dec->ps_nbr_mb_row
am: 9b095de571

Change-Id: I121da793917f162c10093e37b4bf2777fee7ff1e
2017-01-06 17:54:59 +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
2d9ee53783 Decoder: Fixed cur_mb_info initialization in error cases am: 902c15251f am: 89850806d1 am: c2ab726dc9
am: 45111c3c52

Change-Id: I654c589a26495834f59d4bb3ca0de15b985d69d3
2017-01-06 17:51:32 +00:00
Harish Mahendrakar
0cba21c6bf Decoder: Fix in error concealment in the case of Mbaff clips am: 3ebff7dc62 am: 8dfaf7cf1b am: 7b9f87283b
am: 0b7536238d

Change-Id: I7eb6ba967c2ef32a58aef670d17b18176314f9a2
2017-01-06 17:51:31 +00:00
Harish Mahendrakar
b95d51ad3a Decoder: Fix in the case of error in the first MB in frame. am: 56b5563f3e am: 7f2a8c6fa8 am: f5d29ebf92
am: 9db31ee733

Change-Id: I23b7fdc4df2e6bf2f544327b1ca580cdeb35e0a9
2017-01-06 17:51:30 +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
89850806d1 Decoder: Fixed cur_mb_info initialization in error cases
am: 902c15251f

Change-Id: I53e87b68254973492dac02a48a1b179a9eb4fc93
2017-01-06 17:41:01 +00:00
Harish Mahendrakar
8dfaf7cf1b Decoder: Fix in error concealment in the case of Mbaff clips
am: 3ebff7dc62

Change-Id: I53964cef3c617f22fee7a2db27dac09323db2daf
2017-01-06 17:41:00 +00:00
Harish Mahendrakar
7f2a8c6fa8 Decoder: Fix in the case of error in the first MB in frame.
am: 56b5563f3e

Change-Id: I600140bafcda9d4d9792db53d2a20cc13d90bfe1
2017-01-06 17:40:59 +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
9b095de571 Decoder: Fixed allocation of ps_dec->ps_nbr_mb_row
This needs an additional row of data to hold top row
Issue is seen only for MBAff error cases which start with a field
at lower resolutions

Bug: 33139050
2016-12-28 13:04:00 -08:00
Harish Mahendrakar
902c15251f Decoder: Fixed cur_mb_info initialization in error cases
When number of MBs decoded in the current frame is zero and an error is
detected, MB info was unnecessarily decremented in multi-core case.

Bug: 33351708
Bug: 33298089
Bug: 33250932
Change-Id: I150c48c6fb382736f1de855ba5384c12bf84710d
2016-12-28 12:36:35 -08:00
Harish Mahendrakar
3ebff7dc62 Decoder: Fix in error concealment in the case of Mbaff clips
In case of MBAff clips, if error is detected after parsing odd MB,
then treat that odd MB also as error. All MBAff processing is done
as an MB-Pair.

Bug: 33298089
2016-12-28 12:36:15 -08:00
Harish Mahendrakar
56b5563f3e Decoder: Fix in the case of error in the first MB in frame.
In case of error in first MB in a frame, ps_dec->i4_submb_ofst
was decremented to result in negative offsets.

Bug: 33351708
2016-12-28 12:35:44 -08: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