Commit graph

31 commits

Author SHA1 Message Date
Hamsalekha S
1d06027c69 DO NOT MERGE 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-04-12 12:58:13 -07: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
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
16fa990ce1 Decoder: Fixed initialization of first_slice_in_pic
am: 0b23c81c3d

Change-Id: I55e49ca9616a151456342bad7673d0986098b448
2017-02-14 17:03:06 +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
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
Harish Mahendrakar
9d60a0c5da Decoder: Added a check for unsupported resolutions
Decoder now returns an error for resolutions greater than 3840x2176

Bug: 24542936

Change-Id: I38be0e4c5cf2a980bfd4c781f3b49171f73b5ccb
2017-02-13 15:30:46 -08: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
3e29786590 Decoder: Fix in returning incomplete frame error
am: d1896deaf1

Change-Id: I81b68c6f7b30c3ba048967cd64426b204b8ee895
2017-01-06 17:40:58 +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
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
Marco Nelissen
afe52d7476 Merge \\\\"Decoder: Fix slice number increment for error clips\\\\" into mnc-dev am: 2e88a2aa67 am: d75185f90e am: abd921f407
am: 46635d205b

Change-Id: I33ae1d1daeb6b7ca83a7ce4913e6b7f40ca87283
2016-06-10 21:42:37 +00:00
Harish Mahendrakar
d75185f90e Merge \"Decoder: Fix slice number increment for error clips\" into mnc-dev
am: 2e88a2aa67

Change-Id: I791c029e3b39202db3f49f13fbb511904b5e8fef
2016-06-10 21:31:13 +00:00
Harish Mahendrakar
5e4f64c074 Decoder: Fix slice number increment for error clips
Bug: 28673410
2016-06-09 08:31:55 -07:00
Wonsik Kim
4fb0fcb8cc Handle level/profile/num_ref_frames/num_reorder change at the same resolution
Bug: 28083781
Change-Id: Ifa78c3125ab207ce5e39166f4891cba0d3a4e39c
2016-04-18 15:59:09 +09:00
Marco Nelissen
66be90d7a0 Reconcile branch with master after mass cherrypicks
Change-Id: Ib017480389cb9f5204e5437716653016da348dba
2015-10-16 20:23:10 +00:00
Harish Mahendrakar
5351d3a403 Decoder: Added a check for unsupported resolutions
Decoder now returns an error for resolutions greater than 3840x2176

Bug: 24542936

Change-Id: I38be0e4c5cf2a980bfd4c781f3b49171f73b5ccb
2015-10-13 23:28:19 +00:00
Hamsalekha S
9d04b13b62 Moved check for level after check for resolution change.
This is required for DRC tests in CTS .

Change-Id: Icd0fe10d97c6ee55f8358682a578bddb58590de4
2015-10-09 11:35:26 -07:00
Harish Mahendrakar
251b007ecc Decoder: Reduced memory requirements
Memory allocations are now done based on contents of SPS
API changed to move allocations inside the library

Also changed strlen to strnlen

Bug: 24221026

Change-Id: I9130457f564cddb4da7ec6399cc9fe88ee871217
2015-09-23 18:35:27 +00:00
Harish Mahendrakar
2ee0c1bced Return error in SPS/PPS parsing when extra bytes are read from input
Bug: 24157524

Change-Id: I4b319ef8e23e1ba5f84f52b92f40ba7fb1429101
2015-09-18 14:12:13 -07:00
Hamsalekha S
8a50328131 Support for level greater than level at init in Decoder
Added support to check num_ref_frames  in SPS
and num_reorder_frames in VUI before returning error for level

Bug: 22860270

Change-Id: I392bab419385ca239836d200f9f2b064915a8a46
2015-07-31 18:53:17 +00:00
Hamsalekha S
9f0dcba9b4 Improved error resilience in decoder
Fixed buffer management for error cases
Fixed end of picture detection logic for multiple slice error cases
Fixed handling of incomplete frame, missing slices.

Change-Id: Iae447667e4d88869a8bf992180cacd77870b9877
2015-06-25 08:25:44 -07:00
Hamsalekha S
c080d57996 Moved check for level after check for resolution change.
This is required for DRC tests in CTS .

Change-Id: Icd0fe10d97c6ee55f8358682a578bddb58590de4
2015-06-25 08:25:42 -07:00
Marco Nelissen
8ef4c3f614 Multithreading changes and better error resilience
Fixed the following bugs
Issue 21145276
Issue 21144884
Issue 21181133
Issue 21181134

Decoder now returns error if the level in stream is higher than level at init

Change-Id: I8892c62bd98f7854d046510330c05a1e9ca826b2
2015-06-03 07:27:36 -07:00
Lajos Molnar
a2b49e5f05 fix file permissions
Change-Id: Ia4f99d5b963acd8d8a1afc2fbdf06b122d898f63
2015-05-05 17:51:34 +00:00
Harish Mahendrakar
3a52efd361 Fixed few issues seen in CTS tests
Added support for encoding non-multiple of 16 dimensions
Added support for encoding dimensions smaller than 64x64
Aligned coeff data to 4 byte boundary

Bug: 20554276
Change-Id: I111093950f94698296d8499a2845cfe2db6c557b
2015-05-05 17:45:29 +00:00
Hamsalekha S
8d3d303c79 Initial version
Change-Id: I7efe9a589cd24edf86e8d086b40c27cbbf8b4017
2015-04-02 15:59:02 +05:30