When cropping is enabled, application can request a stride that
is larger than display width but smaller than decode width.
Bug: 160397536
Test: stagefright -sS <clip in bug>
Change-Id: I453b2de0474f3ae4d021084729c33d52fc1090dc
Add checks to validate long term index and
max long term index parsed in MMCO commands.
Bug: 140358770
Bug: 140680655
Bug: 148772548
Bug: 152148135
Bug: 152434373
Bug: 152550528
Test: poc in bug
Change-Id: I9052ce7721491fdd5fb4807ec33e399cee8c70cf
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
While adding the decoded buffer to display queue, allow buffer with
poc set to 0x7FFFFFFF
Bug: 145364230
Test: poc in bug
Change-Id: I2a15f73b8422cfa4fd3360bc21c0cea4542a3375
Earlier these were only initialized during static buffer allocations.
Initializing them in init_decoder() will ensure that these get
initialized to default values during reset() as well. Without this,
in some error cases, there is a possibility of heap-use-after free,
when resolution changes and these pointers point to memory that is freed
Bug: 142602711
Test: poc in bug
Change-Id: Ie39fee0eca56bf32cdc558099bf167d05eb89620
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
Instead of looping through all poc/pic numbers with an increment
of 1, loop through only valid poc/pic numbers after sorting them.
This prevents integer overflows when poc/pic number is INT32_MIN or
INT32_MAX
This also fixes a timeout issue seen when integer sanitizers are
not enabled
Bug: 135303936
Bug: 136568141
Bug: 141276890
Test: poc in bug
Change-Id: I5db80dd8e811cbb1a9ecd00363fac997551ccaf5
Added support for returning reorder_depth for frames in decode order.
Bug: 138627015
Test: Verify reorder_depth returned for few clips
Change-Id: I9b68a9544d7d011cf93dfccd308c754b8e16e39e
We're beginning to use remote caches with Android builds, so I'm turning
on -Werror=date-time so that host builds are also reproducible.
Test: treehugger
Test: mmma external/libavc
Change-Id: I581f3abf528a7bb5df6ee9963f4d72e2b4bb8a6c
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
(cherry picked from commit f312a1d305)
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
Return error to application if valid sps or pps has not been decoded.
Also add check to prevent parsing of pps, if valid sps is not present.
Test: Tested a few clips with missing sps/pps
Bug: 129746168
Bug: 130575087
Change-Id: I1a6409d1cffc66c1b910d2102ab10a94e0227107
This will ensure clips with supported bitdepth or unsupport color
formats are not attempted to be decoded till end of the sequence.
Bug: 130578045
Test: adb shell stagefright -s -S /sdcard/crowd422_h264.mp4
Test: Ensure decoder doesn't attemp decoding all frames
Change-Id: I118ef2141f77986f6ec65c91dfeaa7ef17646c43