video_encode_accelerator.mojom: Add pixel formats that can be passed from Android container

Currently, the pixel format of video frame passed from Android container is
always I420. This is because color format conversion is done in ARC++ container.
For zero format conversion (go/arc-vide0Capture), we needs to be able to pass
all pixel formats supported by our ARC++ HW video encoder to Chrome. If the color
format conversion is needed, it is performed in Chrome side by HW/SW
ImageProcessor.
The below is the table of YUV pixel formats supported by HW video encoder and
media::PixelFormat in Chrome side.
media::VideoPixelFormat associated with HAL_PIXEL_FORMAT_YCBCR_420_888 is
dependent on platform, but one of three formats, which minigbm actually decides.

HAL Pixel Format (Android)        media::VideoPixelFormat (Chrome)
--------------------------------------------------------------------
HAL_PIXEL_FORMAT_YV12          -> PIXEL_FORMAT_YV12
HAL_PIXEL_FORMAT_YCRCB_420_SP  -> PIXEL_FORMAT_NV12
HAL_PIXEL_FORMAT_YCBCR_420_888 -> PIXEL_FORMAT_YV12, PIXEL_FORMAT_NV12, PIXEL_FORMAT_NV21
HAL_PIXEL_FORMAT_RGBX_8888     -> PIXEL_FORMAT_XBGR
HAL_PIXEL_FORMAT_RGBA_8888     -> PIXEL_FORMAT_ABGR
HAL_PIXEL_FORMAT_BGRA_8888     -> PIXEL_FORMAT_ARGB
[I420] (No enum for this)      -> PIXEL_FORMAT_I420

BUG=chromium:894381
TEST=CtsMediaTestCases on eve

Change-Id: If95c40fd673603adaf4eb8e95afdf5142f59ad4c
Reviewed-on: https://chromium-review.googlesource.com/c/1301573
Commit-Queue: Hirokazu Honda <hiroh@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Cr-Commit-Position: refs/heads/master@{#603418}
2 files changed