The logic for inserting long term refs was failing
when the new ltIdx was greater than any of the
existing ltIdx in the DPB
Bug: 242723830
Test: fuzzer poc in bug
Change-Id: Iea9d71e563910a884ddfc2ddc6d6ab2b32581fde
- 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
In avcenc test application, when configuring VUI,
color aspects were set to 0. This causes issues when the
clips are decoded using reference decoder where this is treated
as RGB data. Set these to unspecified.
Bug: 242104405
Test: avcenc -c enc.cfg
Change-Id: I2f80250f94faccba52fe945502fc10b793def536
Last recon frame wasn't being saved in some cases, it is now fixed.
Bug: 242104774
Test: avcenc -c enc.cfg
Change-Id: I50fcd6709988b7126a36cc88d8abdb75e871a37a
This CL adds support to report PSNR between incoming and resulting
encoded frames. Eventually be reported upstream as part of a feedback
mechanism.
Test: avcenc -c enc.cfg
Bug: b/235899898
Change-Id: Id520913ca5964965b5a86bc520240ccd1b28176c
Corrected checks for number of views and view id
when parsing SPS in MVC decode
Bug: 241865791
Bug: 241867454
Test: fuzzer poc in the bugs
Change-Id: I8241de5c28ddbfebdb639852cf647df5e0a9487b
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