mm-video: venc: Distinguish between normal NV12 and Venus's NV12

Previously we were advertising OMX_COLOR_FormatYUV420SemiPlanar as the
NV12 colorformat "natively" supported by the component. However, this is
taken to mean the vanilla version of NV12 by many clients (e.g. Google).
As a result, whenever we thought that a non-camera client was providing
NV12, we'd align to Venus' liking internally. This doesn't work entirely
because there are other apps (e.g VT) that are aware that the component
wants aligned NV12 and would align it themselves, causing the component
to muck up the buffer by realigning it.

To prevent the confusion, the component now makes a distinction between
NV12 (OMX_COLOR_FormatYUV420SemiPlanar) and Venus' NV12 (QOMX_COLOR_\
FORMATYUV420PackedSemiPlanar32).  Clients who prefer to provide aligned
buffers will now set the latter as the input port format.

Change-Id: I1e618c8bbb4b2002caa0967d7bd0ff363ab72763
3 files changed