| Index: media/mojo/interfaces/media_types_typemap_traits.h
|
| diff --git a/media/mojo/interfaces/media_types_typemap_traits.h b/media/mojo/interfaces/media_types_typemap_traits.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..25094d36d8f7411834396613e2003506097e6e0e
|
| --- /dev/null
|
| +++ b/media/mojo/interfaces/media_types_typemap_traits.h
|
| @@ -0,0 +1,168 @@
|
| +// Copyright 2016 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#ifndef MEDIA_MOJO_INTERFACES_MEDIA_TYPES_TYPEMAP_TRAITS_H_
|
| +#define MEDIA_MOJO_INTERFACES_MEDIA_TYPES_TYPEMAP_TRAITS_H_
|
| +
|
| +#include "media/base/video_types.h"
|
| +#include "media/mojo/interfaces/media_types.mojom.h"
|
| +
|
| +namespace mojo {
|
| +
|
| +template <>
|
| +struct EnumTraits<media::mojom::VideoPixelFormat, media::VideoPixelFormat> {
|
| + static media::mojom::VideoPixelFormat ToMojom(media::VideoPixelFormat input) {
|
| + switch (input) {
|
| + case media::PIXEL_FORMAT_UNKNOWN:
|
| + return media::mojom::VideoPixelFormat::UNKNOWN;
|
| + case media::PIXEL_FORMAT_I420:
|
| + return media::mojom::VideoPixelFormat::I420;
|
| + case media::PIXEL_FORMAT_YV12:
|
| + return media::mojom::VideoPixelFormat::YV12;
|
| + case media::PIXEL_FORMAT_YV16:
|
| + return media::mojom::VideoPixelFormat::YV16;
|
| + case media::PIXEL_FORMAT_YV12A:
|
| + return media::mojom::VideoPixelFormat::YV12A;
|
| + case media::PIXEL_FORMAT_YV24:
|
| + return media::mojom::VideoPixelFormat::YV24;
|
| + case media::PIXEL_FORMAT_NV12:
|
| + return media::mojom::VideoPixelFormat::NV12;
|
| + case media::PIXEL_FORMAT_NV21:
|
| + return media::mojom::VideoPixelFormat::NV21;
|
| + case media::PIXEL_FORMAT_UYVY:
|
| + return media::mojom::VideoPixelFormat::UYVY;
|
| + case media::PIXEL_FORMAT_YUY2:
|
| + return media::mojom::VideoPixelFormat::YUY2;
|
| + case media::PIXEL_FORMAT_ARGB:
|
| + return media::mojom::VideoPixelFormat::ARGB;
|
| + case media::PIXEL_FORMAT_XRGB:
|
| + return media::mojom::VideoPixelFormat::XRGB;
|
| + case media::PIXEL_FORMAT_RGB24:
|
| + return media::mojom::VideoPixelFormat::RGB24;
|
| + case media::PIXEL_FORMAT_RGB32:
|
| + return media::mojom::VideoPixelFormat::RGB32;
|
| + case media::PIXEL_FORMAT_MJPEG:
|
| + return media::mojom::VideoPixelFormat::MJPEG;
|
| + case media::PIXEL_FORMAT_MT21:
|
| + return media::mojom::VideoPixelFormat::MT21;
|
| + case media::PIXEL_FORMAT_YUV420P9:
|
| + return media::mojom::VideoPixelFormat::YUV420P9;
|
| + case media::PIXEL_FORMAT_YUV420P10:
|
| + return media::mojom::VideoPixelFormat::YUV420P10;
|
| + case media::PIXEL_FORMAT_YUV422P9:
|
| + return media::mojom::VideoPixelFormat::YUV422P9;
|
| + case media::PIXEL_FORMAT_YUV422P10:
|
| + return media::mojom::VideoPixelFormat::YUV422P10;
|
| + case media::PIXEL_FORMAT_YUV444P9:
|
| + return media::mojom::VideoPixelFormat::YUV444P9;
|
| + case media::PIXEL_FORMAT_YUV444P10:
|
| + return media::mojom::VideoPixelFormat::YUV444P10;
|
| + case media::PIXEL_FORMAT_YUV420P12:
|
| + return media::mojom::VideoPixelFormat::YUV420P12;
|
| + case media::PIXEL_FORMAT_YUV422P12:
|
| + return media::mojom::VideoPixelFormat::YUV422P12;
|
| + case media::PIXEL_FORMAT_YUV444P12:
|
| + return media::mojom::VideoPixelFormat::YUV444P12;
|
| + case media::PIXEL_FORMAT_Y8:
|
| + return media::mojom::VideoPixelFormat::Y8;
|
| + case media::PIXEL_FORMAT_Y16:
|
| + return media::mojom::VideoPixelFormat::Y16;
|
| + }
|
| + NOTREACHED();
|
| + return media::mojom::VideoPixelFormat::UNKNOWN;
|
| + }
|
| +
|
| + static bool FromMojom(media::mojom::VideoPixelFormat input,
|
| + media::VideoPixelFormat* output) {
|
| + switch (input) {
|
| + case media::mojom::VideoPixelFormat::UNKNOWN:
|
| + *output = media::PIXEL_FORMAT_UNKNOWN;
|
| + return true;
|
| + case media::mojom::VideoPixelFormat::I420:
|
| + *output = media::PIXEL_FORMAT_I420;
|
| + return true;
|
| + case media::mojom::VideoPixelFormat::YV12:
|
| + *output = media::PIXEL_FORMAT_YV12;
|
| + return true;
|
| + case media::mojom::VideoPixelFormat::YV16:
|
| + *output = media::PIXEL_FORMAT_YV16;
|
| + return true;
|
| + case media::mojom::VideoPixelFormat::YV12A:
|
| + *output = media::PIXEL_FORMAT_YV12A;
|
| + return true;
|
| + case media::mojom::VideoPixelFormat::YV24:
|
| + *output = media::PIXEL_FORMAT_YV24;
|
| + return true;
|
| + case media::mojom::VideoPixelFormat::NV12:
|
| + *output = media::PIXEL_FORMAT_NV12;
|
| + return true;
|
| + case media::mojom::VideoPixelFormat::NV21:
|
| + *output = media::PIXEL_FORMAT_NV21;
|
| + return true;
|
| + case media::mojom::VideoPixelFormat::UYVY:
|
| + *output = media::PIXEL_FORMAT_UYVY;
|
| + return true;
|
| + case media::mojom::VideoPixelFormat::YUY2:
|
| + *output = media::PIXEL_FORMAT_YUY2;
|
| + return true;
|
| + case media::mojom::VideoPixelFormat::ARGB:
|
| + *output = media::PIXEL_FORMAT_ARGB;
|
| + return true;
|
| + case media::mojom::VideoPixelFormat::XRGB:
|
| + *output = media::PIXEL_FORMAT_XRGB;
|
| + return true;
|
| + case media::mojom::VideoPixelFormat::RGB24:
|
| + *output = media::PIXEL_FORMAT_RGB24;
|
| + return true;
|
| + case media::mojom::VideoPixelFormat::RGB32:
|
| + *output = media::PIXEL_FORMAT_RGB32;
|
| + return true;
|
| + case media::mojom::VideoPixelFormat::MJPEG:
|
| + *output = media::PIXEL_FORMAT_MJPEG;
|
| + return true;
|
| + case media::mojom::VideoPixelFormat::MT21:
|
| + *output = media::PIXEL_FORMAT_MT21;
|
| + return true;
|
| + case media::mojom::VideoPixelFormat::YUV420P9:
|
| + *output = media::PIXEL_FORMAT_YUV420P9;
|
| + return true;
|
| + case media::mojom::VideoPixelFormat::YUV420P10:
|
| + *output = media::PIXEL_FORMAT_YUV420P10;
|
| + return true;
|
| + case media::mojom::VideoPixelFormat::YUV422P9:
|
| + *output = media::PIXEL_FORMAT_YUV422P9;
|
| + return true;
|
| + case media::mojom::VideoPixelFormat::YUV422P10:
|
| + *output = media::PIXEL_FORMAT_YUV422P10;
|
| + return true;
|
| + case media::mojom::VideoPixelFormat::YUV444P9:
|
| + *output = media::PIXEL_FORMAT_YUV444P9;
|
| + return true;
|
| + case media::mojom::VideoPixelFormat::YUV444P10:
|
| + *output = media::PIXEL_FORMAT_YUV444P10;
|
| + return true;
|
| + case media::mojom::VideoPixelFormat::YUV420P12:
|
| + *output = media::PIXEL_FORMAT_YUV420P12;
|
| + return true;
|
| + case media::mojom::VideoPixelFormat::YUV422P12:
|
| + *output = media::PIXEL_FORMAT_YUV422P12;
|
| + return true;
|
| + case media::mojom::VideoPixelFormat::YUV444P12:
|
| + *output = media::PIXEL_FORMAT_YUV444P12;
|
| + return true;
|
| + case media::mojom::VideoPixelFormat::Y8:
|
| + *output = media::PIXEL_FORMAT_Y8;
|
| + return true;
|
| + case media::mojom::VideoPixelFormat::Y16:
|
| + *output = media::PIXEL_FORMAT_Y16;
|
| + return true;
|
| + }
|
| + NOTREACHED();
|
| + return false;
|
| + }
|
| +};
|
| +
|
| +} // namespace mojo
|
| +
|
| +#endif // MEDIA_MOJO_INTERFACES_MEDIA_TYPES_TYPEMAP_TRAITS_H_
|
|
|