Instead of using hard coded address offsets,
defined structures to access MB Header for each MB type
This improves readability of the code
Also helps in maintaining required alignment for MV
MV elements need to be aligned to 2 byte boundary
Unaligned accesses result in undefined behavior
Bug: 33073518
Test: Tested with -fsanitize=alignment enabled on avcenc
Change-Id: I51c009b7deded76315a4bf2880444d21ae7d517f
Now no picture in a gop will depend on any picture in the previous gop
All calls to force an IDR are respected as soon as possible
Change-Id: Id2bcd5687c3fb786336a01894c1b9228d67a87a6
Setting I frame interval to 1 caused encoder to go into
infinite loop. Fixed that by stopping RC update.
Forcing of I and IDR frame did not cause the frames at expected time
due to delayed encoding. This is fixed now.
Change-Id: Ibf549fb335c053ee33de768455b20e46be3e7c1c
This field isn't used at the moment at all. The public field
ive_ctl_set_dimensions_ip_t.u4_strd is kept to avoid breaking
other calling code, although it doesn't have any actual function
any longer.
Change-Id: Icfc88846fa63f209c67b8e1f8e0cc21bc4ddb73a
When both luma and chroma are copied to the local buffer (either
due to yuv format conversion, or due to padding), they have got
the same stride, but if chroma is copied while luma is used directly
from the input buffer, they might have different strides.
Therefore add a separate field for chroma stride.
This commit only adds the field, while it still has got the same
value as before.
Change-Id: I0dce97ad4d91cd1d9aba4b4472c6a0de45a314bc
Added support for CABAC entropy coding.
Added support for B slices.
Fixed an issue in rate control constant QP mode.
Change-Id: Ib759d35e8e943f941aa9b8bbff0362d92c619994