For YUV 420 semi-planar input, second plane's width was
wrongly being checked to be equal to half of first plane's width.
Corrected this condition now to check that both these widths are
same.
Bug: 242103647
Test: avcenc -c enc.cfg
Change-Id: I3c06f6e40823ddbf00df0435bfbd1cd314c982e3
Added support for decoding 'Multiview High' profile, corresponding to
profile_idc of 118 in 'Rec. ITU-T H.264 (08/2021)'.
Bug: 232169767
Test: atest CtsMediaV2TestCases
Change-Id: I63256344a8a205e74f2bcebe555f5ba6cc3163d0
When u1_video_signal_type_present_flag and
u1_colour_description_present_flag were set, we did write all
fields relating to video signal and color description into
the VUI, even if all those fields were uninitialized (left
at the default cleared zero, which for most fields are
invalid/reserved value zero).
Instead have these flags default to zero, making it clear
that the VUI doesn't (yet) contain correctly set values
for those fields.
Bug: 240470605
Change-Id: I86628cff190c8a40e9c6fd12d3fc8e06419ece7c
The ih264e_vui_ip_t struct doesn't contain any input timestamps,
and the IVE_CMD_CTL_SET_VUI_PARAMS command didn't set these fields
at all (leaving them at their default initialized state 0,0).
At the start of ih264e_encode, pending configurations are
applied if their timestamp matches the timestamp of the frame
to be encoded, or applied unconditionally if the timestamps are
equal to -1.
Thus, the parameters set with IVE_CMD_CTL_SET_VUI_PARAMS
previously only got applied if encoding a frame with the specific
timestamp 0, but now they get applied unconditionally on the
next encoded frame.
Bug: 240466320
Change-Id: I12c50251d8485e3f171ac5c87132ddfbc80377d6
Input and output structures to decoder's functions are now zero
initialized. This way any new additional members in these structures
will be initialized correctly.
Bug: oss-fuzz:49322
Bug: 175179303
Test: avc_dec_fuzzer with memory sanitizer
Change-Id: Ic89625aaaededdef107c34bf8bdc793824b96f85
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
So that consumers don't need to use raw paths via include_dirs
Sort export_include_dirs: [] lists
Bug: 201944383
Test: build
Merged-In: Id6789b54da4d8ec1be6c7a60d8ba2e757d5d8801
Change-Id: Id6789b54da4d8ec1be6c7a60d8ba2e757d5d8801
(cherry picked from commit 7faf1311eb)
am skip reason: Merged-In I8e4f1f4c57fae1510835733173c505326f39e28f with SHA-1 f5513f5722 is already in history
Original change: 17545184
Change-Id: I1e7784d4d48325ed0b7ff5f902630d0824aced23
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
While calculating the residual for inter 4x4 MB, the intrinsic
instruction reads extra 4-bytes from the prediction buffer
Test: POC in the bug description
Bug: 204704614
Change-Id: I72b5cb8b63351efb60b65ecbb5e7a8c8bc1fcd94
(cherry picked from commit c79d0f5092)
Merged-In: I72b5cb8b63351efb60b65ecbb5e7a8c8bc1fcd94
INSERT_EPB doesn't insert emulation prevention byte and instead
is used to check if an emulation prevention byte is to be inserted.
Renaming INSERT_EPB to SHOULD_INSERT_EPB.
Bug: 180962392
Test: build library
Change-Id: I9ac8d8ca6b2d29d5bccab68404f02883acf5d361
am skip reason: Merged-In Id67d06dd5fc1645fa93b35dfb8a5747fcc0e7b51 with SHA-1 91e3d65f9f is already in history
Original change: 16843518
Change-Id: Id592a30a2b01bb78d308a8d2c6927d5e89db1d2d
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
Cmake scripts are now modular. Separate scripts now handle
build specifications for each target and dependency.
Toolchain files have been added for armv7, armv8 builds.
Bug: 213579857
Test: Builds using cmake
Test: Builds in OSS-fuzz
Change-Id: Iac62b443c0a0de09a2ce6553a660db2c3d5dc846
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
am skip reason: Merged-In I404ee8c2afe5ca547526c29b0aa6e079db15bc1d with SHA-1 18ec440913 is already in history
Original change: 1921894
Change-Id: Ia34372ae6d1a18f08044effa45ff51b5888d5b80
am skip reason: Merged-In I404ee8c2afe5ca547526c29b0aa6e079db15bc1d with SHA-1 18ec440913 is already in history
Original change: 1921894
Change-Id: I8e4226bee38d695473e7013803d4b40ea2a802cd
am skip reason: Merged-In I404ee8c2afe5ca547526c29b0aa6e079db15bc1d with SHA-1 18ec440913 is already in history
Original change: 1921894
Change-Id: I169baf2d6821eec1aee47ffded65742c5d807471