Commit graph

317 commits

Author SHA1 Message Date
Marco Nelissen
0627bf0405 Merge "Decoder: Fix in reference list initialization." into mnc-dev am: 0015860fdc am: 9208f9461f am: c783f2efbe am: 68c59343e1 am: 0d7aed6e94 am: b581941c80 am: 9a17d36ba0 am: 62b880ae82
am: 88e53d081f

Change-Id: I59176977801e382bbc4a6656bef526115c6d0ce6
2017-04-06 23:40:13 +00:00
Marco Nelissen
b581941c80 Merge "Decoder: Fix in reference list initialization." into mnc-dev am: 0015860fdc am: 9208f9461f am: c783f2efbe am: 68c59343e1
am: 0d7aed6e94

Change-Id: I4c6078819cfa010fbeae9843e842c2ab0580bf1e
2017-04-06 23:24:43 +00:00
Marco Nelissen
0d7aed6e94 Merge "Decoder: Fix in reference list initialization." into mnc-dev am: 0015860fdc am: 9208f9461f am: c783f2efbe
am: 68c59343e1

Change-Id: I1c765b8f5a0d82e673ecf5e64df2616ffb4ce444
2017-04-06 23:21:12 +00:00
Marco Nelissen
9208f9461f Merge "Decoder: Fix in reference list initialization." into mnc-dev
am: 0015860fdc

Change-Id: I731793974cd3607fed07cb7895234e5f9484a0ea
2017-04-06 23:10:11 +00:00
Marco Nelissen
0015860fdc Merge "Decoder: Fix in reference list initialization." into mnc-dev 2017-04-06 23:00:48 +00:00
Ray Essick
41bb6d6a66 Merge "Decoder: Fixes in accessing mbaff flag in error cases" into mnc-dev am: 7ace2f5ca2 am: ba33452066 am: e8faa24c74 am: 57ba056850
am: aff1a88f83

Change-Id: I361ec98b31db1d82106b1042c2170008fa661ec7
2017-04-05 23:47:35 +00:00
Ray Essick
aff1a88f83 Merge "Decoder: Fixes in accessing mbaff flag in error cases" into mnc-dev am: 7ace2f5ca2 am: ba33452066 am: e8faa24c74
am: 57ba056850

Change-Id: I17a61a91bafc8dc1c888b2d084f5b64e2adb01cf
2017-04-05 23:45:06 +00:00
Ray Essick
ba33452066 Merge "Decoder: Fixes in accessing mbaff flag in error cases" into mnc-dev
am: 7ace2f5ca2

Change-Id: I5dde0d284cb06fa2faddae483900df1102d9bc52
2017-04-05 23:36:35 +00:00
Ray Essick
7ace2f5ca2 Merge "Decoder: Fixes in accessing mbaff flag in error cases" into mnc-dev 2017-04-05 23:29:45 +00:00
Ray Essick
fa74fd8b50 Merge "Fix in the case of MMCO 3 (long term reference idx)." into mnc-dev am: 64b617346c am: bfb5f29471 am: 98a81bb017 am: 14276b25d1
am: 24c16eb2b5

Change-Id: I271a81f034a16b81f23389a5f91b2de1a384bc12
2017-04-05 21:24:57 +00:00
Ray Essick
24c16eb2b5 Merge "Fix in the case of MMCO 3 (long term reference idx)." into mnc-dev am: 64b617346c am: bfb5f29471 am: 98a81bb017
am: 14276b25d1

Change-Id: Idc8f7d3cc1c5869a11d0abc2bdf1aedf38fa8224
2017-04-05 21:22:26 +00:00
Ray Essick
bfb5f29471 Merge "Fix in the case of MMCO 3 (long term reference idx)." into mnc-dev
am: 64b617346c

Change-Id: Ia57a698ac23ee4abeefe194c8585301941984771
2017-04-05 21:13:56 +00:00
Ray Essick
64b617346c Merge "Fix in the case of MMCO 3 (long term reference idx)." into mnc-dev 2017-04-05 21:09:18 +00:00
Harish Mahendrakar
0f2f2b5fde Decoder: Fixes in accessing mbaff flag in error cases
ps_dec->ps_cur_slice->u1_mbaff_frame_flag is updated in ih264d_start_of_pic().
So updated value should be used after calling ih264d_start_of_pic()

Bug: 33974623
Test: ran POC from bug
Change-Id: I0f1ff5e01ed39767f493f197791e51b0da74952f
(cherry picked from commit 3f6937a003)
2017-03-23 23:46:33 +00:00
Hamsalekha S
93954f5e9a Decoder: Fix in reference list initialization.
In the case of error, initialize the new reference list1 with the first
picture in default list0 instead of default list1, as first picture in
list1 could still be invalid.

Bug: 36035074

Change-Id: I7ab493ee7a157cbefcd4da8389ff1ff899c16b7f
2017-03-22 16:55:01 +00:00
Ray Essick
691577d923 Merge "Decoder: Fixed error handling for dangling fields" into mnc-dev am: 78334b2a24 am: cd5ebec24a am: f48987d2fc am: 1cbcdd7f16
am: 3a669baf18

Change-Id: I828a75f93c0a49474f9be6d075ca3b75d27cf8fd
2017-03-14 22:35:50 +00:00
Ray Essick
3a669baf18 Merge "Decoder: Fixed error handling for dangling fields" into mnc-dev am: 78334b2a24 am: cd5ebec24a am: f48987d2fc
am: 1cbcdd7f16

Change-Id: I2adb58066b67a321c9b7275874a7ebb04e8e7c9d
2017-03-14 22:30:50 +00:00
Ray Essick
cd5ebec24a Merge "Decoder: Fixed error handling for dangling fields" into mnc-dev
am: 78334b2a24

Change-Id: Id5cb9826e72c59890526300ad9e8833b61691c20
2017-03-14 22:15:20 +00:00
Ray Essick
78334b2a24 Merge "Decoder: Fixed error handling for dangling fields" into mnc-dev 2017-03-14 22:08:38 +00:00
Hamsalekha S
46e96d40db Fix in the case of MMCO 3 (long term reference idx).
Increment number of long term reference buffers only when both top field
and bottom field have been set as long term.

[backport for M/N from master]

Bug: 35584425
Test: ran POC - no hang, no segfault.

Change-Id: I94e3857944da675eda38f8e1a9bd887f48bff524
(cherry picked from commit 6fa5df8811)
2017-03-04 20:13:09 +00:00
Ray Essick
35ab7bdfa0 Merge "Fix in the case of MMCO 3 (long term reference idx)." 2017-03-01 20:54:06 +00:00
Ray Essick
8429840eec Merge "Bug fix for flush without valid frames" 2017-03-01 20:54:00 +00:00
Hamsalekha S
a3ab2caa43 Fixed bug in the case of resolution change.
Modified the way i4_header_decoded in decoder context
is used, to ensure that resolution change is detected
even if PPS has not been decoded.

Bug: 35583675
Test: ran POC, no longer hangs

Change-Id: Ibb3f8dfbeb66a999fd81720a7d2a02dd951a55c4
2017-02-21 12:20:06 -08:00
Hamsalekha S
d0ab5b06d7 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
Test: test case does not hang

Change-Id: Id22cc98d4a47714475a67918990a181a805c4c9f
2017-02-21 12:18:44 -08:00
Hamsalekha S
6fa5df8811 Fix in the case of MMCO 3 (long term reference idx).
Increment number of long term reference buffers only when both top field
and bottom field have been set as long term.

Bug: 35584425
Test: ran POC - no hang, no segfault.

Change-Id: I94e3857944da675eda38f8e1a9bd887f48bff524
2017-02-21 12:17:02 -08:00
Marco Nelissen
ea8a5247fa resolve merge conflicts of 3654ad0 to mnc-dr-dev am: 37345554fe am: 33d9d00a3c am: 858542d83e am: 2e4b53cfb4 am: 7c50684ef0 am: 834462327b am: 1d999b7cdf am: 9e011993f4
am: 9855b0af5a

Change-Id: I2bbc1ef64bdcd1b2a57068210e563727d114290c
2017-02-14 23:47:57 +00:00
Marco Nelissen
9855b0af5a resolve merge conflicts of 3654ad0 to mnc-dr-dev am: 37345554fe am: 33d9d00a3c am: 858542d83e am: 2e4b53cfb4 am: 7c50684ef0 am: 834462327b am: 1d999b7cdf
am: 9e011993f4

Change-Id: Ie85c00c72d96663d6a228a18fb807aaaf89384dc
2017-02-14 23:24:24 +00:00
Marco Nelissen
7c50684ef0 resolve merge conflicts of 3654ad0 to mnc-dr-dev am: 37345554fe am: 33d9d00a3c am: 858542d83e
am: 2e4b53cfb4

Change-Id: I36252dfb66db49049efbc6fe9a8e59aaf90fae35
2017-02-14 23:03:32 +00:00
Marco Nelissen
2e4b53cfb4 resolve merge conflicts of 3654ad0 to mnc-dr-dev am: 37345554fe am: 33d9d00a3c
am: 858542d83e

Change-Id: I8376533d60ce908a6a08e260f57cb6163a7fa2dd
2017-02-14 23:01:52 +00:00
Marco Nelissen
37345554fe resolve merge conflicts of 3654ad0 to mnc-dr-dev
Bug: 33818508
Bug: 34013472
Change-Id: I2e99cbceba1c00555d624e8975522725e362362b
2017-02-14 13:49:16 -08:00
Marco Nelissen
3654ad0da5 Merge changes Iec2941f1,I38be0e4c into mnc-dev
* changes:
  Decoder: Add supported width check for MBaff streams
  Decoder: Added a check for unsupported resolutions
2017-02-14 21:30:39 +00:00
Harish Mahendrakar
1e548ffb1e Decoder: Fixed initialization of first_slice_in_pic am: 0b23c81c3d am: 16fa990ce1 am: ab79eb3973 am: a37d120eb2 am: c011eeade7 am: 94e17dc822 am: 9117d918dd am: f837a7796b am: b1bbfa5320
am: d84e9b64e1

Change-Id: I465194d700ed38caac788eab0e1084b7aa4b0592
2017-02-14 17:29:59 +00:00
Harish Mahendrakar
9e037f09bb Merge "Decoder: Moved end of pic processing to end of decode call am: 494561291a am: ba7f9e2aed am: 26bb8b98ee am: 89fa016b5f am: df2fa01c9e am: 7944003371 am: fd5c8e352a am: 9432beb534 am: 7f690f1ada" into nyc-mr2-dev-plus-aosp
am: de7e809c2e

Change-Id: I4627374bb2bc59efdb51c38b6c465a970e17b6b6
2017-02-14 17:29:31 +00:00
Harish Mahendrakar
68b86555e4 Decoder: Moved end of pic processing to end of decode call am: 494561291a am: ba7f9e2aed am: 26bb8b98ee am: 89fa016b5f am: df2fa01c9e am: 7944003371 am: fd5c8e352a am: 9432beb534
am: 7f690f1ada

Change-Id: Ibacaae4dd46de8f63ed5a94cd850fd870c18be59
2017-02-14 17:18:48 +00:00
Harish Mahendrakar
b1bbfa5320 Decoder: Fixed initialization of first_slice_in_pic am: 0b23c81c3d am: 16fa990ce1 am: ab79eb3973 am: a37d120eb2 am: c011eeade7 am: 94e17dc822 am: 9117d918dd
am: f837a7796b

Change-Id: Ic4d24cc5d546abf49a2cef788226ff3a3ab92720
2017-02-14 17:18:39 +00:00
Harish Mahendrakar
20c2cfbc12 Decoder: Moved end of pic processing to end of decode call am: 494561291a am: ba7f9e2aed am: 26bb8b98ee am: 89fa016b5f am: df2fa01c9e am: 7944003371 am: fd5c8e352a
am: 9432beb534

Change-Id: Icd9bf9c1786a5758cf8ec4f6a5b4b6a96daef1dd
2017-02-14 17:16:16 +00:00
Harish Mahendrakar
94e17dc822 Decoder: Fixed initialization of first_slice_in_pic am: 0b23c81c3d am: 16fa990ce1 am: ab79eb3973 am: a37d120eb2
am: c011eeade7

Change-Id: I3f850497c864277c2b2524fab07d14a249e48afc
2017-02-14 17:11:38 +00:00
Harish Mahendrakar
7944003371 Decoder: Moved end of pic processing to end of decode call am: 494561291a am: ba7f9e2aed am: 26bb8b98ee am: 89fa016b5f
am: df2fa01c9e

Change-Id: Ifc329cbccad01c70ff1fea0d483cb155b15b3cc1
2017-02-14 17:08:45 +00:00
Harish Mahendrakar
c011eeade7 Decoder: Fixed initialization of first_slice_in_pic am: 0b23c81c3d am: 16fa990ce1 am: ab79eb3973
am: a37d120eb2

Change-Id: Ib3eb4da620fc964a15a35d8e862b91e55a611bd4
2017-02-14 17:08:36 +00:00
Harish Mahendrakar
b19aa035f6 Decoder: Treat first slice in a picture as part of new picture always am: 8b5fd8f24e am: 8b75cdae9b am: fb68ae8960 am: a8a3dc84b0
am: 3007985473

Change-Id: I2570766293b1d7fae490523607390873ed0016f0
2017-02-14 17:08:36 +00:00
Harish Mahendrakar
df2fa01c9e Decoder: Moved end of pic processing to end of decode call am: 494561291a am: ba7f9e2aed am: 26bb8b98ee
am: 89fa016b5f

Change-Id: Ib8de0752f0e90dfea59d9e8380d2006dd9643312
2017-02-14 17:07:16 +00:00
Harish Mahendrakar
3007985473 Decoder: Treat first slice in a picture as part of new picture always am: 8b5fd8f24e am: 8b75cdae9b am: fb68ae8960
am: a8a3dc84b0

Change-Id: I172945f3e9d84d77ae21d1f737258851529f94c7
2017-02-14 17:07:07 +00:00
Harish Mahendrakar
16fa990ce1 Decoder: Fixed initialization of first_slice_in_pic
am: 0b23c81c3d

Change-Id: I55e49ca9616a151456342bad7673d0986098b448
2017-02-14 17:03:06 +00:00
Harish Mahendrakar
ba7f9e2aed Decoder: Moved end of pic processing to end of decode call
am: 494561291a

Change-Id: Id3867f5dd0788f12f6827ed311a309d1fa58c535
2017-02-14 17:00:16 +00:00
Harish Mahendrakar
8b75cdae9b Decoder: Treat first slice in a picture as part of new picture always
am: 8b5fd8f24e

Change-Id: Ia14e9fae4a08143ff86439b5440ab9cf5e3052e3
2017-02-14 17:00:07 +00:00
Harish Mahendrakar
0b23c81c3d Decoder: Fixed initialization of first_slice_in_pic
To handle some errors, first_slice_in_pic was being set to 2.
This is now cleaned up and first_slice_in_pic is set to 1 only once per pic.
This will ensure picture level initializations are done only once even in case
of error clips

Bug: 33717589
Bug: 33551775
Bug: 33716442
Bug: 33677995

Change-Id: If341436b3cbaa724017eedddd88c2e6fac36d8ba
2017-02-14 16:59:09 +00:00
Harish Mahendrakar
494561291a Decoder: Moved end of pic processing to end of decode call
ih264d_end_of_pic() was called after parsing slice of a new picture.
This is now being done at the end of decode of the current picture.
decode_gaps_in_frame_num which needs frame_num of new slice is now
done after decoding frame_num in new slice.

This helps in handling errors in picaff streams with gaps in frames

Bug: 33588051
Bug: 33641588
Bug: 34097231
Change-Id: I1a26e611aaa2c19e2043e05a210849bd21b22220
2017-02-14 16:58:07 +00:00
Harish Mahendrakar
8b5fd8f24e Decoder: Treat first slice in a picture as part of new picture always
This is needed to decode streams with consecutive IDRs.

Bug: 34097231
Test: successful run of POC in security bug
Change-Id: Ib737a4ef4b8c5bb7a57c90292102dd28af0615fe
2017-02-14 04:41:02 +00:00
Harish Mahendrakar
3f6937a003 Decoder: Fixes in accessing mbaff flag in error cases
ps_dec->ps_cur_slice->u1_mbaff_frame_flag is updated in ih264d_start_of_pic().
So updated value should be used after calling ih264d_start_of_pic()

Bug: 33974623
Test: ran POC from bug
Change-Id: I0f1ff5e01ed39767f493f197791e51b0da74952f
2017-02-13 15:55:01 -08:00
Harish Mahendrakar
69b5191865 Decoder: Add supported width check for MBaff streams
In case of MBAff streams, decoder processes two rows at a time,
this limits maximum supported width to 1920 for MBAff streams.

Bug: 33818508
Bug: 34013472
Change-Id: Iec2941f116cf3c36b63013a930319960023a3b42
2017-02-13 15:30:57 -08:00