- Set CMAKE_C_STANDARD to 90
Because of this, moved some declarations to start of the block
- Move PROFILE_ENABLE and MD5_DISABLE to specific targets as these
macros are not used when building libraries
Bug: 242076773
Test: Builds
Change-Id: Icd0b8a48f015a695185ce2220800348f7a7512f1
When decoding erroneous streams, decoder may run out of all buffers
used to hold reference pictures and MV data. In such cases, ignore
all frames till the next IDR frame and then release all buffers while
decoding the IDR frame.
Bug: 236102268
Test: multiple seek on the clip in bug
Change-Id: I14d107a5fdaf5c8d2133e59f48c2b947a5fee5ff
Current design of AVC Decoder creates new threads
to process each frame. This CL adds support to reuse
the threads across frames.
Test: avcdec -c dec.cfg
Bug: 191124963
Change-Id: I087699c4c7ce6aa59a1d8b078ae196a50dcf889c
Slice increments are now done after completing header parse.
Earlier this was done before validating mmco related parameters
and calculating poc. In case there were errors that were detected
at this stage, slice increments were incorrect.
Bug: 199536974
Bug: 199733300
Bug: 205702093
Bug: oss-fuzz#38387
Bug: oss-fuzz#38482
Bug: oss-fuzz#40851
Test: ossfuzz generated poc in bug
Change-Id: I8569e9369e4ab6f6c69c81b937f111c299b7a134
(cherry picked from commit cd0385dc07)
(cherry picked from commit dc110841d6)
Merged-In:I8569e9369e4ab6f6c69c81b937f111c299b7a134
Increment u2_cur_slice_num only if current slice had atleast
one MB of memory left.
Test: clusterfuzz generated poc in bug
Bug: b/182152757
Bug: b/179938345
Bug: b/185112718
Change-Id: Ic5eb07e961bccb7fde954bcfd791fd879804e335
(cherry picked from commit a88e0683a4)
Increment u2_cur_slice_num only if current slice had atleast
one MB of memory left.
Test: clusterfuzz generated poc in bug
Bug: b/182152757
Bug: b/179938345
Bug: b/185112718
Change-Id: Ic5eb07e961bccb7fde954bcfd791fd879804e335
reset ps_dec->i4_prev_max_display_seq if out of int32 range
to avoid overflow
Bug: 143791121
Bug: 143791161
Bug: 170737173
Test: POC in bug description
Merged-In: I3d8df556b003a7c739716bb33262ab3a6ca7b2d9
Change-Id: I3d8df556b003a7c739716bb33262ab3a6ca7b2d9
reset ps_dec->i4_prev_max_display_seq if out of int32 range
to avoid overflow
Bug: 143791121
Bug: 143791161
Test: POC in bug description
Change-Id: I3d8df556b003a7c739716bb33262ab3a6ca7b2d9
This reverts commit f76370c671.
Reason: This breaks interlaced clips which are sent one field at a time
C2 plugin for avc decoder is now updated to appropriately handle both
types of interlaced content, i.e. sent as one field per one input buffer
and sent as two fields per one input
Bug: 135146280
Bug: 152087140
Test: poc in bugs
Test: atest android.media.cts.DecoderTest
Change-Id: Ic79d13a4bd93573767c86ed31264e8780da8d9a5
When removing common nodes from short term list if it present in long
term reference list, number of long term buffers was wrongly
incremented. Only decrement of short term buffer count is needed in
such a case.
Bug: 140561484
Bug: 140566606
Bug: 140699853
Bug: 144980954
Bug: 145859214
Test: poc in bug
Change-Id: Iebf7ee7ed65e7b2097a899577982806b03fc6e5d
When decoder is expecting to decode a field, ensure current slice
being decoded is a field and frame number matches with previous slice's
frame number.
Bug: 144687080
Test: poc in bug
Change-Id: I89d9d7b6fc26797de0420ecb0ca7e66b066aa908
This commit add support for encoding and decoding of MDCV, CLL, CCV and
AVE SEI messages
Test: avcenc -c enc.cfg, avcdec -c dec.cfg
Bug: 141931623
Change-Id: Idc0b0db5291482ae2bc19cdff65669c32374b02a
Currently frame_decoded was set to 1 after first field was decoded
This field in output wasn't used so far, hence no issue was seen till
now.
Bug: 135146280
Test: poc in bug
Change-Id: I90e20134258d828107adf43b5b3e37d4bd375cbd
If lt_list and st_list point to same node then delete it from st.
If there is error while adding a node in bottom field of lt_list (top is
already added) then this node will be pointed by st_list also. So we need
to remove it from st_list
bug: 73552574
Test: poc before/after on Android N security branch
Change-Id: I95304c242c5854b18c5c7220d114ce6215760124
SKIP_P and SKIP_PB support was experimental and is not used
in libstagefright
Bug: 130541597
Test: poc in bug
Change-Id: If13b435e80d13d57de2fee0aa07ea7e6abca481b
Also void->word32 return type so failure can be signaled to caller.
Bug: 115743419
Test: vendor + poc
Change-Id: I0a07ac11255c2c672803aab7085824c417bde282
In intra_pred_ref_filtering function, initialize the values
of array au1_ngbr_pels to zero and in ih264d_parse_decode_slice
function, initialize the values of struct s_tmp_poc to zero.
Bug: 111762686
Test: vendor
Change-Id: Iac67f5e7d24f821627de64c8570f4be648c296c8
Prev_max_display_seq accumulates max_poc, which results in integer overflow.
Resetting it to zero whenever overflow occurs.
Bug: 73337834
Test: boot
Change-Id: Ia3f6d30f1a6e7fac05d073e30e38ce2ca4e4f52a
The u1_top_bottom_decoded flag in the decoder context has been fixed
to be updated correctly in the case of dangling field
Bug: 63315932
Test: ran POC after patching
Change-Id: I8db4ebeb94fba735ba45f365c37e52a202ea84cd