commit | da284a92ea6d12fa0414247e8c771c1d02e106e0 | [log] [tgz] |
---|---|---|
author | Hirokazu Honda <hiroh@chromium.org> | Mon Oct 29 05:36:27 2018 |
committer | Commit Bot <commit-bot@chromium.org> | Mon Oct 29 05:36:27 2018 |
tree | 5f21faa08fc4b72059234628b10c3b757c2cfe4e | |
parent | 7e98ca90c784198bcdf3315d4a24a2a6195b5396 [diff] |
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}
Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.
The project's web site is https://www.chromium.org.
Documentation in the source is rooted in docs/README.md.
Learn how to Get Around the Chromium Source Code Directory Structure .