diff options
author | posciak <posciak@chromium.org> | 2015-01-09 18:19:59 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-01-10 02:20:56 +0000 |
commit | 25fab43c64f91869e0e10f5ff1b3ae84e1a51c0f (patch) | |
tree | fe058b90834060e7b975b54b1c3033438ad5a2d0 /media/mojo | |
parent | 0fc3a4ef697aa343510d94bdb9cdcb2165bd6787 (diff) | |
download | chromium_src-25fab43c64f91869e0e10f5ff1b3ae84e1a51c0f.zip chromium_src-25fab43c64f91869e0e10f5ff1b3ae84e1a51c0f.tar.gz chromium_src-25fab43c64f91869e0e10f5ff1b3ae84e1a51c0f.tar.bz2 |
Reland: V4L2VDA: Generalize EGLImage import and query driver for output formats.
Generalize CreateEGLImage() from being NV12M-specific to support any
format. Add a method to query whether current platform supports importing
a given V4L2/DRM format into EGLImages and use it in V4L2VDA.
Dynamically query the driver for supported V4L2 output formats and choose
one we can use for EGLImage import.
This has been reverted in https://codereview.chromium.org/809883004/, because
of a LOG(FATAL) that should have been a DVLOG(ERROR). Not finding a supported
DRM format is not fatal, since we are enumerating formats to find a suitable
one and should continue doing so when an unsupported format is found.
TBR=scherkus@chromium.org,kcwu@chromium.org,rkc@chromium.org,reveman@chromium.org, isherman@chromium.org,
TEST=Video playback for affected platforms
BUG=chromium:430638,chrome-os-partner:33728,chromium:350197
Review URL: https://codereview.chromium.org/845853005
Cr-Commit-Position: refs/heads/master@{#310941}
Diffstat (limited to 'media/mojo')
-rw-r--r-- | media/mojo/interfaces/media_types.mojom | 3 | ||||
-rw-r--r-- | media/mojo/services/media_type_converters.cc | 1 |
2 files changed, 3 insertions, 1 deletions
diff --git a/media/mojo/interfaces/media_types.mojom b/media/mojo/interfaces/media_types.mojom index 417bf97..c14a80e 100644 --- a/media/mojo/interfaces/media_types.mojom +++ b/media/mojo/interfaces/media_types.mojom @@ -100,7 +100,8 @@ enum VideoFormat { YV12J, NV12, YV24, - FORMAT_MAX = YV24, + ARGB, + FORMAT_MAX = ARGB, }; // See media/base/video_decoder_config.h for descriptions. diff --git a/media/mojo/services/media_type_converters.cc b/media/mojo/services/media_type_converters.cc index 8551eb2..5bd548d 100644 --- a/media/mojo/services/media_type_converters.cc +++ b/media/mojo/services/media_type_converters.cc @@ -142,6 +142,7 @@ ASSERT_ENUM_EQ_RAW(VideoFrame::Format, ASSERT_ENUM_EQ_RAW(VideoFrame::Format, VideoFrame::YV12J, VIDEO_FORMAT_YV12J); ASSERT_ENUM_EQ_RAW(VideoFrame::Format, VideoFrame::NV12, VIDEO_FORMAT_NV12); ASSERT_ENUM_EQ_RAW(VideoFrame::Format, VideoFrame::YV24, VIDEO_FORMAT_YV24); +ASSERT_ENUM_EQ_RAW(VideoFrame::Format, VideoFrame::ARGB, VIDEO_FORMAT_ARGB); ASSERT_ENUM_EQ_RAW(VideoFrame::Format, VideoFrame::FORMAT_MAX, VIDEO_FORMAT_FORMAT_MAX); |