diff options
author | jbauman <jbauman@chromium.org> | 2015-11-30 16:43:49 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-12-01 00:45:59 +0000 |
commit | 87e0b939e2a9e18079326e4d37ef9d7991a1059a (patch) | |
tree | 6ed409a3feb86f1a816ae37c241216f32aa885b0 /media/base/video_types.cc | |
parent | 92e28e54832687afef1c6e9968fcd4608be05db9 (diff) | |
download | chromium_src-87e0b939e2a9e18079326e4d37ef9d7991a1059a.zip chromium_src-87e0b939e2a9e18079326e4d37ef9d7991a1059a.tar.gz chromium_src-87e0b939e2a9e18079326e4d37ef9d7991a1059a.tar.bz2 |
Use XRGB for opaque hardware-decoded videos.
Detect whether the format passed in to GpuVideoDecoder is opaque, and if so use XRGB instead of ARGB to ensure that the video layer will be made opaque.
BUG=560634
Review URL: https://codereview.chromium.org/1473133002
Cr-Commit-Position: refs/heads/master@{#362291}
Diffstat (limited to 'media/base/video_types.cc')
-rw-r--r-- | media/base/video_types.cc | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/media/base/video_types.cc b/media/base/video_types.cc index b6b041e..e2f137d 100644 --- a/media/base/video_types.cc +++ b/media/base/video_types.cc @@ -72,4 +72,28 @@ bool IsYuvPlanar(VideoPixelFormat format) { return false; } +bool IsOpaque(VideoPixelFormat format) { + switch (format) { + case PIXEL_FORMAT_UNKNOWN: + case PIXEL_FORMAT_I420: + case PIXEL_FORMAT_YV12: + case PIXEL_FORMAT_YV16: + case PIXEL_FORMAT_YV24: + case PIXEL_FORMAT_NV12: + case PIXEL_FORMAT_NV21: + case PIXEL_FORMAT_UYVY: + case PIXEL_FORMAT_YUY2: + case PIXEL_FORMAT_XRGB: + case PIXEL_FORMAT_RGB24: + case PIXEL_FORMAT_MJPEG: + case PIXEL_FORMAT_MT21: + return true; + case PIXEL_FORMAT_YV12A: + case PIXEL_FORMAT_ARGB: + case PIXEL_FORMAT_RGB32: + break; + } + return false; +} + } // namespace media |