summaryrefslogtreecommitdiffstats
path: root/media/mojo
diff options
context:
space:
mode:
authorposciak <posciak@chromium.org>2015-01-09 18:19:59 -0800
committerCommit bot <commit-bot@chromium.org>2015-01-10 02:20:56 +0000
commit25fab43c64f91869e0e10f5ff1b3ae84e1a51c0f (patch)
treefe058b90834060e7b975b54b1c3033438ad5a2d0 /media/mojo
parent0fc3a4ef697aa343510d94bdb9cdcb2165bd6787 (diff)
downloadchromium_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.mojom3
-rw-r--r--media/mojo/services/media_type_converters.cc1
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);