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
This fixes building with compilers that are strict about the pre-C99
rule about having all variable declarations before statements.
(The previous version of this commit was originally made before
the commit adding support for main profile, which added a bunch
more similar issues.)
Change-Id: I0a927deb2ef4125f79429d108439e249fa531607
Added support for CABAC entropy coding.
Added support for B slices.
Fixed an issue in rate control constant QP mode.
Change-Id: Ib759d35e8e943f941aa9b8bbff0362d92c619994