Commit graph

999 commits

Author SHA1 Message Date
Ray Essick
2ebe889e3f Merge "Encoder: Defined structures for accessing MB header data" am: 8aa140b8a5 am: fef5e9e203
am: eba0a08cdd

Change-Id: I1d7c6d62099e81e69d8b7d81f6db9293ac00e5f7
2016-11-29 14:42:28 +00:00
Ray Essick
eba0a08cdd Merge "Encoder: Defined structures for accessing MB header data" am: 8aa140b8a5
am: fef5e9e203

Change-Id: I9cca61c70038c6e0424ec9c41bb47656f4725f71
2016-11-29 14:37:58 +00:00
Ray Essick
fef5e9e203 Merge "Encoder: Defined structures for accessing MB header data"
am: 8aa140b8a5

Change-Id: Ib3e9cad8eb8ddbd5c941ff4d4c96a12e0f309831
2016-11-29 14:33:27 +00:00
Ray Essick
8aa140b8a5 Merge "Encoder: Defined structures for accessing MB header data" 2016-11-29 14:27:08 +00:00
Harish Mahendrakar
4fd4787b14 Merge "Decoder: Remove unnecssary optimization while setting MV context" am: 72179bfbfa am: 00d89ac381
am: 1de6014b2f

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

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

Change-Id: I28cf168153826a944df4a3a0a5731834a64a6707
2016-11-29 00:05:43 +00:00
Harish Mahendrakar
a6723af7d7 Encoder: Fixed unaligned access of i1_ref_idx and u1_mv in cabac context am: 0a69e08c39 am: c812fef1e2
am: 6841513a26

Change-Id: I22ddbedbfcddc50e0e0b12906f64625ebacaa610
2016-11-29 00:05:34 +00: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
6841513a26 Encoder: Fixed unaligned access of i1_ref_idx and u1_mv in cabac context am: 0a69e08c39
am: c812fef1e2

Change-Id: If0c1fe221ca38939fce578a50e2675e5627ae863
2016-11-29 00:00:34 +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
c812fef1e2 Encoder: Fixed unaligned access of i1_ref_idx and u1_mv in cabac context
am: 0a69e08c39

Change-Id: I5b6c330440b5219da31bf5f7e07b01fb65d8804a
2016-11-28 23:56:33 +00:00
Treehugger Robot
72179bfbfa Merge "Decoder: Remove unnecssary optimization while setting MV context" 2016-11-28 23:51:48 +00:00
Ray Essick
8342601b9d Merge "Decoder: Reset p_curr_ctxt->i1_ref_idx using memset" 2016-11-28 23:51:21 +00:00
Ray Essick
1b0408dacf Merge "Decoder: Aligned pi1_left_pred_mode[8] in _DecStruct definition" 2016-11-28 23:51:04 +00:00
Harish Mahendrakar
c7d9c91417 Encoder: Defined structures for accessing MB header data
Instead of using hard coded address offsets,
defined structures to access MB Header for each MB type
This improves readability of the code

Also helps in maintaining required alignment for MV
MV elements need to be aligned to 2 byte boundary
Unaligned accesses result in undefined behavior

Bug: 33073518
Test: Tested with -fsanitize=alignment enabled on avcenc
Change-Id: I51c009b7deded76315a4bf2880444d21ae7d517f
2016-11-24 12:25:49 +05:30
Harish Mahendrakar
0a69e08c39 Encoder: Fixed unaligned access of i1_ref_idx and u1_mv in cabac context
i1_ref_idx and u1_mv in cabac context are defined as char,
but were typecasted to int and were accessed, and were not
aligned to 4 byte boundary.
This results in an undefined behaviour

Bug: 33073518
Test: Tested with -fsanitize=alignment enabled on avcenc
Change-Id: Ie4a73de076a9239f2d8707af68b7d2cd796aa803
2016-11-24 12:22:25 +05:30
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
640d12c5d1 Decoder: Ignore dangling fields during flush am: 4b6344b281 am: b258b1bd56
am: 75d40672bd

Change-Id: I7a230ea9dbf850c7d9429cff6046fcb1e8ecac51
2016-10-25 19:29:20 +00:00
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
Marco Nelissen
2a54f2625d Merge "Decoder: Fixes in handling errors in Mbaff clips." into mnc-dev am: 23d5bc6405 am: 1e36eb1b99 am: 48c4de0f98 am: eab553f817 am: a38d1442ee am: 6d169c47a9 am: 464eb1f646
am: 8e72cfbcf4

Change-Id: Ic7d2e4f2fc5d4ee7195e1b697481bab838e00905
2016-10-19 00:28:21 +00:00
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
8e498e17f5 Merge "Decoder: Ignore few dpb errors" into mnc-dev am: b4a6d2037b am: 4baff60796 am: ceccbeb8ae am: 3c337f9f1e am: 9e0be2fe79 am: a8808acb5c am: c00032e8a7
am: 8b245d6fda

Change-Id: Ifed4e1eef5a4865035ef65dcf59cfc7a7ba43b52
2016-10-19 00:28:05 +00:00
Harish Mahendrakar
8e061d28e5 Decoder: Ignore few dpb errors am: 026745ef04 am: 5d794693d5 am: 4483ecc64b am: 7e5239dd82 am: a3a7de7001 am: 30243167b0 am: 263304d2d2
am: 654eba4b42

Change-Id: I9e9b4d1740ca67241781d31db8d13c7308b8964c
2016-10-19 00:27:56 +00:00
Marco Nelissen
8e72cfbcf4 Merge "Decoder: Fixes in handling errors in Mbaff clips." into mnc-dev am: 23d5bc6405 am: 1e36eb1b99 am: 48c4de0f98 am: eab553f817 am: a38d1442ee am: 6d169c47a9
am: 464eb1f646

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

Change-Id: Id96cc25a85140f81e0b288d219b63d8d168d9e2d
2016-10-19 00:19:48 +00:00
Harish Mahendrakar
8b245d6fda Merge "Decoder: Ignore few dpb errors" into mnc-dev am: b4a6d2037b am: 4baff60796 am: ceccbeb8ae am: 3c337f9f1e am: 9e0be2fe79 am: a8808acb5c
am: c00032e8a7

Change-Id: I9a3c008eeef8b400721ba9147b86df31c1c307f2
2016-10-19 00:19:40 +00:00
Harish Mahendrakar
654eba4b42 Decoder: Ignore few dpb errors am: 026745ef04 am: 5d794693d5 am: 4483ecc64b am: 7e5239dd82 am: a3a7de7001 am: 30243167b0
am: 263304d2d2

Change-Id: Ic5e246a3969766affcc52752a913e079a15cd839
2016-10-19 00:19:30 +00:00
Marco Nelissen
464eb1f646 Merge "Decoder: Fixes in handling errors in Mbaff clips." into mnc-dev am: 23d5bc6405 am: 1e36eb1b99 am: 48c4de0f98 am: eab553f817 am: a38d1442ee
am: 6d169c47a9

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

Change-Id: Ie824231ab956aa4b15bee79c3caa533b1a17a79c
2016-10-19 00:12:58 +00:00
Harish Mahendrakar
c00032e8a7 Merge "Decoder: Ignore few dpb errors" into mnc-dev am: b4a6d2037b am: 4baff60796 am: ceccbeb8ae am: 3c337f9f1e am: 9e0be2fe79
am: a8808acb5c

Change-Id: I0bd2766597ff6454f80de9e4981811c701a6027d
2016-10-19 00:12:50 +00:00
Harish Mahendrakar
263304d2d2 Decoder: Ignore few dpb errors am: 026745ef04 am: 5d794693d5 am: 4483ecc64b am: 7e5239dd82 am: a3a7de7001
am: 30243167b0

Change-Id: Iff71fce505cc23c12284fb57ba45ef1c6bca1739
2016-10-19 00:12:42 +00:00
Marco Nelissen
6d169c47a9 Merge "Decoder: Fixes in handling errors in Mbaff clips." into mnc-dev am: 23d5bc6405 am: 1e36eb1b99 am: 48c4de0f98 am: eab553f817
am: a38d1442ee

Change-Id: Ib60f7aef890f6d166301974ce1aa907c662bbf1f
2016-10-19 00:05:41 +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
a8808acb5c Merge "Decoder: Ignore few dpb errors" into mnc-dev am: b4a6d2037b am: 4baff60796 am: ceccbeb8ae am: 3c337f9f1e
am: 9e0be2fe79

Change-Id: Ie789ffc597afb016723dbe3f43606547218344a4
2016-10-19 00:05:22 +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
Marco Nelissen
a38d1442ee Merge "Decoder: Fixes in handling errors in Mbaff clips." into mnc-dev am: 23d5bc6405 am: 1e36eb1b99 am: 48c4de0f98
am: eab553f817

Change-Id: I2b13d7690a16aeeebf0aea6b1226a40eab5ea106
2016-10-18 23:58:51 +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
9e0be2fe79 Merge "Decoder: Ignore few dpb errors" into mnc-dev am: b4a6d2037b am: 4baff60796 am: ceccbeb8ae
am: 3c337f9f1e

Change-Id: Idb623a6f8a8b53ec1e496675cfe4ed09785510fb
2016-10-18 23:58:36 +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
Marco Nelissen
eab553f817 Merge "Decoder: Fixes in handling errors in Mbaff clips." into mnc-dev am: 23d5bc6405 am: 1e36eb1b99
am: 48c4de0f98

Change-Id: I9651f427e5fdf9a835f9d300022caf098e63792b
2016-10-18 23:51:19 +00:00
Harish Mahendrakar
69b2803e55 Decoder: Fixes in handling errors in Mbaff clips. am: 6676aeb419 am: fab0729908
am: 05bd0e8d4c

Change-Id: I78ca16a72ff78b89568ccca865d389f1d6cfd672
2016-10-18 23:51:11 +00:00